diff --git a/go.mod b/go.mod index 9f76ba19e..201bdd375 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ module github.com/netobserv/flowlogs-pipeline -go 1.24.0 +go 1.24.2 -toolchain go1.24.4 +toolchain go1.25.1 require ( github.com/Knetic/govaluate v3.0.1-0.20250325060307-7625b7f8c03d+incompatible @@ -11,7 +11,7 @@ require ( github.com/go-kit/kit v0.13.0 github.com/golang/snappy v1.0.0 github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb - github.com/ip2location/ip2location-go/v9 v9.7.1 + github.com/ip2location/ip2location-go/v9 v9.8.0 github.com/json-iterator/go v1.1.12 github.com/mariomac/guara v0.0.0-20250408105519-1e4dbdfb7136 github.com/minio/minio-go/v7 v7.0.95 @@ -21,26 +21,26 @@ require ( github.com/netobserv/netobserv-ebpf-agent v1.9.1-community github.com/netsampler/goflow2 v1.3.7 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.23.0 + github.com/prometheus/client_golang v1.23.1 github.com/prometheus/client_model v0.6.2 - github.com/prometheus/common v0.65.0 + github.com/prometheus/common v0.66.0 github.com/segmentio/kafka-go v0.4.49 github.com/sirupsen/logrus v1.9.3 - github.com/spf13/cobra v1.9.1 - github.com/spf13/pflag v1.0.9 + github.com/spf13/cobra v1.10.1 + github.com/spf13/pflag v1.0.10 github.com/spf13/viper v1.20.1 - github.com/stretchr/testify v1.10.0 + github.com/stretchr/testify v1.11.1 github.com/vladimirvivien/gexe v0.5.0 - github.com/vmware/go-ipfix v0.15.0 - go.opentelemetry.io/otel v1.37.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.37.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0 - go.opentelemetry.io/otel/metric v1.37.0 - go.opentelemetry.io/otel/sdk v1.37.0 - go.opentelemetry.io/otel/sdk/metric v1.37.0 + github.com/vmware/go-ipfix v0.16.0 + go.opentelemetry.io/otel v1.38.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 + go.opentelemetry.io/otel/metric v1.38.0 + go.opentelemetry.io/otel/sdk v1.38.0 + go.opentelemetry.io/otel/sdk/metric v1.38.0 golang.org/x/net v0.43.0 google.golang.org/grpc v1.75.0 google.golang.org/protobuf v1.36.8 @@ -52,8 +52,20 @@ require ( ) require ( + github.com/go-openapi/swag/cmdutils v0.24.0 // indirect + github.com/go-openapi/swag/conv v0.24.0 // indirect + github.com/go-openapi/swag/fileutils v0.24.0 // indirect + github.com/go-openapi/swag/jsonname v0.24.0 // indirect + github.com/go-openapi/swag/jsonutils v0.24.0 // indirect + github.com/go-openapi/swag/loading v0.24.0 // indirect + github.com/go-openapi/swag/mangling v0.24.0 // indirect + github.com/go-openapi/swag/netutils v0.24.0 // indirect + github.com/go-openapi/swag/stringutils v0.24.0 // indirect + github.com/go-openapi/swag/typeutils v0.24.0 // indirect + github.com/go-openapi/swag/yamlutils v0.24.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect + sigs.k8s.io/knftables v0.0.18 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect ) @@ -61,19 +73,19 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cenkalti/backoff/v5 v5.0.2 // indirect + github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cenkalti/hub v1.0.2 // indirect github.com/cenkalti/rpc2 v0.0.0-20210604223624-c1acbc6ec984 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cilium/ebpf v0.19.0 // indirect - github.com/containernetworking/cni v1.1.2 // indirect - github.com/containernetworking/plugins v1.2.0 // indirect - github.com/coreos/go-iptables v0.6.0 // indirect + github.com/containernetworking/cni v1.3.0 // indirect + github.com/containernetworking/plugins v1.8.0 // indirect + github.com/coreos/go-iptables v0.8.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dennwc/varint v1.0.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/emicklei/go-restful/v3 v3.12.2 // indirect + github.com/emicklei/go-restful/v3 v3.13.0 // indirect github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fxamacker/cbor/v2 v2.9.0 // indirect @@ -83,29 +95,29 @@ require ( github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-openapi/jsonpointer v0.21.1 // indirect - github.com/go-openapi/jsonreference v0.21.0 // indirect - github.com/go-openapi/swag v0.23.1 // indirect + github.com/go-openapi/jsonpointer v0.22.0 // indirect + github.com/go-openapi/jsonreference v0.21.1 // indirect + github.com/go-openapi/swag v0.24.1 // indirect github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/goccy/go-json v0.10.5 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-cmp v0.7.0 // indirect - github.com/google/go-jsonnet v0.20.0 + github.com/google/go-jsonnet v0.21.0 github.com/google/uuid v1.6.0 // indirect github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/klauspost/compress v1.18.0 // indirect - github.com/klauspost/cpuid/v2 v2.2.11 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/libp2p/go-reuseport v0.4.0 // indirect github.com/mailru/easyjson v0.9.0 // indirect github.com/mdlayher/ethernet v0.0.0-20220221185849-529eae5b6118 // indirect - github.com/minio/crc64nvme v1.0.2 // indirect + github.com/minio/crc64nvme v1.1.1 // indirect github.com/minio/md5-simd v1.1.2 // indirect github.com/moby/spdystream v0.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -119,59 +131,58 @@ require ( github.com/philhofer/fwd v1.2.0 // indirect github.com/pierrec/lz4/v4 v4.1.22 // indirect github.com/pion/dtls/v2 v2.2.12 // indirect - github.com/pion/logging v0.2.3 // indirect + github.com/pion/logging v0.2.4 // indirect github.com/pion/transport/v2 v2.2.10 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/procfs v0.16.1 // indirect - github.com/prometheus/prometheus v0.304.0 // indirect + github.com/prometheus/procfs v0.17.0 // indirect + github.com/prometheus/prometheus v0.305.0 // indirect github.com/rs/xid v1.6.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/safchain/ethtool v0.5.10 // indirect - github.com/sagikazarmark/locafero v0.9.0 // indirect - github.com/sourcegraph/conc v0.3.0 // indirect + github.com/safchain/ethtool v0.6.2 // indirect + github.com/sagikazarmark/locafero v0.10.0 // indirect + github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect github.com/spf13/afero v1.14.0 // indirect - github.com/spf13/cast v1.7.1 // indirect + github.com/spf13/cast v1.9.2 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/tinylib/msgp v1.3.0 // indirect - github.com/urfave/cli/v2 v2.27.6 // indirect - github.com/vishvananda/netlink v1.3.1-0.20250425193846-9d88d8385bf9 // indirect + github.com/tinylib/msgp v1.4.0 // indirect + github.com/urfave/cli/v2 v2.27.7 // indirect + github.com/vishvananda/netlink v1.3.1 // indirect github.com/vishvananda/netns v0.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect - github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect + github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel/trace v1.37.0 // indirect - go.opentelemetry.io/proto/otlp v1.7.0 // indirect + go.opentelemetry.io/otel/trace v1.38.0 // indirect + go.opentelemetry.io/proto/otlp v1.8.0 // indirect go.uber.org/atomic v1.11.0 // indirect - go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect + golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b // indirect golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/sys v0.35.0 // indirect golang.org/x/term v0.34.0 // indirect golang.org/x/text v0.28.0 // indirect - golang.org/x/time v0.11.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect + golang.org/x/time v0.12.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250826171959-ef028d996bc1 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250826171959-ef028d996bc1 // indirect gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 // indirect - gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect + gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/gcfg.v1 v1.2.3 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/component-base v0.32.3 // indirect + k8s.io/component-base v0.34.0 // indirect k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect - k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect + k8s.io/kube-openapi v0.0.0-20250902184714-7fc278399c7f // indirect + k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d // indirect lukechampine.com/uint128 v1.3.0 // indirect - sigs.k8s.io/controller-runtime v0.20.4 // indirect - sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect + sigs.k8s.io/controller-runtime v0.22.0 // indirect + sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) -replace github.com/vmware/go-ipfix => github.com/jotak/go-ipfix v0.0.0-20250708115123-407c539ea101 +replace github.com/vmware/go-ipfix => github.com/jotak/go-ipfix v0.0.0-20250616210357-961f78e9fa2d diff --git a/go.sum b/go.sum index e3e8f5f99..98fae2b9d 100644 --- a/go.sum +++ b/go.sum @@ -1,29 +1,55 @@ -cloud.google.com/go/auth v0.16.0 h1:Pd8P1s9WkcrBE2n/PhAwKsdrR35V3Sg2II9B+ndM3CU= -cloud.google.com/go/auth v0.16.0/go.mod h1:1howDHJ5IETh/LwYs3ZxvlkXF48aSqqJUM+5o02dNOI= +cloud.google.com/go/auth v0.16.2 h1:QvBAGFPLrDeoiNjyfVunhQ10HKNYuOwZ5noee0M5df4= +cloud.google.com/go/auth v0.16.2/go.mod h1:sRBas2Y1fB1vZTdurouM0AzuYQBMZinrUYL8EufhtEA= cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= cloud.google.com/go/compute/metadata v0.7.0 h1:PBWF+iiAerVNe8UCHxdOt6eHLVc3ydFeOCw78U8ytSU= cloud.google.com/go/compute/metadata v0.7.0/go.mod h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0 h1:Gt0j3wceWMwPmiazCa8MzMA0MfhmPIz0Qp0FJ6qcM0U= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0/go.mod h1:Ot/6aikWnKWi4l9QB7qVSwa8iMphQNqkWALMoNT3rzM= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.9.0 h1:OVoM452qUFBrX+URdH3VpR299ma4kfom0yB0URYky9g= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.9.0/go.mod h1:kUjrAo8bgEwLeZ/CmHqNl3Z/kPm7y6FKfxxK0izYUg4= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.1 h1:B+blDbyVIG3WaikNxPnhPiJ1MThR03b3vKGtER95TP4= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.1/go.mod h1:JdM5psgjfBf5fo2uWOZhflPWyDBZ/O/CNAH9CtsuZE4= github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 h1:FPKJS1T+clwv+OLGt13a8UjqeRuh0O4SJ3lUriThc+4= github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1/go.mod h1:j2chePtV91HrC22tGoRX3sGY42uF13WzmmV80/OdVAA= github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2 h1:oygO0locgZJe7PpYPXT5A29ZkwJaPqcva7BVeemZOZs= github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/Knetic/govaluate v3.0.1-0.20250325060307-7625b7f8c03d+incompatible h1:PQkGQvISFXAw+Lkmcyd5OUGDVtdQdY1u0CIDjDbBg64= github.com/Knetic/govaluate v3.0.1-0.20250325060307-7625b7f8c03d+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/agoda-com/opentelemetry-logs-go v0.6.0 h1:PdnNbW2a5vp4VWasIGVHJ85/4Eu0kZfLs3ySuitLN20= github.com/agoda-com/opentelemetry-logs-go v0.6.0/go.mod h1:zPrxWeyxZ8QRWJFNBFJ2zeWjJu0OuGG+Ow4KYEGEA5o= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= -github.com/alexflint/go-filemutex v1.2.0 h1:1v0TJPDtlhgpW4nJ+GvxCLSlUDC3+gW0CQQvlmfDR/s= -github.com/alexflint/go-filemutex v1.2.0/go.mod h1:mYyQSWvw9Tx2/H2n9qXPb52tTYfE0pZAWcBq5mK025c= +github.com/alexflint/go-filemutex v1.3.0 h1:LgE+nTUWnQCyRKbpoceKZsPQbs84LivvgwUymZXdOcM= +github.com/alexflint/go-filemutex v1.3.0/go.mod h1:U0+VA/i30mGBlLCrFPGtTe9y6wGQfNAWPBTekHQ+c8A= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aws/aws-sdk-go v1.55.7 h1:UJrkFq7es5CShfBwlWAC8DA077vp8PyVbQd3lqLiztE= -github.com/aws/aws-sdk-go v1.55.7/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go-v2 v1.36.3 h1:mJoei2CxPutQVxaATCzDUjcZEjVRdpsiiXi2o38yqWM= +github.com/aws/aws-sdk-go-v2 v1.36.3/go.mod h1:LLXuLpgzEbD766Z5ECcRmi8AzSwfZItDtmABVkRLGzg= +github.com/aws/aws-sdk-go-v2/config v1.29.14 h1:f+eEi/2cKCg9pqKBoAIwRGzVb70MRKqWX4dg1BDcSJM= +github.com/aws/aws-sdk-go-v2/config v1.29.14/go.mod h1:wVPHWcIFv3WO89w0rE10gzf17ZYy+UVS1Geq8Iei34g= +github.com/aws/aws-sdk-go-v2/credentials v1.17.67 h1:9KxtdcIA/5xPNQyZRgUSpYOE6j9Bc4+D7nZua0KGYOM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.67/go.mod h1:p3C44m+cfnbv763s52gCqrjaqyPikj9Sg47kUVaNZQQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 h1:x793wxmUWVDhshP8WW2mlnXuFrO4cOd3HLBroh1paFw= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30/go.mod h1:Jpne2tDnYiFascUEs2AWHJL9Yp7A5ZVy3TNyxaAjD6M= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 h1:ZK5jHhnrioRkUNOc+hOgQKlUL5JeC3S6JgLxtQ+Rm0Q= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34/go.mod h1:p4VfIceZokChbA9FzMbRGz5OV+lekcVtHlPKEO0gSZY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 h1:SZwFm17ZUNNg5Np0ioo/gq8Mn6u9w19Mri8DnJ15Jf0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34/go.mod h1:dFZsC0BLo346mvKQLWmoJxT+Sjp+qcVR1tRVHQGOH9Q= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 h1:eAh2A4b5IzM/lum78bZ590jy36+d/aFLgKF/4Vd1xPE= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3/go.mod h1:0yKJC/kb8sAnmlYa6Zs3QVYqaC8ug2AbnNChv5Ox3uA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 h1:dM9/92u2F1JbDaGooxTq18wmmFzbJRfXfVfy96/1CXM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15/go.mod h1:SwFBy2vjtA0vZbjjaFtfN045boopadnoVPhu4Fv66vY= +github.com/aws/aws-sdk-go-v2/service/sso v1.25.3 h1:1Gw+9ajCV1jogloEv1RRnvfRFia2cL6c9cuKV2Ps+G8= +github.com/aws/aws-sdk-go-v2/service/sso v1.25.3/go.mod h1:qs4a9T5EMLl/Cajiw2TcbNt2UNo/Hqlyp+GiuG4CFDI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1 h1:hXmVKytPfTy5axZ+fYbR5d0cFmC3JvwLm5kM83luako= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1/go.mod h1:MlYRNmYu/fGPoxBQVvBYr9nyr948aY/WLUvwBMBJubs= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.19 h1:1XuUZ8mYJw9B6lzAkXhqHlJd/XvaX32evhproijJEZY= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.19/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4= +github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= +github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3/go.mod h1:CIWtjkly68+yqLPbvwwR/fjNJA/idrtULjZWh2v1ys0= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= @@ -36,25 +62,22 @@ github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= -github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cenkalti/hub v1.0.2 h1:Nqv9TNaA9boeO2wQFW8o87BY3zKthtnzXmWGmJqhAV8= github.com/cenkalti/hub v1.0.2/go.mod h1:8LAFAZcCasb83vfxatMUnZHRoQcffho2ELpHb+kaTJU= github.com/cenkalti/rpc2 v0.0.0-20210604223624-c1acbc6ec984 h1:CNwZyGS6KpfaOWbh2yLkSy3rSTUh3jub9CzpFpP6PVQ= github.com/cenkalti/rpc2 v0.0.0-20210604223624-c1acbc6ec984/go.mod h1:v2npkhrXyk5BCnkNIiPdRI23Uq6uWPUQGL2hnRcRr/M= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/cilium/ebpf v0.19.0 h1:Ro/rE64RmFBeA9FGjcTc+KmCeY6jXmryu6FfnzPRIao= github.com/cilium/ebpf v0.19.0/go.mod h1:fLCgMo3l8tZmAdM3B2XqdFzXBpwkcSTroaVqN08OWVY= -github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= -github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -github.com/containernetworking/plugins v1.2.0 h1:SWgg3dQG1yzUo4d9iD8cwSVh1VqI+bP7mkPDoSfP9VU= -github.com/containernetworking/plugins v1.2.0/go.mod h1:/VjX4uHecW5vVimFa1wkG4s+r/s9qIfPdqlLF4TW8c4= -github.com/coreos/go-iptables v0.6.0 h1:is9qnZMPYjLd8LYqmm/qlE+wwEgJIkTYdhV3rfZo4jk= -github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/containernetworking/cni v1.3.0 h1:v6EpN8RznAZj9765HhXQrtXgX+ECGebEYEmnuFjskwo= +github.com/containernetworking/cni v1.3.0/go.mod h1:Bs8glZjjFfGPHMw6hQu82RUgEPNGEaBb9KS5KtNMnJ4= +github.com/containernetworking/plugins v1.8.0 h1:WjGbV/0UQyo8A4qBsAh6GaDAtu1hevxVxsEuqtBqUFk= +github.com/containernetworking/plugins v1.8.0/go.mod h1:JG3BxoJifxxHBhG3hFyxyhid7JgRVBu/wtooGEvWf1c= +github.com/coreos/go-iptables v0.8.0 h1:MPc2P89IhuVpLI7ETL/2tx3XZ61VeICZjYqDEgNsPRc= +github.com/coreos/go-iptables v0.8.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= @@ -66,16 +89,14 @@ github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= -github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= +github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= @@ -99,16 +120,36 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= -github.com/go-openapi/jsonpointer v0.21.1 h1:whnzv/pNXtK2FbX/W9yJfRmE2gsmkfahjMKB0fZvcic= -github.com/go-openapi/jsonpointer v0.21.1/go.mod h1:50I1STOfbY1ycR8jGz8DaMeLCdXiI6aDteEdRNNzpdk= -github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= -github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= -github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZU= -github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0= +github.com/go-openapi/jsonpointer v0.22.0 h1:TmMhghgNef9YXxTu1tOopo+0BGEytxA+okbry0HjZsM= +github.com/go-openapi/jsonpointer v0.22.0/go.mod h1:xt3jV88UtExdIkkL7NloURjRQjbeUgcxFblMjq2iaiU= +github.com/go-openapi/jsonreference v0.21.1 h1:bSKrcl8819zKiOgxkbVNRUBIr6Wwj9KYrDbMjRs0cDA= +github.com/go-openapi/jsonreference v0.21.1/go.mod h1:PWs8rO4xxTUqKGu+lEvvCxD5k2X7QYkKAepJyCmSTT8= +github.com/go-openapi/swag v0.24.1 h1:DPdYTZKo6AQCRqzwr/kGkxJzHhpKxZ9i/oX0zag+MF8= +github.com/go-openapi/swag v0.24.1/go.mod h1:sm8I3lCPlspsBBwUm1t5oZeWZS0s7m/A+Psg0ooRU0A= +github.com/go-openapi/swag/cmdutils v0.24.0 h1:KlRCffHwXFI6E5MV9n8o8zBRElpY4uK4yWyAMWETo9I= +github.com/go-openapi/swag/cmdutils v0.24.0/go.mod h1:uxib2FAeQMByyHomTlsP8h1TtPd54Msu2ZDU/H5Vuf8= +github.com/go-openapi/swag/conv v0.24.0 h1:ejB9+7yogkWly6pnruRX45D1/6J+ZxRu92YFivx54ik= +github.com/go-openapi/swag/conv v0.24.0/go.mod h1:jbn140mZd7EW2g8a8Y5bwm8/Wy1slLySQQ0ND6DPc2c= +github.com/go-openapi/swag/fileutils v0.24.0 h1:U9pCpqp4RUytnD689Ek/N1d2N/a//XCeqoH508H5oak= +github.com/go-openapi/swag/fileutils v0.24.0/go.mod h1:3SCrCSBHyP1/N+3oErQ1gP+OX1GV2QYFSnrTbzwli90= +github.com/go-openapi/swag/jsonname v0.24.0 h1:2wKS9bgRV/xB8c62Qg16w4AUiIrqqiniJFtZGi3dg5k= +github.com/go-openapi/swag/jsonname v0.24.0/go.mod h1:GXqrPzGJe611P7LG4QB9JKPtUZ7flE4DOVechNaDd7Q= +github.com/go-openapi/swag/jsonutils v0.24.0 h1:F1vE1q4pg1xtO3HTyJYRmEuJ4jmIp2iZ30bzW5XgZts= +github.com/go-openapi/swag/jsonutils v0.24.0/go.mod h1:vBowZtF5Z4DDApIoxcIVfR8v0l9oq5PpYRUuteVu6f0= +github.com/go-openapi/swag/loading v0.24.0 h1:ln/fWTwJp2Zkj5DdaX4JPiddFC5CHQpvaBKycOlceYc= +github.com/go-openapi/swag/loading v0.24.0/go.mod h1:gShCN4woKZYIxPxbfbyHgjXAhO61m88tmjy0lp/LkJk= +github.com/go-openapi/swag/mangling v0.24.0 h1:PGOQpViCOUroIeak/Uj/sjGAq9LADS3mOyjznmHy2pk= +github.com/go-openapi/swag/mangling v0.24.0/go.mod h1:Jm5Go9LHkycsz0wfoaBDkdc4CkpuSnIEf62brzyCbhc= +github.com/go-openapi/swag/netutils v0.24.0 h1:Bz02HRjYv8046Ycg/w80q3g9QCWeIqTvlyOjQPDjD8w= +github.com/go-openapi/swag/netutils v0.24.0/go.mod h1:WRgiHcYTnx+IqfMCtu0hy9oOaPR0HnPbmArSRN1SkZM= +github.com/go-openapi/swag/stringutils v0.24.0 h1:i4Z/Jawf9EvXOLUbT97O0HbPUja18VdBxeadyAqS1FM= +github.com/go-openapi/swag/stringutils v0.24.0/go.mod h1:5nUXB4xA0kw2df5PRipZDslPJgJut+NjL7D25zPZ/4w= +github.com/go-openapi/swag/typeutils v0.24.0 h1:d3szEGzGDf4L2y1gYOSSLeK6h46F+zibnEas2Jm/wIw= +github.com/go-openapi/swag/typeutils v0.24.0/go.mod h1:q8C3Kmk/vh2VhpCLaoR2MVWOGP8y7Jc8l82qCTd1DYI= +github.com/go-openapi/swag/yamlutils v0.24.0 h1:bhw4894A7Iw6ne+639hsBNRHg9iZg/ISrOVr+sJGp4c= +github.com/go-openapi/swag/yamlutils v0.24.0/go.mod h1:DpKv5aYuaGm/sULePoeiG8uwMpZSfReo1HR3Ik0yaG8= github.com/go-quicktest/qt v1.101.1-0.20240301121107-c6c8733fa1e6 h1:teYtXy9B7y5lHTp8V9KPxpYRAVA7dozigQcMiBust1s= github.com/go-quicktest/qt v1.101.1-0.20240301121107-c6c8733fa1e6/go.mod h1:p4lGIVX+8Wa6ZPNDvqcxq36XpUDLh42FLetFU7odllI= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= @@ -119,66 +160,48 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8= github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/go-jsonnet v0.20.0 h1:WG4TTSARuV7bSm4PMB4ohjxe33IHT5WVTrJSU33uT4g= -github.com/google/go-jsonnet v0.20.0/go.mod h1:VbgWF9JX7ztlv770x/TolZNGGFfiHEVx9G6ca2eUmeA= +github.com/google/go-jsonnet v0.21.0 h1:43Bk3K4zMRP/aAZm9Po2uSEjY6ALCkYUVIcz9HLGMvA= +github.com/google/go-jsonnet v0.21.0/go.mod h1:tCGAu8cpUpEZcdGMmdOu37nh8bGgqubhI5v2iSk3KJQ= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6 h1:EEHtgt9IwisQ2AZ4pIsMjahcegHh6rmhqxzIRQIyepY= +github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU9uHLo7OnF5tL52HFAgMmyrf4= github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= -github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q= -github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA= +github.com/googleapis/gax-go/v2 v2.14.2 h1:eBLnkZ9635krYIPD+ag1USrOAI0Nr0QYF3+/3GqO0k0= +github.com/googleapis/gax-go/v2 v2.14.2/go.mod h1:ON64QhlJkhVtSqp4v1uaK92VyZ2gmvDQsweuyLV+8+w= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb h1:tsEKRC3PU9rMw18w/uAptoijhgG4EvlA5kfJPtwrMDk= github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb/go.mod h1:NtmN9h8vrTveVQRLHcX2HQ5wIPBDCsZ351TGbZWgg38= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/ip2location/ip2location-go/v9 v9.7.1 h1:eXu/DqS13QE0h1Yrc9oji+6/anLD9KDf6Ulf5GdIQs8= -github.com/ip2location/ip2location-go/v9 v9.7.1/go.mod h1:MPLnsKxwQlvd2lBNcQCsLoyzJLDBFizuO67wXXdzoyI= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/ip2location/ip2location-go/v9 v9.8.0 h1:drPzGjj1EBl45I33ErMHFtIfsQ3mR85dAQbqMDbi9mc= +github.com/ip2location/ip2location-go/v9 v9.8.0/go.mod h1:MPLnsKxwQlvd2lBNcQCsLoyzJLDBFizuO67wXXdzoyI= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/josharian/native v1.0.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA= github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= -github.com/jotak/go-ipfix v0.0.0-20250708115123-407c539ea101 h1:tpaHjydMAy2MTukKIUAVK4xIFUpL12xuexA0FuTVpuo= -github.com/jotak/go-ipfix v0.0.0-20250708115123-407c539ea101/go.mod h1:GgFbcmEGqMQfA7jDC9UVLKAelNh2sy1jsxyV7Tor3Ig= +github.com/jotak/go-ipfix v0.0.0-20250616210357-961f78e9fa2d h1:olMxPw3W9hQ3xwO0JtMk7WZPBo38Pmwisn4dZ5hEM0o= +github.com/jotak/go-ipfix v0.0.0-20250616210357-961f78e9fa2d/go.mod h1:GgFbcmEGqMQfA7jDC9UVLKAelNh2sy1jsxyV7Tor3Ig= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -198,8 +221,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.11 h1:0OwqZRYI2rFrjS4kvkDnqJkKHdHaRnCm68/DY4OxRzU= -github.com/klauspost/cpuid/v2 v2.2.11/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -208,6 +231,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/libp2p/go-reuseport v0.4.0 h1:nR5KU7hD0WxXCJbmw7r2rhRYruNRl2koHw8fQscQm2s= github.com/libp2p/go-reuseport v0.4.0/go.mod h1:ZtI03j/wO5hZVDFo2jKywN6bYKWLOy8Se6DrI2E1cLU= +github.com/lithammer/dedent v1.1.0 h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffktY= +github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/mariomac/guara v0.0.0-20250408105519-1e4dbdfb7136 h1:SOKpjp57SUaZeXPA+wIXTIDByfs65cr1FamFsjzT8Ic= @@ -218,17 +243,18 @@ github.com/mdlayher/ethernet v0.0.0-20220221185849-529eae5b6118 h1:2oDp6OOhLxQ9J github.com/mdlayher/ethernet v0.0.0-20220221185849-529eae5b6118/go.mod h1:ZFUnHIVchZ9lJoWoEGUg8Q3M4U8aNNWA3CVSUTkW4og= github.com/mdlayher/ndp v1.0.1 h1:+yAD79/BWyFlvAoeG5ncPS0ItlHP/eVbH7bQ6/+LVA4= github.com/mdlayher/ndp v1.0.1/go.mod h1:rf3wKaWhAYJEXFKpgF8kQ2AxypxVbfNcZbqoAo6fVzk= -github.com/mdlayher/packet v1.0.0 h1:InhZJbdShQYt6XV2GPj5XHxChzOfhJJOMbvnGAmOfQ8= github.com/mdlayher/packet v1.0.0/go.mod h1:eE7/ctqDhoiRhQ44ko5JZU2zxB88g+JH/6jmnjzPjOU= +github.com/mdlayher/packet v1.1.2 h1:3Up1NG6LZrsgDVn6X4L9Ge/iyRyxFEFD9o6Pr3Q1nQY= +github.com/mdlayher/packet v1.1.2/go.mod h1:GEu1+n9sG5VtiRE4SydOmX5GTwyyYlteZiFU+x0kew4= github.com/mdlayher/socket v0.2.1/go.mod h1:QLlNPkFR88mRUNQIzRBMfXxwKal8H7u1h3bL1CV+f0E= -github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U= -github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA= +github.com/mdlayher/socket v0.5.1 h1:VZaqt6RkGkt2OE9l3GcC6nZkqD3xKeQLyfleW/uBcos= +github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= github.com/metallb/frr-k8s v0.0.15 h1:6M3UGhovX1EFoaSGjrRD7djUAx3w2I+g81FH8OVtHkM= github.com/metallb/frr-k8s v0.0.15/go.mod h1:TjrGoAf+v00hYGlI8jUdyDxY5udMAOs2GWwrvLWnA4E= -github.com/miekg/dns v1.1.65 h1:0+tIPHzUW0GCge7IiK3guGP57VAw7hoPDfApjkMD1Fc= -github.com/miekg/dns v1.1.65/go.mod h1:Dzw9769uoKVaLuODMDZz9M6ynFU6Em65csPuoi8G0ck= -github.com/minio/crc64nvme v1.0.2 h1:6uO1UxGAD+kwqWWp7mBFsi5gAse66C4NXO8cmcVculg= -github.com/minio/crc64nvme v1.0.2/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg= +github.com/miekg/dns v1.1.66 h1:FeZXOS3VCVsKnEAd+wBkjMC3D2K+ww66Cq3VnCINuJE= +github.com/miekg/dns v1.1.66/go.mod h1:jGFzBsSNbJw6z1HYut1RKBKHA9PBdxeHrZG8J+gC2WE= +github.com/minio/crc64nvme v1.1.1 h1:8dwx/Pz49suywbO+auHCBpCtlW1OfpcLN7wYgVR6wAI= +github.com/minio/crc64nvme v1.1.1/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= github.com/minio/minio-go/v7 v7.0.95 h1:ywOUPg+PebTMTzn9VDsoFJy32ZuARN9zhB+K3IYEvYU= @@ -261,25 +287,13 @@ github.com/netobserv/netobserv-ebpf-agent v1.9.1-community h1:l50a9N/d6n8QtpEOyR github.com/netobserv/netobserv-ebpf-agent v1.9.1-community/go.mod h1:U9PSiTTI9htDHQ04u4/RibleTcNQXRHV+hmQo492cz0= github.com/netsampler/goflow2 v1.3.7 h1:XZaTy8kkMnGXpJ9hS3KbO1McyrFTpVNhVFEx9rNhMmc= github.com/netsampler/goflow2 v1.3.7/go.mod h1:4UZsVGVAs//iMCptUHn3WNScztJeUhZH7kDW2+/vDdQ= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU= -github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg= -github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw= -github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog= +github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s= +github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= +github.com/onsi/ginkgo/v2 v2.25.1 h1:Fwp6crTREKM+oA6Cz4MsO8RhKQzs2/gOIVOUscMAfZY= +github.com/onsi/ginkgo/v2 v2.25.1/go.mod h1:ppTWQ1dh9KM/F1XgpeRqelR+zHVwV81DGRSDnFxK7Sk= +github.com/onsi/gomega v1.38.1 h1:FaLA8GlcpXDwsb7m0h2A9ew2aTk3vnZMlzFgg5tz/pk= +github.com/onsi/gomega v1.38.1/go.mod h1:LfcV8wZLvwcYRwPiJysphKAEsmcFnLMK/9c+PjvlX8g= github.com/openshift/api v0.0.0-20231120222239-b86761094ee3 h1:nLhV2lbWrJ3E3hx0/97G3ZZvppC67cNwo+CLp7/PAbA= github.com/openshift/api v0.0.0-20231120222239-b86761094ee3/go.mod h1:qNtV0315F+f8ld52TLtPvrfivZpdimOzTi3kn9IVbtU= github.com/openshift/client-go v0.0.0-20231121143148-910ca30a1a9a h1:4FVrw8hz0Wb3izbf6JfOEK+pJTYpEvteRR73mCh2g/A= @@ -299,8 +313,8 @@ github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFu github.com/pion/dtls/v2 v2.2.12 h1:KP7H5/c1EiVAAKUmXyCzPiQe5+bCJrpOeKg/L05dunk= github.com/pion/dtls/v2 v2.2.12/go.mod h1:d9SYc9fch0CqK90mRk1dC7AkzzpwJj6u2GU3u+9pqFE= github.com/pion/logging v0.2.2/go.mod h1:k0/tDVsRCX2Mb2ZEmTqNa7CWsQPc+YYCB7Q+5pahoms= -github.com/pion/logging v0.2.3 h1:gHuf0zpoh1GW67Nr6Gj4cv5Z9ZscU7g/EaoC/Ke/igI= -github.com/pion/logging v0.2.3/go.mod h1:z8YfknkquMe1csOrxK5kc+5/ZPAzMxbKLX5aXpbpC90= +github.com/pion/logging v0.2.4 h1:tTew+7cmQ+Mc1pTBLKH2puKsOvhm32dROumOZ655zB8= +github.com/pion/logging v0.2.4/go.mod h1:DffhXTKYdNZU+KtJ5pyQDjvOAh/GsNSyv1lbkFbe3so= github.com/pion/transport/v2 v2.2.4/go.mod h1:q2U/tf9FEfnSBGSW6w5Qp5PFWRLRj3NjLhCCgpRK4p0= github.com/pion/transport/v2 v2.2.10 h1:ucLBLE8nuxiHfvkFKnkDQRYWYfp8ejf4YBOPfaQpw6Q= github.com/pion/transport/v2 v2.2.10/go.mod h1:sq1kSLWs+cHW9E+2fJP95QudkzbK7wscs8yYgQToO5E= @@ -313,45 +327,45 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc= -github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE= +github.com/prometheus/client_golang v1.23.1 h1:w6gXMLQGgd0jXXlote9lRHMe0nG01EbnJT+C0EJru2Y= +github.com/prometheus/client_golang v1.23.1/go.mod h1:br8j//v2eg2K5Vvna5klK8Ku5pcU5r4ll73v6ik5dIQ= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= -github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= -github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= -github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= -github.com/prometheus/prometheus v0.304.0 h1:otXBqfF7bbTcW7IrXrB6HMjo4dThQbayCPFr2yTlqrQ= -github.com/prometheus/prometheus v0.304.0/go.mod h1:ioGx2SGKTY+fLnJSQCdTHqARVldGNS8OlIe3kvp98so= -github.com/prometheus/sigv4 v0.1.2 h1:R7570f8AoM5YnTUPFm3mjZH5q2k4D+I/phCWvZ4PXG8= -github.com/prometheus/sigv4 v0.1.2/go.mod h1:GF9fwrvLgkQwDdQ5BXeV9XUSCH/IPNqzvAoaohfjqMU= +github.com/prometheus/common v0.66.0 h1:K/rJPHrG3+AoQs50r2+0t7zMnMzek2Vbv31OFVsMeVY= +github.com/prometheus/common v0.66.0/go.mod h1:Ux6NtV1B4LatamKE63tJBntoxD++xmtI/lK0VtEplN4= +github.com/prometheus/procfs v0.17.0 h1:FuLQ+05u4ZI+SS/w9+BWEM2TXiHKsUQ9TADiRH7DuK0= +github.com/prometheus/procfs v0.17.0/go.mod h1:oPQLaDAMRbA+u8H5Pbfq+dl3VDAvHxMUOVhe0wYB2zw= +github.com/prometheus/prometheus v0.305.0 h1:UO/LsM32/E9yBDtvQj8tN+WwhbyWKR10lO35vmFLx0U= +github.com/prometheus/prometheus v0.305.0/go.mod h1:JG+jKIDUJ9Bn97anZiCjwCxRyAx+lpcEQ0QnZlUlbwY= +github.com/prometheus/sigv4 v0.2.0 h1:qDFKnHYFswJxdzGeRP63c4HlH3Vbn1Yf/Ao2zabtVXk= +github.com/prometheus/sigv4 v0.2.0/go.mod h1:D04rqmAaPPEUkjRQxGqjoxdyJuyCh6E0M18fZr0zBiE= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU= github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/safchain/ethtool v0.5.10 h1:Im294gZtuf4pSGJRAOGKaASNi3wMeFaGaWuSaomedpc= -github.com/safchain/ethtool v0.5.10/go.mod h1:w9jh2Lx7YBR4UwzLkzCmWl85UY0W2uZdd7/DckVE5+c= -github.com/sagikazarmark/locafero v0.9.0 h1:GbgQGNtTrEmddYDSAH9QLRyfAHY12md+8YFTqyMTC9k= -github.com/sagikazarmark/locafero v0.9.0/go.mod h1:UBUyz37V+EdMS3hDF3QWIiVr/2dPrx49OMO0Bn0hJqk= +github.com/safchain/ethtool v0.6.2 h1:O3ZPFAKEUEfbtE6J/feEe2Ft7dIJ2Sy8t4SdMRiIMHY= +github.com/safchain/ethtool v0.6.2/go.mod h1:VS7cn+bP3Px3rIq55xImBiZGHVLNyBh5dqG6dDQy8+I= +github.com/sagikazarmark/locafero v0.10.0 h1:FM8Cv6j2KqIhM2ZK7HZjm4mpj9NBktLgowT1aN9q5Cc= +github.com/sagikazarmark/locafero v0.10.0/go.mod h1:Ieo3EUsjifvQu4NZwV5sPd4dwvu0OCgEQV7vjc9yDjw= github.com/segmentio/kafka-go v0.4.49 h1:GJiNX1d/g+kG6ljyJEoi9++PUMdXGAxb7JGPiDCuNmk= github.com/segmentio/kafka-go v0.4.49/go.mod h1:Y1gn60kzLEEaW28YshXyk2+VCUKbJ3Qr6DrnT3i4+9E= -github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= -github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA= github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= -github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= -github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= +github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= +github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= +github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= +github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -360,21 +374,20 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/tinylib/msgp v1.3.0 h1:ULuf7GPooDaIlbyvgAxBV/FI7ynli6LZ1/nVUNu+0ww= -github.com/tinylib/msgp v1.3.0/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0= -github.com/urfave/cli/v2 v2.27.6 h1:VdRdS98FNhKZ8/Az8B7MTyGQmpIr36O1EHybx/LaZ4g= -github.com/urfave/cli/v2 v2.27.6/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ= -github.com/vishvananda/netlink v1.3.1-0.20250425193846-9d88d8385bf9 h1:ZEjCI2kamoTYIx348/Nfco4c4NPvpq972DM2HMgnBgI= -github.com/vishvananda/netlink v1.3.1-0.20250425193846-9d88d8385bf9/go.mod h1:ARtKouGSTGchR8aMwmkzC0qiNPrrWO5JS/XMVl45+b4= +github.com/tinylib/msgp v1.4.0 h1:SYOeDRiydzOw9kSiwdYp9UcBgPFtLU2WDHaJXyHruf8= +github.com/tinylib/msgp v1.4.0/go.mod h1:cvjFkb4RiC8qSBOPMGPSzSAx47nAsfhLVTCZZNuHv5o= +github.com/urfave/cli/v2 v2.27.7 h1:bH59vdhbjLv3LAvIu6gd0usJHgoTTPhCFib8qqOwXYU= +github.com/urfave/cli/v2 v2.27.7/go.mod h1:CyNAG/xg+iAOg0N4MPGZqVmv2rCoP267496AOXUZjA4= +github.com/vishvananda/netlink v1.3.1 h1:3AEMt62VKqz90r0tmNhog0r/PpWKmrEShJU0wJW6bV0= +github.com/vishvananda/netlink v1.3.1/go.mod h1:ARtKouGSTGchR8aMwmkzC0qiNPrrWO5JS/XMVl45+b4= github.com/vishvananda/netns v0.0.5 h1:DfiHV+j8bA32MFM7bfEunvT8IAqQ/NzSJHtcmW5zdEY= github.com/vishvananda/netns v0.0.5/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/vladimirvivien/gexe v0.5.0 h1:AWBVaYnrTsGYBktXvcO0DfWPeSiZxn6mnQ5nvL+A1/A= @@ -388,39 +401,41 @@ github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= -github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= -github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= +github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 h1:FnBeRrxr7OU4VvAzt5X7s6266i6cSVkkFPS0TuXWbIg= +github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= -go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= -go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 h1:zG8GlgXCJQd5BU98C0hZnBbElszTmUgCNCfYneaDL0A= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0/go.mod h1:hOfBCz8kv/wuq73Mx2H2QnWokh/kHZxkh6SNF2bdKtw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.37.0 h1:9PgnL3QNlj10uGxExowIDIZu66aVBwWhXmbOp1pa6RA= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.37.0/go.mod h1:0ineDcLELf6JmKfuo0wvvhAVMuxWFYvkTin2iV4ydPQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 h1:Ahq7pZmv87yiyn3jeFz/LekZmPLLdKejuO3NcK9MssM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0/go.mod h1:MJTqhM0im3mRLw1i8uGHnCvUEeS7VwRyxlLC78PA18M= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 h1:EtFWSnwW9hGObjkIdmlnWSydO+Qs8OwzfzXLUPg4xOc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0/go.mod h1:QjUEoiGCPkvFZ/MjK6ZZfNOS6mfVEVKYE99dFhuN2LI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0 h1:bDMKF3RUSxshZ5OjOTi8rsHGaPKsAt76FaqgvIUySLc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0/go.mod h1:dDT67G/IkA46Mr2l9Uj7HsQVwsjASyV9SjGofsiUZDA= -go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= -go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= -go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= -go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= -go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= -go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= -go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= -go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= -go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os= -go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= +go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= +go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9obrcoWVKp/lwl8tRE33853I8Xru9HFbw/skNeLs8= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 h1:Oe2z/BCg5q7k4iXC3cqJxKYg0ieRiOqF0cecFYdPTwk= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0/go.mod h1:ZQM5lAJpOsKnYagGg/zV2krVqTtaVdYdDkhMoX6Oalg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 h1:aTL7F04bJHUlztTsNGJ2l+6he8c+y/b//eR0jjjemT4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0/go.mod h1:kldtb7jDTeol0l3ewcmd8SDvx3EmIE7lyvqbasU3QC4= +go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= +go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= +go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= +go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= +go.opentelemetry.io/proto/otlp v1.8.0 h1:fRAZQDcAFHySxpJ1TwlA1cJ4tvcrw7nXl9xWWC8N5CE= +go.opentelemetry.io/proto/otlp v1.8.0/go.mod h1:tIeYOeNBU4cvmPqpaji1P+KbB4Oloai8wN4rWzRrFF0= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= +go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -439,24 +454,21 @@ golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98y golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM= -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8= +golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b h1:DXr+pvt3nC887026GRP39Ej11UATqWDmWuS99x26cD0= +golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b/go.mod h1:4QTo5u+SEIbbKW1RacMZq1YEfOBqeXa19JeshGi+zc4= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= -golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= @@ -466,7 +478,6 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -475,18 +486,10 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -499,7 +502,6 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -512,7 +514,6 @@ golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -521,39 +522,30 @@ golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= -golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= -golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= +golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= +golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -google.golang.org/api v0.230.0 h1:2u1hni3E+UXAXrONrrkfWpi/V6cyKVAbfGVeGtC3OxM= -google.golang.org/api v0.230.0/go.mod h1:aqvtoMk7YkiXx+6U12arQFExiRV9D/ekvMCwCd/TksQ= -google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:FiusG7LWj+4byqhbvmB+Q93B/mOxJLN2DTozDuZm4EU= -google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/api v0.238.0 h1:+EldkglWIg/pWjkq97sd+XxH7PxakNYoe/rkSTbnvOs= +google.golang.org/api v0.238.0/go.mod h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50= +google.golang.org/genproto/googleapis/api v0.0.0-20250826171959-ef028d996bc1 h1:APHvLLYBhtZvsbnpkfknDZ7NyH4z5+ub/I0u8L3Oz6g= +google.golang.org/genproto/googleapis/api v0.0.0-20250826171959-ef028d996bc1/go.mod h1:xUjFWUnWDpZ/C0Gu0qloASKFb6f8/QXiiXhSPFsD668= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250826171959-ef028d996bc1 h1:pmJpJEvT846VzausCQ5d7KreSROcDqmO388w5YbnltA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250826171959-ef028d996bc1/go.mod h1:GmFNa4BdJZ2a8G+wCe9Bg3wwThLrJun751XstdJt5Og= google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 h1:FVCohIoYO7IJoDDVpV2pdq7SgrMH6wHnuTyrdrxJNoY= @@ -561,9 +553,8 @@ gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0/go.mod h1:OdE7CF6DbADk7lN8LIKRzRJTTZXIjtW gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= -gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo= +gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo= gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE= gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= @@ -572,13 +563,8 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -586,29 +572,31 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/api v0.34.0 h1:L+JtP2wDbEYPUeNGbeSa/5GwFtIA662EmT2YSLOkAVE= k8s.io/api v0.34.0/go.mod h1:YzgkIzOOlhl9uwWCZNqpw6RJy9L2FK4dlJeayUoydug= -k8s.io/apiextensions-apiserver v0.32.1 h1:hjkALhRUeCariC8DiVmb5jj0VjIc1N0DREP32+6UXZw= -k8s.io/apiextensions-apiserver v0.32.1/go.mod h1:sxWIGuGiYov7Io1fAS2X06NjMIk5CbRHc2StSmbaQto= +k8s.io/apiextensions-apiserver v0.34.0 h1:B3hiB32jV7BcyKcMU5fDaDxk882YrJ1KU+ZSkA9Qxoc= +k8s.io/apiextensions-apiserver v0.34.0/go.mod h1:hLI4GxE1BDBy9adJKxUxCEHBGZtGfIg98Q+JmTD7+g0= k8s.io/apimachinery v0.34.0 h1:eR1WO5fo0HyoQZt1wdISpFDffnWOvFLOOeJ7MgIv4z0= k8s.io/apimachinery v0.34.0/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= k8s.io/client-go v0.34.0 h1:YoWv5r7bsBfb0Hs2jh8SOvFbKzzxyNo0nSb0zC19KZo= k8s.io/client-go v0.34.0/go.mod h1:ozgMnEKXkRjeMvBZdV1AijMHLTh3pbACPvK7zFR+QQY= -k8s.io/component-base v0.32.3 h1:98WJvvMs3QZ2LYHBzvltFSeJjEx7t5+8s71P7M74u8k= -k8s.io/component-base v0.32.3/go.mod h1:LWi9cR+yPAv7cu2X9rZanTiFKB2kHA+JjmhkKjCZRpI= +k8s.io/component-base v0.34.0 h1:bS8Ua3zlJzapklsB1dZgjEJuJEeHjj8yTu1gxE2zQX8= +k8s.io/component-base v0.34.0/go.mod h1:RSCqUdvIjjrEm81epPcjQ/DS+49fADvGSCkIP3IC6vg= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= -k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= -k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y= -k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/kube-openapi v0.0.0-20250902184714-7fc278399c7f h1:wyRlmLgBSXi3kgawro8klrMRljXeRo1HFkQRs+meYfs= +k8s.io/kube-openapi v0.0.0-20250902184714-7fc278399c7f/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= +k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d h1:wAhiDyZ4Tdtt7e46e9M5ZSAJ/MnPGPs+Ki1gHw4w1R0= +k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.3.0 h1:cDdUVfRwDUDovz610ABgFD17nXD4/uDgVHl2sC3+sbo= lukechampine.com/uint128 v1.3.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= -sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU= -sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY= +sigs.k8s.io/controller-runtime v0.22.0 h1:mTOfibb8Hxwpx3xEkR56i7xSjB+nH4hZG37SrlCY5e0= +sigs.k8s.io/controller-runtime v0.22.0/go.mod h1:FwiwRjkRPbiN+zp2QRp7wlTCzbUXxZ/D4OzuQUDwBHY= sigs.k8s.io/e2e-framework v0.6.0 h1:p7hFzHnLKO7eNsWGI2AbC1Mo2IYxidg49BiT4njxkrM= sigs.k8s.io/e2e-framework v0.6.0/go.mod h1:IREnCHnKgRCioLRmNi0hxSJ1kJ+aAdjEKK/gokcZu4k= -sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE= -sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= +sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= +sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= +sigs.k8s.io/knftables v0.0.18 h1:6Duvmu0s/HwGifKrtl6G3AyAPYlWiZqTgS8bkVMiyaE= +sigs.k8s.io/knftables v0.0.18/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/network-policy-api v0.1.5 h1:xyS7VAaM9EfyB428oFk7WjWaCK6B129i+ILUF4C8l6E= sigs.k8s.io/network-policy-api v0.1.5/go.mod h1:D7Nkr43VLNd7iYryemnj8qf0N/WjBzTZDxYA+g4u1/Y= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= diff --git a/vendor/github.com/cenkalti/backoff/v5/exponential.go b/vendor/github.com/cenkalti/backoff/v5/exponential.go index c1f3e442d..79d425e87 100644 --- a/vendor/github.com/cenkalti/backoff/v5/exponential.go +++ b/vendor/github.com/cenkalti/backoff/v5/exponential.go @@ -1,7 +1,7 @@ package backoff import ( - "math/rand" + "math/rand/v2" "time" ) @@ -28,13 +28,7 @@ multiplied by the exponential, that is, between 2 and 6 seconds. Note: MaxInterval caps the RetryInterval and not the randomized interval. -If the time elapsed since an ExponentialBackOff instance is created goes past the -MaxElapsedTime, then the method NextBackOff() starts returning backoff.Stop. - -The elapsed time can be reset by calling Reset(). - -Example: Given the following default arguments, for 10 tries the sequence will be, -and assuming we go over the MaxElapsedTime on the 10th try: +Example: Given the following default arguments, for 9 tries the sequence will be: Request # RetryInterval (seconds) Randomized Interval (seconds) @@ -47,7 +41,6 @@ and assuming we go over the MaxElapsedTime on the 10th try: 7 5.692 [2.846, 8.538] 8 8.538 [4.269, 12.807] 9 12.807 [6.403, 19.210] - 10 19.210 backoff.Stop Note: Implementation is not thread-safe. */ diff --git a/vendor/github.com/cenkalti/backoff/v5/retry.go b/vendor/github.com/cenkalti/backoff/v5/retry.go index e43f47fb8..32a7f9883 100644 --- a/vendor/github.com/cenkalti/backoff/v5/retry.go +++ b/vendor/github.com/cenkalti/backoff/v5/retry.go @@ -47,7 +47,7 @@ func WithNotify(n Notify) RetryOption { } } -// WithMaxTries limits the number of retry attempts. +// WithMaxTries limits the number of all attempts. func WithMaxTries(n uint) RetryOption { return func(args *retryOptions) { args.MaxTries = n @@ -97,7 +97,7 @@ func Retry[T any](ctx context.Context, operation Operation[T], opts ...RetryOpti // Handle permanent errors without retrying. var permanent *PermanentError if errors.As(err, &permanent) { - return res, err + return res, permanent.Unwrap() } // Stop retrying if context is cancelled. diff --git a/vendor/github.com/containernetworking/cni/libcni/api.go b/vendor/github.com/containernetworking/cni/libcni/api.go index 0d82a2dd3..6ac26949e 100644 --- a/vendor/github.com/containernetworking/cni/libcni/api.go +++ b/vendor/github.com/containernetworking/cni/libcni/api.go @@ -15,7 +15,7 @@ package libcni // Note this is the actual implementation of the CNI specification, which -// is reflected in the https://github.com/containernetworking/cni/blob/master/SPEC.md file +// is reflected in the SPEC.md file. // it is typically bundled into runtime providers (i.e. containerd or cri-o would use this // before calling runc or hcsshim). It is also bundled into CNI providers as well, for example, // to add an IP to a container, to parse the configuration of the CNI and so on. @@ -23,10 +23,11 @@ package libcni import ( "context" "encoding/json" + "errors" "fmt" - "io/ioutil" "os" "path/filepath" + "sort" "strings" "github.com/containernetworking/cni/pkg/invoke" @@ -38,6 +39,8 @@ import ( var ( CacheDir = "/var/lib/cni" + // slightly awkward wording to preserve anyone matching on error strings + ErrorCheckNotSupp = fmt.Errorf("does not support the CHECK command") ) const ( @@ -64,17 +67,37 @@ type RuntimeConf struct { CacheDir string } -type NetworkConfig struct { - Network *types.NetConf +// Use PluginConfig instead of NetworkConfig, the NetworkConfig +// backwards-compat alias will be removed in a future release. +type NetworkConfig = PluginConfig + +type PluginConfig struct { + Network *types.PluginConf Bytes []byte } type NetworkConfigList struct { - Name string - CNIVersion string - DisableCheck bool - Plugins []*NetworkConfig - Bytes []byte + Name string + CNIVersion string + DisableCheck bool + DisableGC bool + LoadOnlyInlinedPlugins bool + Plugins []*PluginConfig + Bytes []byte +} + +type NetworkAttachment struct { + ContainerID string + Network string + IfName string + Config []byte + NetNS string + CniArgs [][2]string + CapabilityArgs map[string]interface{} +} + +type GCArgs struct { + ValidAttachments []types.GCAttachment } type CNI interface { @@ -84,14 +107,21 @@ type CNI interface { GetNetworkListCachedResult(net *NetworkConfigList, rt *RuntimeConf) (types.Result, error) GetNetworkListCachedConfig(net *NetworkConfigList, rt *RuntimeConf) ([]byte, *RuntimeConf, error) - AddNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) (types.Result, error) - CheckNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error - DelNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error - GetNetworkCachedResult(net *NetworkConfig, rt *RuntimeConf) (types.Result, error) - GetNetworkCachedConfig(net *NetworkConfig, rt *RuntimeConf) ([]byte, *RuntimeConf, error) + AddNetwork(ctx context.Context, net *PluginConfig, rt *RuntimeConf) (types.Result, error) + CheckNetwork(ctx context.Context, net *PluginConfig, rt *RuntimeConf) error + DelNetwork(ctx context.Context, net *PluginConfig, rt *RuntimeConf) error + GetNetworkCachedResult(net *PluginConfig, rt *RuntimeConf) (types.Result, error) + GetNetworkCachedConfig(net *PluginConfig, rt *RuntimeConf) ([]byte, *RuntimeConf, error) ValidateNetworkList(ctx context.Context, net *NetworkConfigList) ([]string, error) - ValidateNetwork(ctx context.Context, net *NetworkConfig) ([]string, error) + ValidateNetwork(ctx context.Context, net *PluginConfig) ([]string, error) + + GCNetworkList(ctx context.Context, net *NetworkConfigList, args *GCArgs) error + GetStatusNetworkList(ctx context.Context, net *NetworkConfigList) error + + GetCachedAttachments(containerID string) ([]*NetworkAttachment, error) + + GetVersionInfo(ctx context.Context, pluginType string) (version.PluginInfo, error) } type CNIConfig struct { @@ -122,7 +152,7 @@ func NewCNIConfigWithCacheDir(path []string, cacheDir string, exec invoke.Exec) } } -func buildOneConfig(name, cniVersion string, orig *NetworkConfig, prevResult types.Result, rt *RuntimeConf) (*NetworkConfig, error) { +func buildOneConfig(name, cniVersion string, orig *PluginConfig, prevResult types.Result, rt *RuntimeConf) (*PluginConfig, error) { var err error inject := map[string]interface{}{ @@ -139,8 +169,11 @@ func buildOneConfig(name, cniVersion string, orig *NetworkConfig, prevResult typ if err != nil { return nil, err } + if rt != nil { + return injectRuntimeConfig(orig, rt) + } - return injectRuntimeConfig(orig, rt) + return orig, nil } // This function takes a libcni RuntimeConf structure and injects values into @@ -155,7 +188,7 @@ func buildOneConfig(name, cniVersion string, orig *NetworkConfig, prevResult typ // capabilities include "portMappings", and the CapabilityArgs map includes a // "portMappings" key, that key and its value are added to the "runtimeConfig" // dictionary to be passed to the plugin's stdin. -func injectRuntimeConfig(orig *NetworkConfig, rt *RuntimeConf) (*NetworkConfig, error) { +func injectRuntimeConfig(orig *PluginConfig, rt *RuntimeConf) (*PluginConfig, error) { var err error rc := make(map[string]interface{}) @@ -195,6 +228,7 @@ type cachedInfo struct { Config []byte `json:"config"` IfName string `json:"ifName"` NetworkName string `json:"networkName"` + NetNS string `json:"netns,omitempty"` CniArgs [][2]string `json:"cniArgs,omitempty"` CapabilityArgs map[string]interface{} `json:"capabilityArgs,omitempty"` RawResult map[string]interface{} `json:"result,omitempty"` @@ -229,6 +263,7 @@ func (c *CNIConfig) cacheAdd(result types.Result, config []byte, netName string, Config: config, IfName: rt.IfName, NetworkName: netName, + NetNS: rt.NetNS, CniArgs: rt.Args, CapabilityArgs: rt.CapabilityArgs, } @@ -254,11 +289,11 @@ func (c *CNIConfig) cacheAdd(result types.Result, config []byte, netName string, if err != nil { return err } - if err := os.MkdirAll(filepath.Dir(fname), 0700); err != nil { + if err := os.MkdirAll(filepath.Dir(fname), 0o700); err != nil { return err } - return ioutil.WriteFile(fname, newBytes, 0600) + return os.WriteFile(fname, newBytes, 0o600) } func (c *CNIConfig) cacheDel(netName string, rt *RuntimeConf) error { @@ -277,7 +312,7 @@ func (c *CNIConfig) getCachedConfig(netName string, rt *RuntimeConf) ([]byte, *R if err != nil { return nil, nil, err } - bytes, err = ioutil.ReadFile(fname) + bytes, err = os.ReadFile(fname) if err != nil { // Ignore read errors; the cached result may not exist on-disk return nil, nil, nil @@ -305,7 +340,7 @@ func (c *CNIConfig) getLegacyCachedResult(netName, cniVersion string, rt *Runtim if err != nil { return nil, err } - data, err := ioutil.ReadFile(fname) + data, err := os.ReadFile(fname) if err != nil { // Ignore read errors; the cached result may not exist on-disk return nil, nil @@ -333,7 +368,7 @@ func (c *CNIConfig) getCachedResult(netName, cniVersion string, rt *RuntimeConf) if err != nil { return nil, err } - fdata, err := ioutil.ReadFile(fname) + fdata, err := os.ReadFile(fname) if err != nil { // Ignore read errors; the cached result may not exist on-disk return nil, nil @@ -374,7 +409,7 @@ func (c *CNIConfig) GetNetworkListCachedResult(list *NetworkConfigList, rt *Runt // GetNetworkCachedResult returns the cached Result of the previous // AddNetwork() operation for a network, or an error. -func (c *CNIConfig) GetNetworkCachedResult(net *NetworkConfig, rt *RuntimeConf) (types.Result, error) { +func (c *CNIConfig) GetNetworkCachedResult(net *PluginConfig, rt *RuntimeConf) (types.Result, error) { return c.getCachedResult(net.Network.Name, net.Network.CNIVersion, rt) } @@ -386,11 +421,73 @@ func (c *CNIConfig) GetNetworkListCachedConfig(list *NetworkConfigList, rt *Runt // GetNetworkCachedConfig copies the input RuntimeConf to output // RuntimeConf with fields updated with info from the cached Config. -func (c *CNIConfig) GetNetworkCachedConfig(net *NetworkConfig, rt *RuntimeConf) ([]byte, *RuntimeConf, error) { +func (c *CNIConfig) GetNetworkCachedConfig(net *PluginConfig, rt *RuntimeConf) ([]byte, *RuntimeConf, error) { return c.getCachedConfig(net.Network.Name, rt) } -func (c *CNIConfig) addNetwork(ctx context.Context, name, cniVersion string, net *NetworkConfig, prevResult types.Result, rt *RuntimeConf) (types.Result, error) { +// GetCachedAttachments returns a list of network attachments from the cache. +// The returned list will be filtered by the containerID if the value is not empty. +func (c *CNIConfig) GetCachedAttachments(containerID string) ([]*NetworkAttachment, error) { + dirPath := filepath.Join(c.getCacheDir(&RuntimeConf{}), "results") + entries, err := os.ReadDir(dirPath) + if err != nil { + if os.IsNotExist(err) { + return nil, nil + } + return nil, err + } + + fileNames := make([]string, 0, len(entries)) + for _, e := range entries { + fileNames = append(fileNames, e.Name()) + } + sort.Strings(fileNames) + + attachments := []*NetworkAttachment{} + for _, fname := range fileNames { + if len(containerID) > 0 { + part := fmt.Sprintf("-%s-", containerID) + pos := strings.Index(fname, part) + if pos <= 0 || pos+len(part) >= len(fname) { + continue + } + } + + cacheFile := filepath.Join(dirPath, fname) + bytes, err := os.ReadFile(cacheFile) + if err != nil { + continue + } + + cachedInfo := cachedInfo{} + + if err := json.Unmarshal(bytes, &cachedInfo); err != nil { + continue + } + if cachedInfo.Kind != CNICacheV1 { + continue + } + if len(containerID) > 0 && cachedInfo.ContainerID != containerID { + continue + } + if cachedInfo.IfName == "" || cachedInfo.NetworkName == "" { + continue + } + + attachments = append(attachments, &NetworkAttachment{ + ContainerID: cachedInfo.ContainerID, + Network: cachedInfo.NetworkName, + IfName: cachedInfo.IfName, + Config: cachedInfo.Config, + NetNS: cachedInfo.NetNS, + CniArgs: cachedInfo.CniArgs, + CapabilityArgs: cachedInfo.CapabilityArgs, + }) + } + return attachments, nil +} + +func (c *CNIConfig) addNetwork(ctx context.Context, name, cniVersion string, net *PluginConfig, prevResult types.Result, rt *RuntimeConf) (types.Result, error) { c.ensureExec() pluginPath, err := c.exec.FindInPath(net.Network.Type, c.Path) if err != nil { @@ -432,7 +529,7 @@ func (c *CNIConfig) AddNetworkList(ctx context.Context, list *NetworkConfigList, return result, nil } -func (c *CNIConfig) checkNetwork(ctx context.Context, name, cniVersion string, net *NetworkConfig, prevResult types.Result, rt *RuntimeConf) error { +func (c *CNIConfig) checkNetwork(ctx context.Context, name, cniVersion string, net *PluginConfig, prevResult types.Result, rt *RuntimeConf) error { c.ensureExec() pluginPath, err := c.exec.FindInPath(net.Network.Type, c.Path) if err != nil { @@ -453,7 +550,7 @@ func (c *CNIConfig) CheckNetworkList(ctx context.Context, list *NetworkConfigLis if gtet, err := version.GreaterThanOrEqualTo(list.CNIVersion, "0.4.0"); err != nil { return err } else if !gtet { - return fmt.Errorf("configuration version %q does not support the CHECK command", list.CNIVersion) + return fmt.Errorf("configuration version %q %w", list.CNIVersion, ErrorCheckNotSupp) } if list.DisableCheck { @@ -474,7 +571,7 @@ func (c *CNIConfig) CheckNetworkList(ctx context.Context, list *NetworkConfigLis return nil } -func (c *CNIConfig) delNetwork(ctx context.Context, name, cniVersion string, net *NetworkConfig, prevResult types.Result, rt *RuntimeConf) error { +func (c *CNIConfig) delNetwork(ctx context.Context, name, cniVersion string, net *PluginConfig, prevResult types.Result, rt *RuntimeConf) error { c.ensureExec() pluginPath, err := c.exec.FindInPath(net.Network.Type, c.Path) if err != nil { @@ -497,9 +594,9 @@ func (c *CNIConfig) DelNetworkList(ctx context.Context, list *NetworkConfigList, if gtet, err := version.GreaterThanOrEqualTo(list.CNIVersion, "0.4.0"); err != nil { return err } else if gtet { - cachedResult, err = c.getCachedResult(list.Name, list.CNIVersion, rt) - if err != nil { - return fmt.Errorf("failed to get network %q cached result: %w", list.Name, err) + if cachedResult, err = c.getCachedResult(list.Name, list.CNIVersion, rt); err != nil { + _ = c.cacheDel(list.Name, rt) + cachedResult = nil } } @@ -509,12 +606,13 @@ func (c *CNIConfig) DelNetworkList(ctx context.Context, list *NetworkConfigList, return fmt.Errorf("plugin %s failed (delete): %w", pluginDescription(net.Network), err) } } + _ = c.cacheDel(list.Name, rt) return nil } -func pluginDescription(net *types.NetConf) string { +func pluginDescription(net *types.PluginConf) string { if net == nil { return "" } @@ -528,7 +626,7 @@ func pluginDescription(net *types.NetConf) string { } // AddNetwork executes the plugin with the ADD command -func (c *CNIConfig) AddNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) (types.Result, error) { +func (c *CNIConfig) AddNetwork(ctx context.Context, net *PluginConfig, rt *RuntimeConf) (types.Result, error) { result, err := c.addNetwork(ctx, net.Network.Name, net.Network.CNIVersion, net, nil, rt) if err != nil { return nil, err @@ -542,12 +640,12 @@ func (c *CNIConfig) AddNetwork(ctx context.Context, net *NetworkConfig, rt *Runt } // CheckNetwork executes the plugin with the CHECK command -func (c *CNIConfig) CheckNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error { +func (c *CNIConfig) CheckNetwork(ctx context.Context, net *PluginConfig, rt *RuntimeConf) error { // CHECK was added in CNI spec version 0.4.0 and higher if gtet, err := version.GreaterThanOrEqualTo(net.Network.CNIVersion, "0.4.0"); err != nil { return err } else if !gtet { - return fmt.Errorf("configuration version %q does not support the CHECK command", net.Network.CNIVersion) + return fmt.Errorf("configuration version %q %w", net.Network.CNIVersion, ErrorCheckNotSupp) } cachedResult, err := c.getCachedResult(net.Network.Name, net.Network.CNIVersion, rt) @@ -558,7 +656,7 @@ func (c *CNIConfig) CheckNetwork(ctx context.Context, net *NetworkConfig, rt *Ru } // DelNetwork executes the plugin with the DEL command -func (c *CNIConfig) DelNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error { +func (c *CNIConfig) DelNetwork(ctx context.Context, net *PluginConfig, rt *RuntimeConf) error { var cachedResult types.Result // Cached result on DEL was added in CNI spec version 0.4.0 and higher @@ -618,7 +716,7 @@ func (c *CNIConfig) ValidateNetworkList(ctx context.Context, list *NetworkConfig // ValidateNetwork checks that a configuration is reasonably valid. // It uses the same logic as ValidateNetworkList) // Returns a list of capabilities -func (c *CNIConfig) ValidateNetwork(ctx context.Context, net *NetworkConfig) ([]string, error) { +func (c *CNIConfig) ValidateNetwork(ctx context.Context, net *PluginConfig) ([]string, error) { caps := []string{} for c, ok := range net.Network.Capabilities { if ok { @@ -666,6 +764,129 @@ func (c *CNIConfig) GetVersionInfo(ctx context.Context, pluginType string) (vers return invoke.GetVersionInfo(ctx, pluginPath, c.exec) } +// GCNetworkList will do two things +// - dump the list of cached attachments, and issue deletes as necessary +// - issue a GC to the underlying plugins (if the version is high enough) +func (c *CNIConfig) GCNetworkList(ctx context.Context, list *NetworkConfigList, args *GCArgs) error { + // If DisableGC is set, then don't bother GCing at all. + if list.DisableGC { + return nil + } + + // First, get the list of cached attachments + cachedAttachments, err := c.GetCachedAttachments("") + if err != nil { + return nil + } + + var validAttachments map[types.GCAttachment]interface{} + if args != nil { + validAttachments = make(map[types.GCAttachment]interface{}, len(args.ValidAttachments)) + for _, a := range args.ValidAttachments { + validAttachments[a] = nil + } + } + + var errs []error + + for _, cachedAttachment := range cachedAttachments { + if cachedAttachment.Network != list.Name { + continue + } + // we found this attachment + gca := types.GCAttachment{ + ContainerID: cachedAttachment.ContainerID, + IfName: cachedAttachment.IfName, + } + if _, ok := validAttachments[gca]; ok { + continue + } + // otherwise, this attachment wasn't valid and we should issue a CNI DEL + rt := RuntimeConf{ + ContainerID: cachedAttachment.ContainerID, + NetNS: cachedAttachment.NetNS, + IfName: cachedAttachment.IfName, + Args: cachedAttachment.CniArgs, + CapabilityArgs: cachedAttachment.CapabilityArgs, + } + if err := c.DelNetworkList(ctx, list, &rt); err != nil { + errs = append(errs, fmt.Errorf("failed to delete stale attachment %s %s: %w", rt.ContainerID, rt.IfName, err)) + } + } + + // now, if the version supports it, issue a GC + if gt, _ := version.GreaterThanOrEqualTo(list.CNIVersion, "1.1.0"); gt { + inject := map[string]interface{}{ + "name": list.Name, + "cniVersion": list.CNIVersion, + } + if args != nil { + inject["cni.dev/valid-attachments"] = args.ValidAttachments + // #1101: spec used incorrect variable name + inject["cni.dev/attachments"] = args.ValidAttachments + } + + for _, plugin := range list.Plugins { + // build config here + pluginConfig, err := InjectConf(plugin, inject) + if err != nil { + errs = append(errs, fmt.Errorf("failed to generate configuration to GC plugin %s: %w", plugin.Network.Type, err)) + } + if err := c.gcNetwork(ctx, pluginConfig); err != nil { + errs = append(errs, fmt.Errorf("failed to GC plugin %s: %w", plugin.Network.Type, err)) + } + } + } + + return errors.Join(errs...) +} + +func (c *CNIConfig) gcNetwork(ctx context.Context, net *PluginConfig) error { + c.ensureExec() + pluginPath, err := c.exec.FindInPath(net.Network.Type, c.Path) + if err != nil { + return err + } + args := c.args("GC", &RuntimeConf{}) + + return invoke.ExecPluginWithoutResult(ctx, pluginPath, net.Bytes, args, c.exec) +} + +func (c *CNIConfig) GetStatusNetworkList(ctx context.Context, list *NetworkConfigList) error { + // If the version doesn't support status, abort. + if gt, _ := version.GreaterThanOrEqualTo(list.CNIVersion, "1.1.0"); !gt { + return nil + } + + inject := map[string]interface{}{ + "name": list.Name, + "cniVersion": list.CNIVersion, + } + + for _, plugin := range list.Plugins { + // build config here + pluginConfig, err := InjectConf(plugin, inject) + if err != nil { + return fmt.Errorf("failed to generate configuration to get plugin STATUS %s: %w", plugin.Network.Type, err) + } + if err := c.getStatusNetwork(ctx, pluginConfig); err != nil { + return err // Don't collect errors here, so we return a clean error code. + } + } + return nil +} + +func (c *CNIConfig) getStatusNetwork(ctx context.Context, net *PluginConfig) error { + c.ensureExec() + pluginPath, err := c.exec.FindInPath(net.Network.Type, c.Path) + if err != nil { + return err + } + args := c.args("STATUS", &RuntimeConf{}) + + return invoke.ExecPluginWithoutResult(ctx, pluginPath, net.Bytes, args, c.exec) +} + // ===== func (c *CNIConfig) args(action string, rt *RuntimeConf) *invoke.Args { return &invoke.Args{ diff --git a/vendor/github.com/containernetworking/cni/libcni/conf.go b/vendor/github.com/containernetworking/cni/libcni/conf.go index 3cd6a59d1..7f8482e75 100644 --- a/vendor/github.com/containernetworking/cni/libcni/conf.go +++ b/vendor/github.com/containernetworking/cni/libcni/conf.go @@ -16,13 +16,16 @@ package libcni import ( "encoding/json" + "errors" "fmt" - "io/ioutil" "os" "path/filepath" + "slices" "sort" + "strings" "github.com/containernetworking/cni/pkg/types" + "github.com/containernetworking/cni/pkg/version" ) type NotFoundError struct { @@ -42,9 +45,16 @@ func (e NoConfigsFoundError) Error() string { return fmt.Sprintf(`no net configurations found in %s`, e.Dir) } -func ConfFromBytes(bytes []byte) (*NetworkConfig, error) { - conf := &NetworkConfig{Bytes: bytes, Network: &types.NetConf{}} - if err := json.Unmarshal(bytes, conf.Network); err != nil { +// This will not validate that the plugins actually belong to the netconfig by ensuring +// that they are loaded from a directory named after the networkName, relative to the network config. +// +// Since here we are just accepting raw bytes, the caller is responsible for ensuring that the plugin +// config provided here actually "belongs" to the networkconfig in question. +func NetworkPluginConfFromBytes(pluginConfBytes []byte) (*PluginConfig, error) { + // TODO why are we creating a struct that holds both the byte representation and the deserialized + // representation, and returning that, instead of just returning the deserialized representation? + conf := &PluginConfig{Bytes: pluginConfBytes, Network: &types.PluginConf{}} + if err := json.Unmarshal(pluginConfBytes, conf.Network); err != nil { return nil, fmt.Errorf("error parsing configuration: %w", err) } if conf.Network.Type == "" { @@ -53,17 +63,35 @@ func ConfFromBytes(bytes []byte) (*NetworkConfig, error) { return conf, nil } -func ConfFromFile(filename string) (*NetworkConfig, error) { - bytes, err := ioutil.ReadFile(filename) +// Given a path to a directory containing a network configuration, and the name of a network, +// loads all plugin definitions found at path `networkConfPath/networkName/*.conf` +func NetworkPluginConfsFromFiles(networkConfPath, networkName string) ([]*PluginConfig, error) { + var pConfs []*PluginConfig + + pluginConfPath := filepath.Join(networkConfPath, networkName) + + pluginConfFiles, err := ConfFiles(pluginConfPath, []string{".conf"}) if err != nil { - return nil, fmt.Errorf("error reading %s: %w", filename, err) + return nil, fmt.Errorf("failed to read plugin config files in %s: %w", pluginConfPath, err) } - return ConfFromBytes(bytes) + + for _, pluginConfFile := range pluginConfFiles { + pluginConfBytes, err := os.ReadFile(pluginConfFile) + if err != nil { + return nil, fmt.Errorf("error reading %s: %w", pluginConfFile, err) + } + pluginConf, err := NetworkPluginConfFromBytes(pluginConfBytes) + if err != nil { + return nil, err + } + pConfs = append(pConfs, pluginConf) + } + return pConfs, nil } -func ConfListFromBytes(bytes []byte) (*NetworkConfigList, error) { +func NetworkConfFromBytes(confBytes []byte) (*NetworkConfigList, error) { rawList := make(map[string]interface{}) - if err := json.Unmarshal(bytes, &rawList); err != nil { + if err := json.Unmarshal(confBytes, &rawList); err != nil { return nil, fmt.Errorf("error parsing configuration list: %w", err) } @@ -85,26 +113,115 @@ func ConfListFromBytes(bytes []byte) (*NetworkConfigList, error) { } } - disableCheck := false - if rawDisableCheck, ok := rawList["disableCheck"]; ok { - disableCheck, ok = rawDisableCheck.(bool) + rawVersions, ok := rawList["cniVersions"] + if ok { + // Parse the current package CNI version + rvs, ok := rawVersions.([]interface{}) if !ok { - return nil, fmt.Errorf("error parsing configuration list: invalid disableCheck type %T", rawDisableCheck) + return nil, fmt.Errorf("error parsing configuration list: invalid type for cniVersions: %T", rvs) } + vs := make([]string, 0, len(rvs)) + for i, rv := range rvs { + v, ok := rv.(string) + if !ok { + return nil, fmt.Errorf("error parsing configuration list: invalid type for cniVersions index %d: %T", i, rv) + } + gt, err := version.GreaterThan(v, version.Current()) + if err != nil { + return nil, fmt.Errorf("error parsing configuration list: invalid cniVersions entry %s at index %d: %w", v, i, err) + } else if !gt { + // Skip versions "greater" than this implementation of the spec + vs = append(vs, v) + } + } + + // if cniVersion was already set, append it to the list for sorting. + if cniVersion != "" { + gt, err := version.GreaterThan(cniVersion, version.Current()) + if err != nil { + return nil, fmt.Errorf("error parsing configuration list: invalid cniVersion %s: %w", cniVersion, err) + } else if !gt { + // ignore any versions higher than the current implemented spec version + vs = append(vs, cniVersion) + } + } + slices.SortFunc[[]string](vs, func(v1, v2 string) int { + if v1 == v2 { + return 0 + } + if gt, _ := version.GreaterThan(v1, v2); gt { + return 1 + } + return -1 + }) + if len(vs) > 0 { + cniVersion = vs[len(vs)-1] + } + } + + readBool := func(key string) (bool, error) { + rawVal, ok := rawList[key] + if !ok { + return false, nil + } + if b, ok := rawVal.(bool); ok { + return b, nil + } + + s, ok := rawVal.(string) + if !ok { + return false, fmt.Errorf("error parsing configuration list: invalid type %T for %s", rawVal, key) + } + s = strings.ToLower(s) + switch s { + case "false": + return false, nil + case "true": + return true, nil + } + return false, fmt.Errorf("error parsing configuration list: invalid value %q for %s", s, key) + } + + disableCheck, err := readBool("disableCheck") + if err != nil { + return nil, err + } + + disableGC, err := readBool("disableGC") + if err != nil { + return nil, err + } + + loadOnlyInlinedPlugins, err := readBool("loadOnlyInlinedPlugins") + if err != nil { + return nil, err } list := &NetworkConfigList{ - Name: name, - DisableCheck: disableCheck, - CNIVersion: cniVersion, - Bytes: bytes, + Name: name, + DisableCheck: disableCheck, + DisableGC: disableGC, + LoadOnlyInlinedPlugins: loadOnlyInlinedPlugins, + CNIVersion: cniVersion, + Bytes: confBytes, } var plugins []interface{} plug, ok := rawList["plugins"] - if !ok { - return nil, fmt.Errorf("error parsing configuration list: no 'plugins' key") + // We can have a `plugins` list key in the main conf, + // We can also have `loadOnlyInlinedPlugins == true` + // + // If `plugins` is there, then `loadOnlyInlinedPlugins` can be true + // + // If plugins is NOT there, then `loadOnlyInlinedPlugins` cannot be true + // + // We have to have at least some plugins. + if !ok && loadOnlyInlinedPlugins { + return nil, fmt.Errorf("error parsing configuration list: `loadOnlyInlinedPlugins` is true, and no 'plugins' key") + } else if !ok && !loadOnlyInlinedPlugins { + return list, nil } + plugins, ok = plug.([]interface{}) if !ok { return nil, fmt.Errorf("error parsing configuration list: invalid 'plugins' type %T", plug) @@ -124,24 +241,68 @@ func ConfListFromBytes(bytes []byte) (*NetworkConfigList, error) { } list.Plugins = append(list.Plugins, netConf) } - return list, nil } -func ConfListFromFile(filename string) (*NetworkConfigList, error) { - bytes, err := ioutil.ReadFile(filename) +func NetworkConfFromFile(filename string) (*NetworkConfigList, error) { + bytes, err := os.ReadFile(filename) + if err != nil { + return nil, fmt.Errorf("error reading %s: %w", filename, err) + } + + conf, err := NetworkConfFromBytes(bytes) + if err != nil { + return nil, err + } + + if !conf.LoadOnlyInlinedPlugins { + plugins, err := NetworkPluginConfsFromFiles(filepath.Dir(filename), conf.Name) + if err != nil { + return nil, err + } + conf.Plugins = append(conf.Plugins, plugins...) + } + + if len(conf.Plugins) == 0 { + // Having 0 plugins for a given network is not necessarily a problem, + // but return as error for caller to decide, since they tried to load + return nil, fmt.Errorf("no plugin configs found") + } + return conf, nil +} + +// Deprecated: This file format is no longer supported, use NetworkConfXXX and NetworkPluginXXX functions +func ConfFromBytes(bytes []byte) (*NetworkConfig, error) { + return NetworkPluginConfFromBytes(bytes) +} + +// Deprecated: This file format is no longer supported, use NetworkConfXXX and NetworkPluginXXX functions +func ConfFromFile(filename string) (*NetworkConfig, error) { + bytes, err := os.ReadFile(filename) if err != nil { return nil, fmt.Errorf("error reading %s: %w", filename, err) } - return ConfListFromBytes(bytes) + return ConfFromBytes(bytes) +} + +func ConfListFromBytes(bytes []byte) (*NetworkConfigList, error) { + return NetworkConfFromBytes(bytes) +} + +func ConfListFromFile(filename string) (*NetworkConfigList, error) { + return NetworkConfFromFile(filename) } +// ConfFiles simply returns a slice of all files in the provided directory +// with extensions matching the provided set. func ConfFiles(dir string, extensions []string) ([]string, error) { // In part, adapted from rkt/networking/podenv.go#listFiles - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) switch { case err == nil: // break case os.IsNotExist(err): + // If folder not there, return no error - only return an + // error if we cannot read contents or there are no contents. return nil, nil default: return nil, err @@ -162,6 +323,7 @@ func ConfFiles(dir string, extensions []string) ([]string, error) { return confFiles, nil } +// Deprecated: This file format is no longer supported, use NetworkConfXXX and NetworkPluginXXX functions func LoadConf(dir, name string) (*NetworkConfig, error) { files, err := ConfFiles(dir, []string{".conf", ".json"}) switch { @@ -185,6 +347,15 @@ func LoadConf(dir, name string) (*NetworkConfig, error) { } func LoadConfList(dir, name string) (*NetworkConfigList, error) { + return LoadNetworkConf(dir, name) +} + +// LoadNetworkConf looks at all the network configs in a given dir, +// loads and parses them all, and returns the first one with an extension of `.conf` +// that matches the provided network name predicate. +func LoadNetworkConf(dir, name string) (*NetworkConfigList, error) { + // TODO this .conflist/.conf extension thing is confusing and inexact + // for implementors. We should pick one extension for everything and stick with it. files, err := ConfFiles(dir, []string{".conflist"}) if err != nil { return nil, err @@ -192,7 +363,7 @@ func LoadConfList(dir, name string) (*NetworkConfigList, error) { sort.Strings(files) for _, confFile := range files { - conf, err := ConfListFromFile(confFile) + conf, err := NetworkConfFromFile(confFile) if err != nil { return nil, err } @@ -201,12 +372,13 @@ func LoadConfList(dir, name string) (*NetworkConfigList, error) { } } - // Try and load a network configuration file (instead of list) + // Deprecated: Try and load a network configuration file (instead of list) // from the same name, then upconvert. singleConf, err := LoadConf(dir, name) if err != nil { // A little extra logic so the error makes sense - if _, ok := err.(NoConfigsFoundError); len(files) != 0 && ok { + var ncfErr NoConfigsFoundError + if len(files) != 0 && errors.As(err, &ncfErr) { // Config lists found but no config files found return nil, NotFoundError{dir, name} } @@ -216,7 +388,8 @@ func LoadConfList(dir, name string) (*NetworkConfigList, error) { return ConfListFromConf(singleConf) } -func InjectConf(original *NetworkConfig, newValues map[string]interface{}) (*NetworkConfig, error) { +// InjectConf takes a PluginConfig and inserts additional values into it, ensuring the result is serializable. +func InjectConf(original *PluginConfig, newValues map[string]interface{}) (*PluginConfig, error) { config := make(map[string]interface{}) err := json.Unmarshal(original.Bytes, &config) if err != nil { @@ -240,12 +413,14 @@ func InjectConf(original *NetworkConfig, newValues map[string]interface{}) (*Net return nil, err } - return ConfFromBytes(newBytes) + return NetworkPluginConfFromBytes(newBytes) } // ConfListFromConf "upconverts" a network config in to a NetworkConfigList, // with the single network as the only entry in the list. -func ConfListFromConf(original *NetworkConfig) (*NetworkConfigList, error) { +// +// Deprecated: Non-conflist file formats are unsupported, use NetworkConfXXX and NetworkPluginXXX functions +func ConfListFromConf(original *PluginConfig) (*NetworkConfigList, error) { // Re-deserialize the config's json, then make a raw map configlist. // This may seem a bit strange, but it's to make the Bytes fields // actually make sense. Otherwise, the generated json is littered with diff --git a/vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go b/vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go index 8defe4dd3..c8b548e7c 100644 --- a/vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go +++ b/vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go @@ -51,25 +51,34 @@ func DelegateAdd(ctx context.Context, delegatePlugin string, netconf []byte, exe // DelegateCheck calls the given delegate plugin with the CNI CHECK action and // JSON configuration func DelegateCheck(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error { + return delegateNoResult(ctx, delegatePlugin, netconf, exec, "CHECK") +} + +func delegateNoResult(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec, verb string) error { pluginPath, realExec, err := delegateCommon(delegatePlugin, exec) if err != nil { return err } - // DelegateCheck will override the original CNI_COMMAND env from process with CHECK - return ExecPluginWithoutResult(ctx, pluginPath, netconf, delegateArgs("CHECK"), realExec) + return ExecPluginWithoutResult(ctx, pluginPath, netconf, delegateArgs(verb), realExec) } // DelegateDel calls the given delegate plugin with the CNI DEL action and // JSON configuration func DelegateDel(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error { - pluginPath, realExec, err := delegateCommon(delegatePlugin, exec) - if err != nil { - return err - } + return delegateNoResult(ctx, delegatePlugin, netconf, exec, "DEL") +} - // DelegateDel will override the original CNI_COMMAND env from process with DEL - return ExecPluginWithoutResult(ctx, pluginPath, netconf, delegateArgs("DEL"), realExec) +// DelegateStatus calls the given delegate plugin with the CNI STATUS action and +// JSON configuration +func DelegateStatus(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error { + return delegateNoResult(ctx, delegatePlugin, netconf, exec, "STATUS") +} + +// DelegateGC calls the given delegate plugin with the CNI GC action and +// JSON configuration +func DelegateGC(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error { + return delegateNoResult(ctx, delegatePlugin, netconf, exec, "GC") } // return CNIArgs used by delegation diff --git a/vendor/github.com/containernetworking/cni/pkg/invoke/exec.go b/vendor/github.com/containernetworking/cni/pkg/invoke/exec.go index 3ad07aa8f..a5e015fc9 100644 --- a/vendor/github.com/containernetworking/cni/pkg/invoke/exec.go +++ b/vendor/github.com/containernetworking/cni/pkg/invoke/exec.go @@ -81,17 +81,17 @@ func fixupResultVersion(netconf, result []byte) (string, []byte, error) { // object to ExecPluginWithResult() to verify the incoming stdin and environment // and provide a tailored response: // -//import ( +// import ( // "encoding/json" // "path" // "strings" -//) +// ) // -//type fakeExec struct { +// type fakeExec struct { // version.PluginDecoder -//} +// } // -//func (f *fakeExec) ExecPlugin(pluginPath string, stdinData []byte, environ []string) ([]byte, error) { +// func (f *fakeExec) ExecPlugin(pluginPath string, stdinData []byte, environ []string) ([]byte, error) { // net := &types.NetConf{} // err := json.Unmarshal(stdinData, net) // if err != nil { @@ -109,14 +109,14 @@ func fixupResultVersion(netconf, result []byte) (string, []byte, error) { // } // } // return []byte("{\"CNIVersion\":\"0.4.0\"}"), nil -//} +// } // -//func (f *fakeExec) FindInPath(plugin string, paths []string) (string, error) { +// func (f *fakeExec) FindInPath(plugin string, paths []string) (string, error) { // if len(paths) > 0 { // return path.Join(paths[0], plugin), nil // } // return "", fmt.Errorf("failed to find plugin %s in paths %v", plugin, paths) -//} +// } func ExecPluginWithResult(ctx context.Context, pluginPath string, netconf []byte, args CNIArgs, exec Exec) (types.Result, error) { if exec == nil { diff --git a/vendor/github.com/containernetworking/cni/pkg/invoke/os_unix.go b/vendor/github.com/containernetworking/cni/pkg/invoke/os_unix.go index 9bcfb4553..ed0999bd0 100644 --- a/vendor/github.com/containernetworking/cni/pkg/invoke/os_unix.go +++ b/vendor/github.com/containernetworking/cni/pkg/invoke/os_unix.go @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris // +build darwin dragonfly freebsd linux netbsd openbsd solaris package invoke diff --git a/vendor/github.com/containernetworking/cni/pkg/types/100/types.go b/vendor/github.com/containernetworking/cni/pkg/types/100/types.go index 0e1e8b857..f58b91206 100644 --- a/vendor/github.com/containernetworking/cni/pkg/types/100/types.go +++ b/vendor/github.com/containernetworking/cni/pkg/types/100/types.go @@ -26,9 +26,10 @@ import ( convert "github.com/containernetworking/cni/pkg/types/internal" ) -const ImplementedSpecVersion string = "1.0.0" +// The types did not change between v1.0 and v1.1 +const ImplementedSpecVersion string = "1.1.0" -var supportedVersions = []string{ImplementedSpecVersion} +var supportedVersions = []string{"1.0.0", "1.1.0"} // Register converters for all versions less than the implemented spec version func init() { @@ -38,10 +39,14 @@ func init() { convert.RegisterConverter("0.3.0", supportedVersions, convertFrom04x) convert.RegisterConverter("0.3.1", supportedVersions, convertFrom04x) convert.RegisterConverter("0.4.0", supportedVersions, convertFrom04x) + convert.RegisterConverter("1.0.0", []string{"1.1.0"}, convertFrom100) // Down-converters convert.RegisterConverter("1.0.0", []string{"0.3.0", "0.3.1", "0.4.0"}, convertTo04x) convert.RegisterConverter("1.0.0", []string{"0.1.0", "0.2.0"}, convertTo02x) + convert.RegisterConverter("1.1.0", []string{"0.3.0", "0.3.1", "0.4.0"}, convertTo04x) + convert.RegisterConverter("1.1.0", []string{"0.1.0", "0.2.0"}, convertTo02x) + convert.RegisterConverter("1.1.0", []string{"1.0.0"}, convertFrom100) // Creator convert.RegisterCreator(supportedVersions, NewResult) @@ -90,12 +95,49 @@ type Result struct { DNS types.DNS `json:"dns,omitempty"` } +// Note: DNS should be omit if DNS is empty but default Marshal function +// will output empty structure hence need to write a Marshal function +func (r *Result) MarshalJSON() ([]byte, error) { + // use type alias to escape recursion for json.Marshal() to MarshalJSON() + type fixObjType = Result + + bytes, err := json.Marshal(fixObjType(*r)) //nolint:all + if err != nil { + return nil, err + } + + fixupObj := make(map[string]interface{}) + if err := json.Unmarshal(bytes, &fixupObj); err != nil { + return nil, err + } + + if r.DNS.IsEmpty() { + delete(fixupObj, "dns") + } + + return json.Marshal(fixupObj) +} + +// convertFrom100 does nothing except set the version; the types are the same +func convertFrom100(from types.Result, toVersion string) (types.Result, error) { + fromResult := from.(*Result) + + result := &Result{ + CNIVersion: toVersion, + Interfaces: fromResult.Interfaces, + IPs: fromResult.IPs, + Routes: fromResult.Routes, + DNS: fromResult.DNS, + } + return result, nil +} + func convertFrom02x(from types.Result, toVersion string) (types.Result, error) { result040, err := convert.Convert(from, "0.4.0") if err != nil { return nil, err } - result100, err := convertFrom04x(result040, ImplementedSpecVersion) + result100, err := convertFrom04x(result040, toVersion) if err != nil { return nil, err } @@ -226,9 +268,12 @@ func (r *Result) PrintTo(writer io.Writer) error { // Interface contains values about the created interfaces type Interface struct { - Name string `json:"name"` - Mac string `json:"mac,omitempty"` - Sandbox string `json:"sandbox,omitempty"` + Name string `json:"name"` + Mac string `json:"mac,omitempty"` + Mtu int `json:"mtu,omitempty"` + Sandbox string `json:"sandbox,omitempty"` + SocketPath string `json:"socketPath,omitempty"` + PciID string `json:"pciID,omitempty"` } func (i *Interface) String() string { diff --git a/vendor/github.com/containernetworking/cni/pkg/types/args.go b/vendor/github.com/containernetworking/cni/pkg/types/args.go index 7516f03ef..68a602bfd 100644 --- a/vendor/github.com/containernetworking/cni/pkg/types/args.go +++ b/vendor/github.com/containernetworking/cni/pkg/types/args.go @@ -26,8 +26,8 @@ import ( type UnmarshallableBool bool // UnmarshalText implements the encoding.TextUnmarshaler interface. -// Returns boolean true if the string is "1" or "[Tt]rue" -// Returns boolean false if the string is "0" or "[Ff]alse" +// Returns boolean true if the string is "1" or "true" or "True" +// Returns boolean false if the string is "0" or "false" or "False” func (b *UnmarshallableBool) UnmarshalText(data []byte) error { s := strings.ToLower(string(data)) switch s { diff --git a/vendor/github.com/containernetworking/cni/pkg/types/create/create.go b/vendor/github.com/containernetworking/cni/pkg/types/create/create.go index ed28b33e8..452cb6220 100644 --- a/vendor/github.com/containernetworking/cni/pkg/types/create/create.go +++ b/vendor/github.com/containernetworking/cni/pkg/types/create/create.go @@ -19,6 +19,9 @@ import ( "fmt" "github.com/containernetworking/cni/pkg/types" + _ "github.com/containernetworking/cni/pkg/types/020" + _ "github.com/containernetworking/cni/pkg/types/040" + _ "github.com/containernetworking/cni/pkg/types/100" convert "github.com/containernetworking/cni/pkg/types/internal" ) diff --git a/vendor/github.com/containernetworking/cni/pkg/types/types.go b/vendor/github.com/containernetworking/cni/pkg/types/types.go index fba17dfc0..f4b3ce353 100644 --- a/vendor/github.com/containernetworking/cni/pkg/types/types.go +++ b/vendor/github.com/containernetworking/cni/pkg/types/types.go @@ -56,31 +56,72 @@ func (n *IPNet) UnmarshalJSON(data []byte) error { return nil } -// NetConf describes a network. -type NetConf struct { +// Use PluginConf instead of NetConf, the NetConf +// backwards-compat alias will be removed in a future release. +type NetConf = PluginConf + +// PluginConf describes a plugin configuration for a specific network. +type PluginConf struct { CNIVersion string `json:"cniVersion,omitempty"` Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` Capabilities map[string]bool `json:"capabilities,omitempty"` IPAM IPAM `json:"ipam,omitempty"` - DNS DNS `json:"dns"` + DNS DNS `json:"dns,omitempty"` RawPrevResult map[string]interface{} `json:"prevResult,omitempty"` PrevResult Result `json:"-"` + + // ValidAttachments is only supplied when executing a GC operation + ValidAttachments []GCAttachment `json:"cni.dev/valid-attachments,omitempty"` +} + +// GCAttachment is the parameters to a GC call -- namely, +// the container ID and ifname pair that represents a +// still-valid attachment. +type GCAttachment struct { + ContainerID string `json:"containerID"` + IfName string `json:"ifname"` +} + +// Note: DNS should be omit if DNS is empty but default Marshal function +// will output empty structure hence need to write a Marshal function +func (n *PluginConf) MarshalJSON() ([]byte, error) { + bytes, err := json.Marshal(*n) + if err != nil { + return nil, err + } + + fixupObj := make(map[string]interface{}) + if err := json.Unmarshal(bytes, &fixupObj); err != nil { + return nil, err + } + + if n.DNS.IsEmpty() { + delete(fixupObj, "dns") + } + + return json.Marshal(fixupObj) } type IPAM struct { Type string `json:"type,omitempty"` } +// IsEmpty returns true if IPAM structure has no value, otherwise return false +func (i *IPAM) IsEmpty() bool { + return i.Type == "" +} + // NetConfList describes an ordered list of networks. type NetConfList struct { CNIVersion string `json:"cniVersion,omitempty"` - Name string `json:"name,omitempty"` - DisableCheck bool `json:"disableCheck,omitempty"` - Plugins []*NetConf `json:"plugins,omitempty"` + Name string `json:"name,omitempty"` + DisableCheck bool `json:"disableCheck,omitempty"` + DisableGC bool `json:"disableGC,omitempty"` + Plugins []*PluginConf `json:"plugins,omitempty"` } // Result is an interface that provides the result of plugin execution @@ -116,31 +157,48 @@ type DNS struct { Options []string `json:"options,omitempty"` } +// IsEmpty returns true if DNS structure has no value, otherwise return false +func (d *DNS) IsEmpty() bool { + if len(d.Nameservers) == 0 && d.Domain == "" && len(d.Search) == 0 && len(d.Options) == 0 { + return true + } + return false +} + func (d *DNS) Copy() *DNS { if d == nil { return nil } to := &DNS{Domain: d.Domain} - for _, ns := range d.Nameservers { - to.Nameservers = append(to.Nameservers, ns) - } - for _, s := range d.Search { - to.Search = append(to.Search, s) - } - for _, o := range d.Options { - to.Options = append(to.Options, o) - } + to.Nameservers = append(to.Nameservers, d.Nameservers...) + to.Search = append(to.Search, d.Search...) + to.Options = append(to.Options, d.Options...) return to } type Route struct { - Dst net.IPNet - GW net.IP + Dst net.IPNet + GW net.IP + MTU int + AdvMSS int + Priority int + Table *int + Scope *int } func (r *Route) String() string { - return fmt.Sprintf("%+v", *r) + table := "" + if r.Table != nil { + table = fmt.Sprintf("%d", *r.Table) + } + + scope := "" + if r.Scope != nil { + scope = fmt.Sprintf("%d", *r.Scope) + } + + return fmt.Sprintf("{Dst:%+v GW:%v MTU:%d AdvMSS:%d Priority:%d Table:%s Scope:%s}", r.Dst, r.GW, r.MTU, r.AdvMSS, r.Priority, table, scope) } func (r *Route) Copy() *Route { @@ -148,14 +206,30 @@ func (r *Route) Copy() *Route { return nil } - return &Route{ - Dst: r.Dst, - GW: r.GW, + route := &Route{ + Dst: r.Dst, + GW: r.GW, + MTU: r.MTU, + AdvMSS: r.AdvMSS, + Priority: r.Priority, + Scope: r.Scope, + } + + if r.Table != nil { + table := *r.Table + route.Table = &table } + + if r.Scope != nil { + scope := *r.Scope + route.Scope = &scope + } + + return route } // Well known error codes -// see https://github.com/containernetworking/cni/blob/master/SPEC.md#well-known-error-codes +// see https://github.com/containernetworking/cni/blob/main/SPEC.md#well-known-error-codes const ( ErrUnknown uint = iota // 0 ErrIncompatibleCNIVersion // 1 @@ -165,6 +239,7 @@ const ( ErrIOFailure // 5 ErrDecodingFailure // 6 ErrInvalidNetworkConfig // 7 + ErrInvalidNetNS // 8 ErrTryAgainLater uint = 11 ErrInternal uint = 999 ) @@ -200,8 +275,13 @@ func (e *Error) Print() error { // JSON (un)marshallable types type route struct { - Dst IPNet `json:"dst"` - GW net.IP `json:"gw,omitempty"` + Dst IPNet `json:"dst"` + GW net.IP `json:"gw,omitempty"` + MTU int `json:"mtu,omitempty"` + AdvMSS int `json:"advmss,omitempty"` + Priority int `json:"priority,omitempty"` + Table *int `json:"table,omitempty"` + Scope *int `json:"scope,omitempty"` } func (r *Route) UnmarshalJSON(data []byte) error { @@ -212,13 +292,24 @@ func (r *Route) UnmarshalJSON(data []byte) error { r.Dst = net.IPNet(rt.Dst) r.GW = rt.GW + r.MTU = rt.MTU + r.AdvMSS = rt.AdvMSS + r.Priority = rt.Priority + r.Table = rt.Table + r.Scope = rt.Scope + return nil } func (r Route) MarshalJSON() ([]byte, error) { rt := route{ - Dst: IPNet(r.Dst), - GW: r.GW, + Dst: IPNet(r.Dst), + GW: r.GW, + MTU: r.MTU, + AdvMSS: r.AdvMSS, + Priority: r.Priority, + Table: r.Table, + Scope: r.Scope, } return json.Marshal(rt) diff --git a/vendor/github.com/containernetworking/cni/pkg/utils/utils.go b/vendor/github.com/containernetworking/cni/pkg/utils/utils.go index b8ec38874..1981d2556 100644 --- a/vendor/github.com/containernetworking/cni/pkg/utils/utils.go +++ b/vendor/github.com/containernetworking/cni/pkg/utils/utils.go @@ -36,7 +36,6 @@ var cniReg = regexp.MustCompile(`^` + cniValidNameChars + `*$`) // ValidateContainerID will validate that the supplied containerID is not empty does not contain invalid characters func ValidateContainerID(containerID string) *types.Error { - if containerID == "" { return types.NewError(types.ErrUnknownContainer, "missing containerID", "") } @@ -48,7 +47,6 @@ func ValidateContainerID(containerID string) *types.Error { // ValidateNetworkName will validate that the supplied networkName does not contain invalid characters func ValidateNetworkName(networkName string) *types.Error { - if networkName == "" { return types.NewError(types.ErrInvalidNetworkConfig, "missing network name:", "") } @@ -58,11 +56,11 @@ func ValidateNetworkName(networkName string) *types.Error { return nil } -// ValidateInterfaceName will validate the interface name based on the three rules below +// ValidateInterfaceName will validate the interface name based on the four rules below // 1. The name must not be empty // 2. The name must be less than 16 characters // 3. The name must not be "." or ".." -// 3. The name must not contain / or : or any whitespace characters +// 4. The name must not contain / or : or any whitespace characters // ref to https://github.com/torvalds/linux/blob/master/net/core/dev.c#L1024 func ValidateInterfaceName(ifName string) *types.Error { if len(ifName) == 0 { diff --git a/vendor/github.com/containernetworking/cni/pkg/version/plugin.go b/vendor/github.com/containernetworking/cni/pkg/version/plugin.go index 17b22b6b0..e3bd375bc 100644 --- a/vendor/github.com/containernetworking/cni/pkg/version/plugin.go +++ b/vendor/github.com/containernetworking/cni/pkg/version/plugin.go @@ -142,3 +142,27 @@ func GreaterThanOrEqualTo(version, otherVersion string) (bool, error) { } return false, nil } + +// GreaterThan returns true if the first version is greater than the second +func GreaterThan(version, otherVersion string) (bool, error) { + firstMajor, firstMinor, firstMicro, err := ParseVersion(version) + if err != nil { + return false, err + } + + secondMajor, secondMinor, secondMicro, err := ParseVersion(otherVersion) + if err != nil { + return false, err + } + + if firstMajor > secondMajor { + return true, nil + } else if firstMajor == secondMajor { + if firstMinor > secondMinor { + return true, nil + } else if firstMinor == secondMinor && firstMicro > secondMicro { + return true, nil + } + } + return false, nil +} diff --git a/vendor/github.com/containernetworking/cni/pkg/version/version.go b/vendor/github.com/containernetworking/cni/pkg/version/version.go index 1326f8038..cfb6a12fa 100644 --- a/vendor/github.com/containernetworking/cni/pkg/version/version.go +++ b/vendor/github.com/containernetworking/cni/pkg/version/version.go @@ -19,13 +19,12 @@ import ( "fmt" "github.com/containernetworking/cni/pkg/types" - types100 "github.com/containernetworking/cni/pkg/types/100" "github.com/containernetworking/cni/pkg/types/create" ) // Current reports the version of the CNI spec implemented by this library func Current() string { - return types100.ImplementedSpecVersion + return "1.1.0" } // Legacy PluginInfo describes a plugin that is backwards compatible with the @@ -35,8 +34,10 @@ func Current() string { // // Any future CNI spec versions which meet this definition should be added to // this list. -var Legacy = PluginSupports("0.1.0", "0.2.0") -var All = PluginSupports("0.1.0", "0.2.0", "0.3.0", "0.3.1", "0.4.0", "1.0.0") +var ( + Legacy = PluginSupports("0.1.0", "0.2.0") + All = PluginSupports("0.1.0", "0.2.0", "0.3.0", "0.3.1", "0.4.0", "1.0.0", "1.1.0") +) // VersionsFrom returns a list of versions starting from min, inclusive func VersionsStartingFrom(min string) PluginInfo { @@ -62,7 +63,7 @@ func NewResult(version string, resultBytes []byte) (types.Result, error) { // ParsePrevResult parses a prevResult in a NetConf structure and sets // the NetConf's PrevResult member to the parsed Result object. -func ParsePrevResult(conf *types.NetConf) error { +func ParsePrevResult(conf *types.PluginConf) error { if conf.RawPrevResult == nil { return nil } diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/addr_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ip/addr_linux.go index b4db50b9a..53383de8c 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ip/addr_linux.go +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/addr_linux.go @@ -20,6 +20,8 @@ import ( "time" "github.com/vishvananda/netlink" + + "github.com/containernetworking/plugins/pkg/netlinksafe" ) const SETTLE_INTERVAL = 50 * time.Millisecond @@ -29,15 +31,15 @@ const SETTLE_INTERVAL = 50 * time.Millisecond // There is no easy way to wait for this as an event, so just loop until the // addresses are no longer tentative. // If any addresses are still tentative after timeout seconds, then error. -func SettleAddresses(ifName string, timeout int) error { - link, err := netlink.LinkByName(ifName) +func SettleAddresses(ifName string, timeout time.Duration) error { + link, err := netlinksafe.LinkByName(ifName) if err != nil { return fmt.Errorf("failed to retrieve link: %v", err) } - deadline := time.Now().Add(time.Duration(timeout) * time.Second) + deadline := time.Now().Add(timeout) for { - addrs, err := netlink.AddrList(link, netlink.FAMILY_ALL) + addrs, err := netlinksafe.AddrList(link, netlink.FAMILY_V6) if err != nil { return fmt.Errorf("could not list addresses: %v", err) } @@ -48,7 +50,13 @@ func SettleAddresses(ifName string, timeout int) error { ok := true for _, addr := range addrs { - if addr.Flags&(syscall.IFA_F_TENTATIVE|syscall.IFA_F_DADFAILED) > 0 { + if addr.Flags&(syscall.IFA_F_DADFAILED) != 0 { + return fmt.Errorf("link %s has address %s in DADFAILED state", + ifName, + addr.IP.String()) + } + + if addr.Flags&(syscall.IFA_F_TENTATIVE) != 0 { ok = false break // Break out of the `range addrs`, not the `for` } diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/ip.go b/vendor/github.com/containernetworking/plugins/pkg/ip/ip.go index 4469e1b5d..c5a34fa3d 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ip/ip.go +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/ip.go @@ -47,13 +47,12 @@ func ParseIP(s string) *IP { return nil } return newIP(ip, ipNet.Mask) - } else { - ip := net.ParseIP(s) - if ip == nil { - return nil - } - return newIP(ip, nil) } + ip := net.ParseIP(s) + if ip == nil { + return nil + } + return newIP(ip, nil) } // ToIP will return a net.IP in standard form from this IP. diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/ipforward_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ip/ipforward_linux.go index 0e8b6b691..7c9011413 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ip/ipforward_linux.go +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/ipforward_linux.go @@ -58,5 +58,5 @@ func echo1(f string) error { return nil } } - return os.WriteFile(f, []byte("1"), 0644) + return os.WriteFile(f, []byte("1"), 0o644) } diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_iptables_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_iptables_linux.go new file mode 100644 index 000000000..080d4fda6 --- /dev/null +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_iptables_linux.go @@ -0,0 +1,180 @@ +// Copyright 2015 CNI authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ip + +import ( + "errors" + "fmt" + "net" + "strings" + + "github.com/coreos/go-iptables/iptables" + + "github.com/containernetworking/cni/pkg/types" + "github.com/containernetworking/plugins/pkg/utils" +) + +// setupIPMasqIPTables is the iptables-based implementation of SetupIPMasqForNetworks +func setupIPMasqIPTables(ipns []*net.IPNet, network, _, containerID string) error { + // Note: for historical reasons, the iptables implementation ignores ifname. + chain := utils.FormatChainName(network, containerID) + comment := utils.FormatComment(network, containerID) + for _, ip := range ipns { + if err := SetupIPMasq(ip, chain, comment); err != nil { + return err + } + } + return nil +} + +// SetupIPMasq installs iptables rules to masquerade traffic +// coming from ip of ipn and going outside of ipn. +// Deprecated: This function only supports iptables. Use SetupIPMasqForNetworks, which +// supports both iptables and nftables. +func SetupIPMasq(ipn *net.IPNet, chain string, comment string) error { + isV6 := ipn.IP.To4() == nil + + var ipt *iptables.IPTables + var err error + var multicastNet string + + if isV6 { + ipt, err = iptables.NewWithProtocol(iptables.ProtocolIPv6) + multicastNet = "ff00::/8" + } else { + ipt, err = iptables.NewWithProtocol(iptables.ProtocolIPv4) + multicastNet = "224.0.0.0/4" + } + if err != nil { + return fmt.Errorf("failed to locate iptables: %v", err) + } + + // Create chain if doesn't exist + exists := false + chains, err := ipt.ListChains("nat") + if err != nil { + return fmt.Errorf("failed to list chains: %v", err) + } + for _, ch := range chains { + if ch == chain { + exists = true + break + } + } + if !exists { + if err = ipt.NewChain("nat", chain); err != nil { + return err + } + } + + // Packets to this network should not be touched + if err := ipt.AppendUnique("nat", chain, "-d", ipn.String(), "-j", "ACCEPT", "-m", "comment", "--comment", comment); err != nil { + return err + } + + // Don't masquerade multicast - pods should be able to talk to other pods + // on the local network via multicast. + if err := ipt.AppendUnique("nat", chain, "!", "-d", multicastNet, "-j", "MASQUERADE", "-m", "comment", "--comment", comment); err != nil { + return err + } + + // Packets from the specific IP of this network will hit the chain + return ipt.AppendUnique("nat", "POSTROUTING", "-s", ipn.IP.String(), "-j", chain, "-m", "comment", "--comment", comment) +} + +// teardownIPMasqIPTables is the iptables-based implementation of TeardownIPMasqForNetworks +func teardownIPMasqIPTables(ipns []*net.IPNet, network, _, containerID string) error { + // Note: for historical reasons, the iptables implementation ignores ifname. + chain := utils.FormatChainName(network, containerID) + comment := utils.FormatComment(network, containerID) + + var errs []string + for _, ipn := range ipns { + err := TeardownIPMasq(ipn, chain, comment) + if err != nil { + errs = append(errs, err.Error()) + } + } + + if errs == nil { + return nil + } + return errors.New(strings.Join(errs, "\n")) +} + +// TeardownIPMasq undoes the effects of SetupIPMasq. +// Deprecated: This function only supports iptables. Use TeardownIPMasqForNetworks, which +// supports both iptables and nftables. +func TeardownIPMasq(ipn *net.IPNet, chain string, comment string) error { + isV6 := ipn.IP.To4() == nil + + var ipt *iptables.IPTables + var err error + + if isV6 { + ipt, err = iptables.NewWithProtocol(iptables.ProtocolIPv6) + } else { + ipt, err = iptables.NewWithProtocol(iptables.ProtocolIPv4) + } + if err != nil { + return fmt.Errorf("failed to locate iptables: %v", err) + } + + err = ipt.Delete("nat", "POSTROUTING", "-s", ipn.IP.String(), "-j", chain, "-m", "comment", "--comment", comment) + if err != nil && !isNotExist(err) { + return err + } + + // for downward compatibility + err = ipt.Delete("nat", "POSTROUTING", "-s", ipn.String(), "-j", chain, "-m", "comment", "--comment", comment) + if err != nil && !isNotExist(err) { + return err + } + + err = ipt.ClearChain("nat", chain) + if err != nil && !isNotExist(err) { + return err + } + + err = ipt.DeleteChain("nat", chain) + if err != nil && !isNotExist(err) { + return err + } + + return nil +} + +// gcIPMasqIPTables is the iptables-based implementation of GCIPMasqForNetwork +func gcIPMasqIPTables(_ string, _ []types.GCAttachment) error { + // FIXME: The iptables implementation does not support GC. + // + // (In theory, it _could_ backward-compatibly support it, by adding a no-op rule + // with a comment indicating the network to each chain it creates, so that it + // could later figure out which chains corresponded to which networks; older + // implementations would ignore the extra rule but would still correctly delete + // the chain on teardown (because they ClearChain() before doing DeleteChain()). + + return nil +} + +// isNotExist returnst true if the error is from iptables indicating +// that the target does not exist. +func isNotExist(err error) bool { + e, ok := err.(*iptables.Error) + if !ok { + return false + } + return e.IsNotExist() +} diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_linux.go index cc640a605..0063e0a78 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_linux.go +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_linux.go @@ -15,112 +15,78 @@ package ip import ( + "errors" "fmt" "net" + "strings" - "github.com/coreos/go-iptables/iptables" + "github.com/containernetworking/cni/pkg/types" + "github.com/containernetworking/plugins/pkg/utils" ) -// SetupIPMasq installs iptables rules to masquerade traffic -// coming from ip of ipn and going outside of ipn -func SetupIPMasq(ipn *net.IPNet, chain string, comment string) error { - isV6 := ipn.IP.To4() == nil - - var ipt *iptables.IPTables - var err error - var multicastNet string - - if isV6 { - ipt, err = iptables.NewWithProtocol(iptables.ProtocolIPv6) - multicastNet = "ff00::/8" - } else { - ipt, err = iptables.NewWithProtocol(iptables.ProtocolIPv4) - multicastNet = "224.0.0.0/4" - } - if err != nil { - return fmt.Errorf("failed to locate iptables: %v", err) - } - - // Create chain if doesn't exist - exists := false - chains, err := ipt.ListChains("nat") - if err != nil { - return fmt.Errorf("failed to list chains: %v", err) - } - for _, ch := range chains { - if ch == chain { - exists = true - break - } - } - if !exists { - if err = ipt.NewChain("nat", chain); err != nil { - return err +// SetupIPMasqForNetworks installs rules to masquerade traffic coming from ips of ipns and +// going outside of ipns, using a chain name based on network, ifname, and containerID. The +// backend can be either "iptables" or "nftables"; if it is nil, then a suitable default +// implementation will be used. +func SetupIPMasqForNetworks(backend *string, ipns []*net.IPNet, network, ifname, containerID string) error { + if backend == nil { + // Prefer iptables, unless only nftables is available + defaultBackend := "iptables" + if !utils.SupportsIPTables() && utils.SupportsNFTables() { + defaultBackend = "nftables" } + backend = &defaultBackend } - // Packets to this network should not be touched - if err := ipt.AppendUnique("nat", chain, "-d", ipn.String(), "-j", "ACCEPT", "-m", "comment", "--comment", comment); err != nil { - return err + switch *backend { + case "iptables": + return setupIPMasqIPTables(ipns, network, ifname, containerID) + case "nftables": + return setupIPMasqNFTables(ipns, network, ifname, containerID) + default: + return fmt.Errorf("unknown ipmasq backend %q", *backend) } - - // Don't masquerade multicast - pods should be able to talk to other pods - // on the local network via multicast. - if err := ipt.AppendUnique("nat", chain, "!", "-d", multicastNet, "-j", "MASQUERADE", "-m", "comment", "--comment", comment); err != nil { - return err - } - - // Packets from the specific IP of this network will hit the chain - return ipt.AppendUnique("nat", "POSTROUTING", "-s", ipn.IP.String(), "-j", chain, "-m", "comment", "--comment", comment) } -// TeardownIPMasq undoes the effects of SetupIPMasq -func TeardownIPMasq(ipn *net.IPNet, chain string, comment string) error { - isV6 := ipn.IP.To4() == nil +// TeardownIPMasqForNetworks undoes the effects of SetupIPMasqForNetworks +func TeardownIPMasqForNetworks(ipns []*net.IPNet, network, ifname, containerID string) error { + var errs []string - var ipt *iptables.IPTables - var err error + // Do both the iptables and the nftables cleanup, since the pod may have been + // created with a different version of this plugin or a different configuration. - if isV6 { - ipt, err = iptables.NewWithProtocol(iptables.ProtocolIPv6) - } else { - ipt, err = iptables.NewWithProtocol(iptables.ProtocolIPv4) - } - if err != nil { - return fmt.Errorf("failed to locate iptables: %v", err) + err := teardownIPMasqIPTables(ipns, network, ifname, containerID) + if err != nil && utils.SupportsIPTables() { + errs = append(errs, err.Error()) } - err = ipt.Delete("nat", "POSTROUTING", "-s", ipn.IP.String(), "-j", chain, "-m", "comment", "--comment", comment) - if err != nil && !isNotExist(err) { - return err + err = teardownIPMasqNFTables(ipns, network, ifname, containerID) + if err != nil && utils.SupportsNFTables() { + errs = append(errs, err.Error()) } - // for downward compatibility - err = ipt.Delete("nat", "POSTROUTING", "-s", ipn.String(), "-j", chain, "-m", "comment", "--comment", comment) - if err != nil && !isNotExist(err) { - return err + if errs == nil { + return nil } + return errors.New(strings.Join(errs, "\n")) +} - err = ipt.ClearChain("nat", chain) - if err != nil && !isNotExist(err) { - return err +// GCIPMasqForNetwork garbage collects stale IPMasq entries for network +func GCIPMasqForNetwork(network string, attachments []types.GCAttachment) error { + var errs []string + err := gcIPMasqIPTables(network, attachments) + if err != nil && utils.SupportsIPTables() { + errs = append(errs, err.Error()) } - err = ipt.DeleteChain("nat", chain) - if err != nil && !isNotExist(err) { - return err + err = gcIPMasqNFTables(network, attachments) + if err != nil && utils.SupportsNFTables() { + errs = append(errs, err.Error()) } - return nil -} - -// isNotExist returnst true if the error is from iptables indicating -// that the target does not exist. -func isNotExist(err error) bool { - e, ok := err.(*iptables.Error) - if !ok { - return false + if errs == nil { + return nil } - return e.IsNotExist() + return errors.New(strings.Join(errs, "\n")) } diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_nftables_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_nftables_linux.go new file mode 100644 index 000000000..fd0545eeb --- /dev/null +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/ipmasq_nftables_linux.go @@ -0,0 +1,231 @@ +// Copyright 2023 CNI authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ip + +import ( + "context" + "fmt" + "net" + "strings" + + "sigs.k8s.io/knftables" + + "github.com/containernetworking/cni/pkg/types" + "github.com/containernetworking/plugins/pkg/utils" +) + +const ( + ipMasqTableName = "cni_plugins_masquerade" + ipMasqChainName = "masq_checks" +) + +// The nftables ipmasq implementation is mostly like the iptables implementation, with +// minor updates to fix a bug (adding `ifname`) and to allow future GC support. +// +// We add a rule for each mapping, with a comment containing a hash of its identifiers, +// so that we can later reliably delete the rules we want. (This is important because in +// edge cases, it's possible the plugin might see "ADD container A with IP 192.168.1.3", +// followed by "ADD container B with IP 192.168.1.3" followed by "DEL container A with IP +// 192.168.1.3", and we need to make sure that the DEL causes us to delete the rule for +// container A, and not the rule for container B.) +// +// It would be more nftables-y to have a chain with a single rule doing a lookup against a +// set with an element per mapping, rather than having a chain with a rule per mapping. +// But there's no easy, non-racy way to say "delete the element 192.168.1.3 from the set, +// but only if it was added for container A, not if it was added for container B". + +// hashForNetwork returns a unique hash for this network +func hashForNetwork(network string) string { + return utils.MustFormatHashWithPrefix(16, "", network) +} + +// hashForInstance returns a unique hash identifying the rules for this +// network/ifname/containerID +func hashForInstance(network, ifname, containerID string) string { + return hashForNetwork(network) + "-" + utils.MustFormatHashWithPrefix(16, "", ifname+":"+containerID) +} + +// commentForInstance returns a comment string that begins with a unique hash and +// ends with a (possibly-truncated) human-readable description. +func commentForInstance(network, ifname, containerID string) string { + comment := fmt.Sprintf("%s, net: %s, if: %s, id: %s", + hashForInstance(network, ifname, containerID), + strings.ReplaceAll(network, `"`, ``), + strings.ReplaceAll(ifname, `"`, ``), + strings.ReplaceAll(containerID, `"`, ``), + ) + if len(comment) > knftables.CommentLengthMax { + comment = comment[:knftables.CommentLengthMax] + } + return comment +} + +// setupIPMasqNFTables is the nftables-based implementation of SetupIPMasqForNetworks +func setupIPMasqNFTables(ipns []*net.IPNet, network, ifname, containerID string) error { + nft, err := knftables.New(knftables.InetFamily, ipMasqTableName) + if err != nil { + return err + } + return setupIPMasqNFTablesWithInterface(nft, ipns, network, ifname, containerID) +} + +func setupIPMasqNFTablesWithInterface(nft knftables.Interface, ipns []*net.IPNet, network, ifname, containerID string) error { + staleRules, err := findRules(nft, hashForInstance(network, ifname, containerID)) + if err != nil { + return err + } + + tx := nft.NewTransaction() + + // Ensure that our table and chains exist. + tx.Add(&knftables.Table{ + Comment: knftables.PtrTo("Masquerading for plugins from github.com/containernetworking/plugins"), + }) + tx.Add(&knftables.Chain{ + Name: ipMasqChainName, + Comment: knftables.PtrTo("Masquerade traffic from certain IPs to any (non-multicast) IP outside their subnet"), + }) + + // Ensure that the postrouting chain exists and has the correct rules. (Has to be + // done after creating ipMasqChainName, so we can jump to it.) + tx.Add(&knftables.Chain{ + Name: "postrouting", + Type: knftables.PtrTo(knftables.NATType), + Hook: knftables.PtrTo(knftables.PostroutingHook), + Priority: knftables.PtrTo(knftables.SNATPriority), + }) + tx.Flush(&knftables.Chain{ + Name: "postrouting", + }) + tx.Add(&knftables.Rule{ + Chain: "postrouting", + Rule: "ip daddr == 224.0.0.0/4 return", + }) + tx.Add(&knftables.Rule{ + Chain: "postrouting", + Rule: "ip6 daddr == ff00::/8 return", + }) + tx.Add(&knftables.Rule{ + Chain: "postrouting", + Rule: knftables.Concat( + "goto", ipMasqChainName, + ), + }) + + // Delete stale rules, add new rules to masquerade chain + for _, rule := range staleRules { + tx.Delete(rule) + } + for _, ipn := range ipns { + ip := "ip" + if ipn.IP.To4() == nil { + ip = "ip6" + } + + // e.g. if ipn is "192.168.1.4/24", then dstNet is "192.168.1.0/24" + dstNet := &net.IPNet{IP: ipn.IP.Mask(ipn.Mask), Mask: ipn.Mask} + + tx.Add(&knftables.Rule{ + Chain: ipMasqChainName, + Rule: knftables.Concat( + ip, "saddr", "==", ipn.IP, + ip, "daddr", "!=", dstNet, + "masquerade", + ), + Comment: knftables.PtrTo(commentForInstance(network, ifname, containerID)), + }) + } + + return nft.Run(context.TODO(), tx) +} + +// teardownIPMasqNFTables is the nftables-based implementation of TeardownIPMasqForNetworks +func teardownIPMasqNFTables(ipns []*net.IPNet, network, ifname, containerID string) error { + nft, err := knftables.New(knftables.InetFamily, ipMasqTableName) + if err != nil { + return err + } + return teardownIPMasqNFTablesWithInterface(nft, ipns, network, ifname, containerID) +} + +func teardownIPMasqNFTablesWithInterface(nft knftables.Interface, _ []*net.IPNet, network, ifname, containerID string) error { + rules, err := findRules(nft, hashForInstance(network, ifname, containerID)) + if err != nil { + return err + } else if len(rules) == 0 { + return nil + } + + tx := nft.NewTransaction() + for _, rule := range rules { + tx.Delete(rule) + } + return nft.Run(context.TODO(), tx) +} + +// gcIPMasqNFTables is the nftables-based implementation of GCIPMasqForNetwork +func gcIPMasqNFTables(network string, attachments []types.GCAttachment) error { + nft, err := knftables.New(knftables.InetFamily, ipMasqTableName) + if err != nil { + return err + } + return gcIPMasqNFTablesWithInterface(nft, network, attachments) +} + +func gcIPMasqNFTablesWithInterface(nft knftables.Interface, network string, attachments []types.GCAttachment) error { + // Find all rules for the network + rules, err := findRules(nft, hashForNetwork(network)) + if err != nil { + return err + } else if len(rules) == 0 { + return nil + } + + // Compute the comments for all elements of attachments + validAttachments := map[string]bool{} + for _, attachment := range attachments { + validAttachments[commentForInstance(network, attachment.IfName, attachment.ContainerID)] = true + } + + // Delete anything in rules that isn't in validAttachments + tx := nft.NewTransaction() + for _, rule := range rules { + if !validAttachments[*rule.Comment] { + tx.Delete(rule) + } + } + return nft.Run(context.TODO(), tx) +} + +// findRules finds rules with comments that start with commentPrefix. +func findRules(nft knftables.Interface, commentPrefix string) ([]*knftables.Rule, error) { + rules, err := nft.ListRules(context.TODO(), ipMasqChainName) + if err != nil { + if knftables.IsNotFound(err) { + // If ipMasqChainName doesn't exist yet, that's fine + return nil, nil + } + return nil, err + } + + matchingRules := make([]*knftables.Rule, 0, 1) + for _, rule := range rules { + if rule.Comment != nil && strings.HasPrefix(*rule.Comment, commentPrefix) { + matchingRules = append(matchingRules, rule) + } + } + + return matchingRules, nil +} diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/link_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ip/link_linux.go index 91f931b57..8f677bf36 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ip/link_linux.go +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/link_linux.go @@ -24,21 +24,21 @@ import ( "github.com/safchain/ethtool" "github.com/vishvananda/netlink" + "github.com/containernetworking/plugins/pkg/netlinksafe" "github.com/containernetworking/plugins/pkg/ns" "github.com/containernetworking/plugins/pkg/utils/sysctl" ) -var ( - ErrLinkNotFound = errors.New("link not found") -) +var ErrLinkNotFound = errors.New("link not found") // makeVethPair is called from within the container's network namespace func makeVethPair(name, peer string, mtu int, mac string, hostNS ns.NetNS) (netlink.Link, error) { + linkAttrs := netlink.NewLinkAttrs() + linkAttrs.Name = name + linkAttrs.MTU = mtu + veth := &netlink.Veth{ - LinkAttrs: netlink.LinkAttrs{ - Name: name, - MTU: mtu, - }, + LinkAttrs: linkAttrs, PeerName: peer, PeerNamespace: netlink.NsFd(int(hostNS.Fd())), } @@ -53,7 +53,7 @@ func makeVethPair(name, peer string, mtu int, mac string, hostNS ns.NetNS) (netl return nil, err } // Re-fetch the container link to get its creation-time parameters, e.g. index and mac - veth2, err := netlink.LinkByName(name) + veth2, err := netlinksafe.LinkByName(name) if err != nil { netlink.LinkDel(veth) // try and clean up the link if possible. return nil, err @@ -63,44 +63,43 @@ func makeVethPair(name, peer string, mtu int, mac string, hostNS ns.NetNS) (netl } func peerExists(name string) bool { - if _, err := netlink.LinkByName(name); err != nil { + if _, err := netlinksafe.LinkByName(name); err != nil { return false } return true } -func makeVeth(name, vethPeerName string, mtu int, mac string, hostNS ns.NetNS) (peerName string, veth netlink.Link, err error) { +func makeVeth(name, vethPeerName string, mtu int, mac string, hostNS ns.NetNS) (string, netlink.Link, error) { + var peerName string + var veth netlink.Link + var err error for i := 0; i < 10; i++ { if vethPeerName != "" { peerName = vethPeerName } else { peerName, err = RandomVethName() if err != nil { - return + return peerName, nil, err } } veth, err = makeVethPair(name, peerName, mtu, mac, hostNS) switch { case err == nil: - return + return peerName, veth, nil case os.IsExist(err): if peerExists(peerName) && vethPeerName == "" { continue } - err = fmt.Errorf("container veth name provided (%v) already exists", name) - return - + return peerName, veth, fmt.Errorf("container veth name (%q) peer provided (%q) already exists", name, peerName) default: - err = fmt.Errorf("failed to make veth pair: %v", err) - return + return peerName, veth, fmt.Errorf("failed to make veth pair: %v", err) } } // should really never be hit - err = fmt.Errorf("failed to find a unique veth name") - return + return peerName, nil, fmt.Errorf("failed to find a unique veth name") } // RandomVethName returns string "veth" with random prefix (hashed from entropy) @@ -116,7 +115,7 @@ func RandomVethName() (string, error) { } func RenameLink(curName, newName string) error { - link, err := netlink.LinkByName(curName) + link, err := netlinksafe.LinkByName(curName) if err == nil { err = netlink.LinkSetName(link, newName) } @@ -147,7 +146,7 @@ func SetupVethWithName(contVethName, hostVethName string, mtu int, contVethMac s var hostVeth netlink.Link err = hostNS.Do(func(_ ns.NetNS) error { - hostVeth, err = netlink.LinkByName(hostVethName) + hostVeth, err = netlinksafe.LinkByName(hostVethName) if err != nil { return fmt.Errorf("failed to lookup %q in %q: %v", hostVethName, hostNS.Path(), err) } @@ -176,7 +175,7 @@ func SetupVeth(contVethName string, mtu int, contVethMac string, hostNS ns.NetNS // DelLinkByName removes an interface link. func DelLinkByName(ifName string) error { - iface, err := netlink.LinkByName(ifName) + iface, err := netlinksafe.LinkByName(ifName) if err != nil { if _, ok := err.(netlink.LinkNotFoundError); ok { return ErrLinkNotFound @@ -193,7 +192,7 @@ func DelLinkByName(ifName string) error { // DelLinkByNameAddr remove an interface and returns its addresses func DelLinkByNameAddr(ifName string) ([]*net.IPNet, error) { - iface, err := netlink.LinkByName(ifName) + iface, err := netlinksafe.LinkByName(ifName) if err != nil { if _, ok := err.(netlink.LinkNotFoundError); ok { return nil, ErrLinkNotFound @@ -201,7 +200,7 @@ func DelLinkByNameAddr(ifName string) ([]*net.IPNet, error) { return nil, fmt.Errorf("failed to lookup %q: %v", ifName, err) } - addrs, err := netlink.AddrList(iface, netlink.FAMILY_ALL) + addrs, err := netlinksafe.AddrList(iface, netlink.FAMILY_ALL) if err != nil { return nil, fmt.Errorf("failed to get IP addresses for %q: %v", ifName, err) } @@ -224,7 +223,7 @@ func DelLinkByNameAddr(ifName string) ([]*net.IPNet, error) { // veth, or an error. This peer ifindex will only be valid in the peer's // network namespace. func GetVethPeerIfindex(ifName string) (netlink.Link, int, error) { - link, err := netlink.LinkByName(ifName) + link, err := netlinksafe.LinkByName(ifName) if err != nil { return nil, -1, fmt.Errorf("could not look up %q: %v", ifName, err) } diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/route_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ip/route_linux.go index e92b6c53e..4072898aa 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ip/route_linux.go +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/route_linux.go @@ -50,3 +50,16 @@ func AddDefaultRoute(gw net.IP, dev netlink.Link) error { } return AddRoute(defNet, gw, dev) } + +// IsIPNetZero check if the IPNet is "0.0.0.0/0" or "::/0" +// This is needed as go-netlink replaces nil Dst with a '0' IPNet since +// https://github.com/vishvananda/netlink/commit/acdc658b8613655ddb69f978e9fb4cf413e2b830 +func IsIPNetZero(ipnet *net.IPNet) bool { + if ipnet == nil { + return true + } + if ones, _ := ipnet.Mask.Size(); ones != 0 { + return false + } + return ipnet.IP.Equal(net.IPv4zero) || ipnet.IP.Equal(net.IPv6zero) +} diff --git a/vendor/github.com/containernetworking/plugins/pkg/ip/utils_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ip/utils_linux.go index 943117e18..2926def92 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ip/utils_linux.go +++ b/vendor/github.com/containernetworking/plugins/pkg/ip/utils_linux.go @@ -21,24 +21,25 @@ import ( "fmt" "net" + "github.com/vishvananda/netlink" + "github.com/containernetworking/cni/pkg/types" current "github.com/containernetworking/cni/pkg/types/100" - "github.com/vishvananda/netlink" + "github.com/containernetworking/plugins/pkg/netlinksafe" ) func ValidateExpectedInterfaceIPs(ifName string, resultIPs []*current.IPConfig) error { - // Ensure ips for _, ips := range resultIPs { ourAddr := netlink.Addr{IPNet: &ips.Address} match := false - link, err := netlink.LinkByName(ifName) + link, err := netlinksafe.LinkByName(ifName) if err != nil { return fmt.Errorf("Cannot find container link %v", ifName) } - addrList, err := netlink.AddrList(link, netlink.FAMILY_ALL) + addrList, err := netlinksafe.AddrList(link, netlink.FAMILY_ALL) if err != nil { return fmt.Errorf("Cannot obtain List of IP Addresses") } @@ -49,12 +50,15 @@ func ValidateExpectedInterfaceIPs(ifName string, resultIPs []*current.IPConfig) break } } - if match == false { + if !match { return fmt.Errorf("Failed to match addr %v on interface %v", ourAddr, ifName) } // Convert the host/prefixlen to just prefix for route lookup. _, ourPrefix, err := net.ParseCIDR(ourAddr.String()) + if err != nil { + return err + } findGwy := &netlink.Route{Dst: ourPrefix} routeFilter := netlink.RT_FILTER_DST @@ -64,7 +68,7 @@ func ValidateExpectedInterfaceIPs(ifName string, resultIPs []*current.IPConfig) family = netlink.FAMILY_V4 } - gwy, err := netlink.RouteListFiltered(family, findGwy, routeFilter) + gwy, err := netlinksafe.RouteListFiltered(family, findGwy, routeFilter) if err != nil { return fmt.Errorf("Error %v trying to find Gateway %v for interface %v", err, ips.Gateway, ifName) } @@ -77,11 +81,13 @@ func ValidateExpectedInterfaceIPs(ifName string, resultIPs []*current.IPConfig) } func ValidateExpectedRoute(resultRoutes []*types.Route) error { - // Ensure that each static route in prevResults is found in the routing table for _, route := range resultRoutes { find := &netlink.Route{Dst: &route.Dst, Gw: route.GW} - routeFilter := netlink.RT_FILTER_DST | netlink.RT_FILTER_GW + routeFilter := netlink.RT_FILTER_DST + if route.GW != nil { + routeFilter |= netlink.RT_FILTER_GW + } var family int switch { @@ -103,7 +109,7 @@ func ValidateExpectedRoute(resultRoutes []*types.Route) error { return fmt.Errorf("Invalid static route found %v", route) } - wasFound, err := netlink.RouteListFiltered(family, find, routeFilter) + wasFound, err := netlinksafe.RouteListFiltered(family, find, routeFilter) if err != nil { return fmt.Errorf("Expected Route %v not route table lookup error %v", route, err) } diff --git a/vendor/github.com/containernetworking/plugins/pkg/netlinksafe/netlink.go b/vendor/github.com/containernetworking/plugins/pkg/netlinksafe/netlink.go new file mode 100644 index 000000000..0f7f45b6d --- /dev/null +++ b/vendor/github.com/containernetworking/plugins/pkg/netlinksafe/netlink.go @@ -0,0 +1,321 @@ +// Package netlinksafe wraps vishvandanda/netlink functions that may return EINTR. +// +// A Handle instantiated using [NewHandle] or [NewHandleAt] can be used in place +// of a netlink.Handle, it's a wrapper that replaces methods that need to be +// wrapped. Functions that use the package handle need to be called as "netlinksafe.X" +// instead of "netlink.X". +// +// The wrapped functions currently return EINTR when NLM_F_DUMP_INTR flagged +// in a netlink response, meaning something changed during the dump so results +// may be incomplete or inconsistent. +// +// At present, the possibly incomplete/inconsistent results are not returned +// by netlink functions along with the EINTR. So, it's not possible to do +// anything but retry. After maxAttempts the EINTR will be returned to the +// caller. +package netlinksafe + +import ( + "log" + + "github.com/pkg/errors" + "github.com/vishvananda/netlink" + "github.com/vishvananda/netlink/nl" + "github.com/vishvananda/netns" +) + +// Arbitrary limit on max attempts at netlink calls if they are repeatedly interrupted. +const maxAttempts = 5 + +type Handle struct { + *netlink.Handle +} + +func NewHandle(nlFamilies ...int) (Handle, error) { + nlh, err := netlink.NewHandle(nlFamilies...) + if err != nil { + return Handle{}, err + } + return Handle{nlh}, nil +} + +func NewHandleAt(ns netns.NsHandle, nlFamilies ...int) (Handle, error) { + nlh, err := netlink.NewHandleAt(ns, nlFamilies...) + if err != nil { + return Handle{}, err + } + return Handle{nlh}, nil +} + +func (h Handle) Close() { + if h.Handle != nil { + h.Handle.Close() + } +} + +func retryOnIntr(f func() error) { + for attempt := 0; attempt < maxAttempts; attempt++ { + if err := f(); !errors.Is(err, netlink.ErrDumpInterrupted) { + return + } + } + log.Printf("netlink call interrupted after %d attempts", maxAttempts) +} + +func discardErrDumpInterrupted(err error) error { + if errors.Is(err, netlink.ErrDumpInterrupted) { + // The netlink function has returned possibly-inconsistent data along with the + // error. Discard the error and return the data. This restores the behaviour of + // the netlink package prior to v1.2.1, in which NLM_F_DUMP_INTR was ignored in + // the netlink response. + log.Printf("discarding ErrDumpInterrupted: %+v", errors.WithStack(err)) + return nil + } + return err +} + +// AddrList calls netlink.AddrList, retrying if necessary. +func AddrList(link netlink.Link, family int) ([]netlink.Addr, error) { + var addrs []netlink.Addr + var err error + retryOnIntr(func() error { + addrs, err = netlink.AddrList(link, family) //nolint:forbidigo + return err + }) + return addrs, discardErrDumpInterrupted(err) +} + +// LinkByName calls h.Handle.LinkByName, retrying if necessary. The netlink function +// doesn't normally ask the kernel for a dump of links. But, on an old kernel, it +// will do as a fallback and that dump may get inconsistent results. +func (h Handle) LinkByName(name string) (netlink.Link, error) { + var link netlink.Link + var err error + retryOnIntr(func() error { + link, err = h.Handle.LinkByName(name) //nolint:forbidigo + return err + }) + return link, discardErrDumpInterrupted(err) +} + +// LinkByName calls netlink.LinkByName, retrying if necessary. The netlink +// function doesn't normally ask the kernel for a dump of links. But, on an old +// kernel, it will do as a fallback and that dump may get inconsistent results. +func LinkByName(name string) (netlink.Link, error) { + var link netlink.Link + var err error + retryOnIntr(func() error { + link, err = netlink.LinkByName(name) //nolint:forbidigo + return err + }) + return link, discardErrDumpInterrupted(err) +} + +// LinkList calls h.Handle.LinkList, retrying if necessary. +func (h Handle) LinkList() ([]netlink.Link, error) { + var links []netlink.Link + var err error + retryOnIntr(func() error { + links, err = h.Handle.LinkList() //nolint:forbidigo + return err + }) + return links, discardErrDumpInterrupted(err) +} + +// LinkList calls netlink.Handle.LinkList, retrying if necessary. +func LinkList() ([]netlink.Link, error) { + var links []netlink.Link + var err error + retryOnIntr(func() error { + links, err = netlink.LinkList() //nolint:forbidigo + return err + }) + return links, discardErrDumpInterrupted(err) +} + +// RouteList calls h.Handle.RouteList, retrying if necessary. +func (h Handle) RouteList(link netlink.Link, family int) ([]netlink.Route, error) { + var routes []netlink.Route + var err error + retryOnIntr(func() error { + routes, err = h.Handle.RouteList(link, family) //nolint:forbidigo + return err + }) + return routes, err +} + +// RouteList calls netlink.RouteList, retrying if necessary. +func RouteList(link netlink.Link, family int) ([]netlink.Route, error) { + var route []netlink.Route + var err error + retryOnIntr(func() error { + route, err = netlink.RouteList(link, family) //nolint:forbidigo + return err + }) + return route, discardErrDumpInterrupted(err) +} + +// BridgeVlanList calls netlink.BridgeVlanList, retrying if necessary. +func BridgeVlanList() (map[int32][]*nl.BridgeVlanInfo, error) { + var err error + var info map[int32][]*nl.BridgeVlanInfo + retryOnIntr(func() error { + info, err = netlink.BridgeVlanList() //nolint:forbidigo + return err + }) + return info, discardErrDumpInterrupted(err) +} + +// RouteListFiltered calls h.Handle.RouteListFiltered, retrying if necessary. +func (h Handle) RouteListFiltered(family int, filter *netlink.Route, filterMask uint64) ([]netlink.Route, error) { + var routes []netlink.Route + var err error + retryOnIntr(func() error { + routes, err = h.Handle.RouteListFiltered(family, filter, filterMask) //nolint:forbidigo + return err + }) + return routes, err +} + +// RouteListFiltered calls netlink.RouteListFiltered, retrying if necessary. +func RouteListFiltered(family int, filter *netlink.Route, filterMask uint64) ([]netlink.Route, error) { + var route []netlink.Route + var err error + retryOnIntr(func() error { + route, err = netlink.RouteListFiltered(family, filter, filterMask) //nolint:forbidigo + return err + }) + return route, discardErrDumpInterrupted(err) +} + +// QdiscList calls netlink.QdiscList, retrying if necessary. +func QdiscList(link netlink.Link) ([]netlink.Qdisc, error) { + var qdisc []netlink.Qdisc + var err error + retryOnIntr(func() error { + qdisc, err = netlink.QdiscList(link) //nolint:forbidigo + return err + }) + return qdisc, discardErrDumpInterrupted(err) +} + +// QdiscList calls h.Handle.QdiscList, retrying if necessary. +func (h *Handle) QdiscList(link netlink.Link) ([]netlink.Qdisc, error) { + var qdisc []netlink.Qdisc + var err error + retryOnIntr(func() error { + qdisc, err = h.Handle.QdiscList(link) //nolint:forbidigo + return err + }) + return qdisc, err +} + +// LinkGetProtinfo calls netlink.LinkGetProtinfo, retrying if necessary. +func LinkGetProtinfo(link netlink.Link) (netlink.Protinfo, error) { + var protinfo netlink.Protinfo + var err error + retryOnIntr(func() error { + protinfo, err = netlink.LinkGetProtinfo(link) //nolint:forbidigo + return err + }) + return protinfo, discardErrDumpInterrupted(err) +} + +// LinkGetProtinfo calls h.Handle.LinkGetProtinfo, retrying if necessary. +func (h *Handle) LinkGetProtinfo(link netlink.Link) (netlink.Protinfo, error) { + var protinfo netlink.Protinfo + var err error + retryOnIntr(func() error { + protinfo, err = h.Handle.LinkGetProtinfo(link) //nolint:forbidigo + return err + }) + return protinfo, err +} + +// RuleListFiltered calls netlink.RuleListFiltered, retrying if necessary. +func RuleListFiltered(family int, filter *netlink.Rule, filterMask uint64) ([]netlink.Rule, error) { + var rules []netlink.Rule + var err error + retryOnIntr(func() error { + rules, err = netlink.RuleListFiltered(family, filter, filterMask) //nolint:forbidigo + return err + }) + return rules, discardErrDumpInterrupted(err) +} + +// RuleListFiltered calls h.Handle.RuleListFiltered, retrying if necessary. +func (h *Handle) RuleListFiltered(family int, filter *netlink.Rule, filterMask uint64) ([]netlink.Rule, error) { + var rules []netlink.Rule + var err error + retryOnIntr(func() error { + rules, err = h.Handle.RuleListFiltered(family, filter, filterMask) //nolint:forbidigo + return err + }) + return rules, err +} + +// FilterList calls netlink.FilterList, retrying if necessary. +func FilterList(link netlink.Link, parent uint32) ([]netlink.Filter, error) { + var filters []netlink.Filter + var err error + retryOnIntr(func() error { + filters, err = netlink.FilterList(link, parent) //nolint:forbidigo + return err + }) + return filters, discardErrDumpInterrupted(err) +} + +// FilterList calls h.Handle.FilterList, retrying if necessary. +func (h *Handle) FilterList(link netlink.Link, parent uint32) ([]netlink.Filter, error) { + var filters []netlink.Filter + var err error + retryOnIntr(func() error { + filters, err = h.Handle.FilterList(link, parent) //nolint:forbidigo + return err + }) + return filters, err +} + +// RuleList calls netlink.RuleList, retrying if necessary. +func RuleList(family int) ([]netlink.Rule, error) { + var rules []netlink.Rule + var err error + retryOnIntr(func() error { + rules, err = netlink.RuleList(family) //nolint:forbidigo + return err + }) + return rules, discardErrDumpInterrupted(err) +} + +// RuleList calls h.Handle.RuleList, retrying if necessary. +func (h *Handle) RuleList(family int) ([]netlink.Rule, error) { + var rules []netlink.Rule + var err error + retryOnIntr(func() error { + rules, err = h.Handle.RuleList(family) //nolint:forbidigo + return err + }) + return rules, err +} + +// ConntrackDeleteFilters calls netlink.ConntrackDeleteFilters, retrying if necessary. +func ConntrackDeleteFilters(table netlink.ConntrackTableType, family netlink.InetFamily, filters ...netlink.CustomConntrackFilter) (uint, error) { + var deleted uint + var err error + retryOnIntr(func() error { + deleted, err = netlink.ConntrackDeleteFilters(table, family, filters...) //nolint:forbidigo + return err + }) + return deleted, discardErrDumpInterrupted(err) +} + +// ConntrackDeleteFilters calls h.Handle.ConntrackDeleteFilters, retrying if necessary. +func (h *Handle) ConntrackDeleteFilters(table netlink.ConntrackTableType, family netlink.InetFamily, filters ...netlink.CustomConntrackFilter) (uint, error) { + var deleted uint + var err error + retryOnIntr(func() error { + deleted, err = h.Handle.ConntrackDeleteFilters(table, family, filters...) //nolint:forbidigo + return err + }) + return deleted, err +} diff --git a/vendor/github.com/containernetworking/plugins/pkg/ns/README.md b/vendor/github.com/containernetworking/plugins/pkg/ns/README.md index 1e265c7a0..e5fef2db7 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ns/README.md +++ b/vendor/github.com/containernetworking/plugins/pkg/ns/README.md @@ -13,10 +13,10 @@ The `ns.Do()` method provides **partial** control over network namespaces for yo ```go err = targetNs.Do(func(hostNs ns.NetNS) error { + linkAttrs := netlink.NewLinkAttrs() + linkAttrs.Name = "dummy0" dummy := &netlink.Dummy{ - LinkAttrs: netlink.LinkAttrs{ - Name: "dummy0", - }, + LinkAttrs: linkAttrs, } return netlink.LinkAdd(dummy) }) diff --git a/vendor/github.com/containernetworking/plugins/pkg/ns/ns_linux.go b/vendor/github.com/containernetworking/plugins/pkg/ns/ns_linux.go index f260f2813..5a6aaa333 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/ns/ns_linux.go +++ b/vendor/github.com/containernetworking/plugins/pkg/ns/ns_linux.go @@ -31,6 +31,10 @@ func GetCurrentNS() (NetNS, error) { // return an unexpected network namespace. runtime.LockOSThread() defer runtime.UnlockOSThread() + return getCurrentNSNoLock() +} + +func getCurrentNSNoLock() (NetNS, error) { return GetNS(getCurrentThreadNetNSPath()) } @@ -152,6 +156,54 @@ func GetNS(nspath string) (NetNS, error) { return &netNS{file: fd}, nil } +// Returns a new empty NetNS. +// Calling Close() let the kernel garbage collect the network namespace. +func TempNetNS() (NetNS, error) { + var tempNS NetNS + var err error + var wg sync.WaitGroup + wg.Add(1) + + // Create the new namespace in a new goroutine so that if we later fail + // to switch the namespace back to the original one, we can safely + // leave the thread locked to die without a risk of the current thread + // left lingering with incorrect namespace. + go func() { + defer wg.Done() + runtime.LockOSThread() + + var threadNS NetNS + // save a handle to current network namespace + threadNS, err = getCurrentNSNoLock() + if err != nil { + err = fmt.Errorf("failed to open current namespace: %v", err) + return + } + defer threadNS.Close() + + // create the temporary network namespace + err = unix.Unshare(unix.CLONE_NEWNET) + if err != nil { + return + } + + // get a handle to the temporary network namespace + tempNS, err = getCurrentNSNoLock() + + err2 := threadNS.Set() + if err2 == nil { + // Unlock the current thread only when we successfully switched back + // to the original namespace; otherwise leave the thread locked which + // will force the runtime to scrap the current thread, that is maybe + // not as optimal but at least always safe to do. + runtime.UnlockOSThread() + } + }() + + wg.Wait() + return tempNS, err +} + func (ns *netNS) Path() string { return ns.file.Name() } @@ -173,7 +225,7 @@ func (ns *netNS) Do(toRun func(NetNS) error) error { } containedCall := func(hostNS NetNS) error { - threadNS, err := GetCurrentNS() + threadNS, err := getCurrentNSNoLock() if err != nil { return fmt.Errorf("failed to open current netns: %v", err) } diff --git a/vendor/github.com/containernetworking/plugins/pkg/utils/conntrack.go b/vendor/github.com/containernetworking/plugins/pkg/utils/conntrack.go new file mode 100644 index 000000000..f4cc2627c --- /dev/null +++ b/vendor/github.com/containernetworking/plugins/pkg/utils/conntrack.go @@ -0,0 +1,75 @@ +// Copyright 2020 CNI authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package utils + +import ( + "fmt" + "net" + + "github.com/vishvananda/netlink" + "golang.org/x/sys/unix" + + "github.com/containernetworking/plugins/pkg/netlinksafe" +) + +// Assigned Internet Protocol Numbers +// https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml +const ( + PROTOCOL_TCP = 6 + PROTOCOL_UDP = 17 + PROTOCOL_SCTP = 132 +) + +// getNetlinkFamily returns the Netlink IP family constant +func getNetlinkFamily(isIPv6 bool) netlink.InetFamily { + if isIPv6 { + return unix.AF_INET6 + } + return unix.AF_INET +} + +// DeleteConntrackEntriesForDstIP delete the conntrack entries for the connections +// specified by the given destination IP and protocol +func DeleteConntrackEntriesForDstIP(dstIP string, protocol uint8) error { + ip := net.ParseIP(dstIP) + if ip == nil { + return fmt.Errorf("error deleting connection tracking state, bad IP %s", ip) + } + family := getNetlinkFamily(ip.To4() == nil) + + filter := &netlink.ConntrackFilter{} + filter.AddIP(netlink.ConntrackOrigDstIP, ip) + filter.AddProtocol(protocol) + + _, err := netlinksafe.ConntrackDeleteFilters(netlink.ConntrackTable, family, filter) + if err != nil { + return fmt.Errorf("error deleting connection tracking state for protocol: %d IP: %s, error: %v", protocol, ip, err) + } + return nil +} + +// DeleteConntrackEntriesForDstPort delete the conntrack entries for the connections specified +// by the given destination port, protocol and IP family +func DeleteConntrackEntriesForDstPort(port uint16, protocol uint8, family netlink.InetFamily) error { + filter := &netlink.ConntrackFilter{} + filter.AddProtocol(protocol) + filter.AddPort(netlink.ConntrackOrigDstPort, port) + + _, err := netlinksafe.ConntrackDeleteFilters(netlink.ConntrackTable, family, filter) + if err != nil { + return fmt.Errorf("error deleting connection tracking state for protocol: %d Port: %d, error: %v", protocol, port, err) + } + return nil +} diff --git a/vendor/github.com/containernetworking/plugins/pkg/utils/iptables.go b/vendor/github.com/containernetworking/plugins/pkg/utils/iptables.go new file mode 100644 index 000000000..b83e6d26c --- /dev/null +++ b/vendor/github.com/containernetworking/plugins/pkg/utils/iptables.go @@ -0,0 +1,120 @@ +// Copyright 2017 CNI authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package utils + +import ( + "errors" + "fmt" + + "github.com/coreos/go-iptables/iptables" +) + +const statusChainExists = 1 + +// EnsureChain idempotently creates the iptables chain. It does not +// return an error if the chain already exists. +func EnsureChain(ipt *iptables.IPTables, table, chain string) error { + if ipt == nil { + return errors.New("failed to ensure iptable chain: IPTables was nil") + } + exists, err := ipt.ChainExists(table, chain) + if err != nil { + return fmt.Errorf("failed to check iptables chain existence: %v", err) + } + if !exists { + err = ipt.NewChain(table, chain) + if err != nil { + eerr, eok := err.(*iptables.Error) + if eok && eerr.ExitStatus() != statusChainExists { + return err + } + } + } + return nil +} + +// DeleteRule idempotently delete the iptables rule in the specified table/chain. +// It does not return an error if the referring chain doesn't exist +func DeleteRule(ipt *iptables.IPTables, table, chain string, rulespec ...string) error { + if ipt == nil { + return errors.New("failed to ensure iptable chain: IPTables was nil") + } + if err := ipt.Delete(table, chain, rulespec...); err != nil { + eerr, eok := err.(*iptables.Error) + switch { + case eok && eerr.IsNotExist(): + // swallow here, the chain was already deleted + return nil + case eok && eerr.ExitStatus() == 2: + // swallow here, invalid command line parameter because the referring rule is missing + return nil + default: + return fmt.Errorf("Failed to delete referring rule %s %s: %v", table, chain, err) + } + } + return nil +} + +// DeleteChain idempotently deletes the specified table/chain. +// It does not return an errors if the chain does not exist +func DeleteChain(ipt *iptables.IPTables, table, chain string) error { + if ipt == nil { + return errors.New("failed to ensure iptable chain: IPTables was nil") + } + + err := ipt.DeleteChain(table, chain) + eerr, eok := err.(*iptables.Error) + switch { + case eok && eerr.IsNotExist(): + // swallow here, the chain was already deleted + return nil + default: + return err + } +} + +// ClearChain idempotently clear the iptables rules in the specified table/chain. +// If the chain does not exist, a new one will be created +func ClearChain(ipt *iptables.IPTables, table, chain string) error { + if ipt == nil { + return errors.New("failed to ensure iptable chain: IPTables was nil") + } + err := ipt.ClearChain(table, chain) + eerr, eok := err.(*iptables.Error) + switch { + case eok && eerr.IsNotExist(): + // swallow here, the chain was already deleted + return EnsureChain(ipt, table, chain) + default: + return err + } +} + +// InsertUnique will add a rule to a chain if it does not already exist. +// By default the rule is appended, unless prepend is true. +func InsertUnique(ipt *iptables.IPTables, table, chain string, prepend bool, rule []string) error { + exists, err := ipt.Exists(table, chain, rule...) + if err != nil { + return err + } + if exists { + return nil + } + + if prepend { + return ipt.Insert(table, chain, 1, rule...) + } + return ipt.Append(table, chain, rule...) +} diff --git a/vendor/github.com/containernetworking/plugins/pkg/utils/netfilter.go b/vendor/github.com/containernetworking/plugins/pkg/utils/netfilter.go new file mode 100644 index 000000000..1fa391404 --- /dev/null +++ b/vendor/github.com/containernetworking/plugins/pkg/utils/netfilter.go @@ -0,0 +1,46 @@ +// Copyright 2023 CNI authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package utils + +import ( + "github.com/coreos/go-iptables/iptables" + "sigs.k8s.io/knftables" +) + +// SupportsIPTables tests whether the system supports using netfilter via the iptables API +// (whether via "iptables-legacy" or "iptables-nft"). (Note that this returns true if it +// is *possible* to use iptables; it does not test whether any other components on the +// system are *actually* using iptables.) +func SupportsIPTables() bool { + ipt, err := iptables.NewWithProtocol(iptables.ProtocolIPv4) + if err != nil { + return false + } + // We don't care whether the chain actually exists, only whether we can *check* + // whether it exists. + _, err = ipt.ChainExists("filter", "INPUT") + return err == nil +} + +// SupportsNFTables tests whether the system supports using netfilter via the nftables API +// (ie, not via "iptables-nft"). (Note that this returns true if it is *possible* to use +// nftables; it does not test whether any other components on the system are *actually* +// using nftables.) +func SupportsNFTables() bool { + // knftables.New() does sanity checks so we don't need any further test like in + // the iptables case. + _, err := knftables.New(knftables.IPv4Family, "supports_nftables_test") + return err == nil +} diff --git a/vendor/github.com/containernetworking/plugins/pkg/utils/sysctl/sysctl_linux.go b/vendor/github.com/containernetworking/plugins/pkg/utils/sysctl/sysctl_linux.go index 469e9be9e..e700f19bd 100644 --- a/vendor/github.com/containernetworking/plugins/pkg/utils/sysctl/sysctl_linux.go +++ b/vendor/github.com/containernetworking/plugins/pkg/utils/sysctl/sysctl_linux.go @@ -46,7 +46,7 @@ func getSysctl(name string) (string, error) { func setSysctl(name, value string) (string, error) { fullName := filepath.Join("/proc/sys", toNormalName(name)) - if err := os.WriteFile(fullName, []byte(value), 0644); err != nil { + if err := os.WriteFile(fullName, []byte(value), 0o644); err != nil { return "", err } diff --git a/vendor/github.com/containernetworking/plugins/pkg/utils/utils.go b/vendor/github.com/containernetworking/plugins/pkg/utils/utils.go new file mode 100644 index 000000000..d4fb011cb --- /dev/null +++ b/vendor/github.com/containernetworking/plugins/pkg/utils/utils.go @@ -0,0 +1,60 @@ +// Copyright 2016 CNI authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package utils + +import ( + "crypto/sha512" + "fmt" +) + +const ( + maxChainLength = 28 + chainPrefix = "CNI-" +) + +// FormatChainName generates a chain name to be used +// with iptables. Ensures that the generated chain +// name is exactly maxChainLength chars in length. +func FormatChainName(name string, id string) string { + return MustFormatChainNameWithPrefix(name, id, "") +} + +// MustFormatChainNameWithPrefix generates a chain name similar +// to FormatChainName, but adds a custom prefix between +// chainPrefix and unique identifier. Ensures that the +// generated chain name is exactly maxChainLength chars in length. +// Panics if the given prefix is too long. +func MustFormatChainNameWithPrefix(name string, id string, prefix string) string { + return MustFormatHashWithPrefix(maxChainLength, chainPrefix+prefix, name+id) +} + +// FormatComment returns a comment used for easier +// rule identification within iptables. +func FormatComment(name string, id string) string { + return fmt.Sprintf("name: %q id: %q", name, id) +} + +const MaxHashLen = sha512.Size * 2 + +// MustFormatHashWithPrefix returns a string of given length that begins with the +// given prefix. It is filled with entropy based on the given string toHash. +func MustFormatHashWithPrefix(length int, prefix string, toHash string) string { + if len(prefix) >= length || length > MaxHashLen { + panic("invalid length") + } + + output := sha512.Sum512([]byte(toHash)) + return fmt.Sprintf("%s%x", prefix, output)[:length] +} diff --git a/vendor/github.com/coreos/go-iptables/iptables/iptables.go b/vendor/github.com/coreos/go-iptables/iptables/iptables.go index 85047e59d..b0589959b 100644 --- a/vendor/github.com/coreos/go-iptables/iptables/iptables.go +++ b/vendor/github.com/coreos/go-iptables/iptables/iptables.go @@ -45,14 +45,21 @@ func (e *Error) Error() string { return fmt.Sprintf("running %v: exit status %v: %v", e.cmd.Args, e.ExitStatus(), e.msg) } +var isNotExistPatterns = []string{ + "Bad rule (does a matching rule exist in that chain?).\n", + "No chain/target/match by that name.\n", + "No such file or directory", + "does not exist", +} + // IsNotExist returns true if the error is due to the chain or rule not existing func (e *Error) IsNotExist() bool { - if e.ExitStatus() != 1 { - return false + for _, str := range isNotExistPatterns { + if strings.Contains(e.msg, str) { + return true + } } - msgNoRuleExist := "Bad rule (does a matching rule exist in that chain?).\n" - msgNoChainExist := "No chain/target/match by that name.\n" - return strings.Contains(e.msg, msgNoRuleExist) || strings.Contains(e.msg, msgNoChainExist) + return false } // Protocol to differentiate between IPv4 and IPv6 @@ -105,23 +112,44 @@ func Timeout(timeout int) option { } } -// New creates a new IPTables configured with the options passed as parameter. -// For backwards compatibility, by default always uses IPv4 and timeout 0. +func Path(path string) option { + return func(ipt *IPTables) { + ipt.path = path + } +} + +// New creates a new IPTables configured with the options passed as parameters. +// Supported parameters are: +// +// IPFamily(Protocol) +// Timeout(int) +// Path(string) +// +// For backwards compatibility, by default New uses IPv4 and timeout 0. // i.e. you can create an IPv6 IPTables using a timeout of 5 seconds passing // the IPFamily and Timeout options as follow: +// // ip6t := New(IPFamily(ProtocolIPv6), Timeout(5)) func New(opts ...option) (*IPTables, error) { ipt := &IPTables{ proto: ProtocolIPv4, timeout: 0, + path: "", } for _, opt := range opts { opt(ipt) } - path, err := exec.LookPath(getIptablesCommand(ipt.proto)) + // if path wasn't preset through New(Path()), autodiscover it + cmd := "" + if ipt.path == "" { + cmd = getIptablesCommand(ipt.proto) + } else { + cmd = ipt.path + } + path, err := exec.LookPath(cmd) if err != nil { return nil, err } @@ -185,6 +213,26 @@ func (ipt *IPTables) Insert(table, chain string, pos int, rulespec ...string) er return ipt.run(cmd...) } +// Replace replaces rulespec to specified table/chain (in specified pos) +func (ipt *IPTables) Replace(table, chain string, pos int, rulespec ...string) error { + cmd := append([]string{"-t", table, "-R", chain, strconv.Itoa(pos)}, rulespec...) + return ipt.run(cmd...) +} + +// InsertUnique acts like Insert except that it won't insert a duplicate (no matter the position in the chain) +func (ipt *IPTables) InsertUnique(table, chain string, pos int, rulespec ...string) error { + exists, err := ipt.Exists(table, chain, rulespec...) + if err != nil { + return err + } + + if !exists { + return ipt.Insert(table, chain, pos, rulespec...) + } + + return nil +} + // Append appends rulespec to specified table/chain func (ipt *IPTables) Append(table, chain string, rulespec ...string) error { cmd := append([]string{"-t", table, "-A", chain}, rulespec...) @@ -219,6 +267,22 @@ func (ipt *IPTables) DeleteIfExists(table, chain string, rulespec ...string) err return err } +// DeleteById deletes the rule with the specified ID in the given table and chain. +func (ipt *IPTables) DeleteById(table, chain string, id int) error { + cmd := []string{"-t", table, "-D", chain, strconv.Itoa(id)} + return ipt.run(cmd...) +} + +// List rules in specified table/chain +func (ipt *IPTables) ListById(table, chain string, id int) (string, error) { + args := []string{"-t", table, "-S", chain, strconv.Itoa(id)} + rule, err := ipt.executeList(args) + if err != nil { + return "", err + } + return rule[0], nil +} + // List rules in specified table/chain func (ipt *IPTables) List(table, chain string) ([]string, error) { args := []string{"-t", table, "-S", chain} @@ -291,6 +355,11 @@ func (ipt *IPTables) Stats(table, chain string) ([][]string, error) { ipv6 := ipt.proto == ProtocolIPv6 + // Skip the warning if exist + if strings.HasPrefix(lines[0], "#") { + lines = lines[1:] + } + rows := [][]string{} for i, line := range lines { // Skip over chain name and field header @@ -510,7 +579,9 @@ func (ipt *IPTables) runWithOutput(args []string, stdout io.Writer) error { syscall.Close(fmu.fd) return err } - defer ul.Unlock() + defer func() { + _ = ul.Unlock() + }() } var stderr bytes.Buffer @@ -619,7 +690,7 @@ func iptablesHasWaitCommand(v1 int, v2 int, v3 int) bool { return false } -//Checks if an iptablse version is after 1.6.0, when --wait support second +// Checks if an iptablse version is after 1.6.0, when --wait support second func iptablesWaitSupportSecond(v1 int, v2 int, v3 int) bool { if v1 > 1 { return true diff --git a/vendor/github.com/emicklei/go-restful/v3/.travis.yml b/vendor/github.com/emicklei/go-restful/v3/.travis.yml deleted file mode 100644 index 3a0bf5ff1..000000000 --- a/vendor/github.com/emicklei/go-restful/v3/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: go - -go: - - 1.x - -before_install: - - go test -v - -script: - - go test -race -coverprofile=coverage.txt -covermode=atomic - -after_success: - - bash <(curl -s https://codecov.io/bash) \ No newline at end of file diff --git a/vendor/github.com/emicklei/go-restful/v3/CHANGES.md b/vendor/github.com/emicklei/go-restful/v3/CHANGES.md index 6f24dfff5..4fcd920ab 100644 --- a/vendor/github.com/emicklei/go-restful/v3/CHANGES.md +++ b/vendor/github.com/emicklei/go-restful/v3/CHANGES.md @@ -1,5 +1,9 @@ # Change history of go-restful +## [v3.13.0] - 2025-08-14 + +- optimize performance of path matching in CurlyRouter ( thanks @wenhuang, Wen Huang) + ## [v3.12.2] - 2025-02-21 - allow empty payloads in post,put,patch, issue #580 ( thanks @liggitt, Jordan Liggitt) diff --git a/vendor/github.com/emicklei/go-restful/v3/README.md b/vendor/github.com/emicklei/go-restful/v3/README.md index 3fb40d198..50a79ab69 100644 --- a/vendor/github.com/emicklei/go-restful/v3/README.md +++ b/vendor/github.com/emicklei/go-restful/v3/README.md @@ -84,6 +84,7 @@ func (u UserResource) findUser(request *restful.Request, response *restful.Respo - Configurable (trace) logging - Customizable gzip/deflate readers and writers using CompressorProvider registration - Inject your own http.Handler using the `HttpMiddlewareHandlerToFilter` function +- Added `SetPathTokenCacheEnabled` and `SetCustomVerbCacheEnabled` to disable regexp caching (default=true) ## How to customize There are several hooks to customize the behavior of the go-restful package. diff --git a/vendor/github.com/emicklei/go-restful/v3/curly.go b/vendor/github.com/emicklei/go-restful/v3/curly.go index 6fd2bcd5a..eec43bfd0 100644 --- a/vendor/github.com/emicklei/go-restful/v3/curly.go +++ b/vendor/github.com/emicklei/go-restful/v3/curly.go @@ -9,11 +9,35 @@ import ( "regexp" "sort" "strings" + "sync" ) // CurlyRouter expects Routes with paths that contain zero or more parameters in curly brackets. type CurlyRouter struct{} +var ( + regexCache sync.Map // Cache for compiled regex patterns + pathTokenCacheEnabled = true // Enable/disable path token regex caching +) + +// SetPathTokenCacheEnabled enables or disables path token regex caching for CurlyRouter. +// When disabled, regex patterns will be compiled on every request. +// When enabled (default), compiled regex patterns are cached for better performance. +func SetPathTokenCacheEnabled(enabled bool) { + pathTokenCacheEnabled = enabled +} + +// getCachedRegexp retrieves a compiled regex from the cache if found and valid. +// Returns the regex and true if found and valid, nil and false otherwise. +func getCachedRegexp(cache *sync.Map, pattern string) (*regexp.Regexp, bool) { + if cached, found := cache.Load(pattern); found { + if regex, ok := cached.(*regexp.Regexp); ok { + return regex, true + } + } + return nil, false +} + // SelectRoute is part of the Router interface and returns the best match // for the WebService and its Route for the given Request. func (c CurlyRouter) SelectRoute( @@ -113,8 +137,28 @@ func (c CurlyRouter) regularMatchesPathToken(routeToken string, colon int, reque } return true, true } - matched, err := regexp.MatchString(regPart, requestToken) - return (matched && err == nil), false + + // Check cache first (if enabled) + if pathTokenCacheEnabled { + if regex, found := getCachedRegexp(®exCache, regPart); found { + matched := regex.MatchString(requestToken) + return matched, false + } + } + + // Compile the regex + regex, err := regexp.Compile(regPart) + if err != nil { + return false, false + } + + // Cache the regex (if enabled) + if pathTokenCacheEnabled { + regexCache.Store(regPart, regex) + } + + matched := regex.MatchString(requestToken) + return matched, false } var jsr311Router = RouterJSR311{} @@ -168,7 +212,7 @@ func (c CurlyRouter) computeWebserviceScore(requestTokens []string, routeTokens if matchesToken { score++ // extra score for regex match } - } + } } else { // not a parameter if eachRequestToken != eachRouteToken { diff --git a/vendor/github.com/emicklei/go-restful/v3/custom_verb.go b/vendor/github.com/emicklei/go-restful/v3/custom_verb.go index bfc17efde..0b98eeb09 100644 --- a/vendor/github.com/emicklei/go-restful/v3/custom_verb.go +++ b/vendor/github.com/emicklei/go-restful/v3/custom_verb.go @@ -1,14 +1,28 @@ package restful +// Copyright 2025 Ernest Micklei. All rights reserved. +// Use of this source code is governed by a license +// that can be found in the LICENSE file. + import ( "fmt" "regexp" + "sync" ) var ( - customVerbReg = regexp.MustCompile(":([A-Za-z]+)$") + customVerbReg = regexp.MustCompile(":([A-Za-z]+)$") + customVerbCache sync.Map // Cache for compiled custom verb regexes + customVerbCacheEnabled = true // Enable/disable custom verb regex caching ) +// SetCustomVerbCacheEnabled enables or disables custom verb regex caching. +// When disabled, custom verb regex patterns will be compiled on every request. +// When enabled (default), compiled custom verb regex patterns are cached for better performance. +func SetCustomVerbCacheEnabled(enabled bool) { + customVerbCacheEnabled = enabled +} + func hasCustomVerb(routeToken string) bool { return customVerbReg.MatchString(routeToken) } @@ -20,7 +34,23 @@ func isMatchCustomVerb(routeToken string, pathToken string) bool { } customVerb := rs[1] - specificVerbReg := regexp.MustCompile(fmt.Sprintf(":%s$", customVerb)) + regexPattern := fmt.Sprintf(":%s$", customVerb) + + // Check cache first (if enabled) + if customVerbCacheEnabled { + if specificVerbReg, found := getCachedRegexp(&customVerbCache, regexPattern); found { + return specificVerbReg.MatchString(pathToken) + } + } + + // Compile the regex + specificVerbReg := regexp.MustCompile(regexPattern) + + // Cache the regex (if enabled) + if customVerbCacheEnabled { + customVerbCache.Store(regexPattern, specificVerbReg) + } + return specificVerbReg.MatchString(pathToken) } diff --git a/vendor/github.com/emicklei/go-restful/v3/doc.go b/vendor/github.com/emicklei/go-restful/v3/doc.go index 69b13057d..80809225b 100644 --- a/vendor/github.com/emicklei/go-restful/v3/doc.go +++ b/vendor/github.com/emicklei/go-restful/v3/doc.go @@ -1,7 +1,7 @@ /* Package restful , a lean package for creating REST-style WebServices without magic. -WebServices and Routes +### WebServices and Routes A WebService has a collection of Route objects that dispatch incoming Http Requests to a function calls. Typically, a WebService has a root path (e.g. /users) and defines common MIME types for its routes. @@ -30,14 +30,14 @@ The (*Request, *Response) arguments provide functions for reading information fr See the example https://github.com/emicklei/go-restful/blob/v3/examples/user-resource/restful-user-resource.go with a full implementation. -Regular expression matching Routes +### Regular expression matching Routes A Route parameter can be specified using the format "uri/{var[:regexp]}" or the special version "uri/{var:*}" for matching the tail of the path. For example, /persons/{name:[A-Z][A-Z]} can be used to restrict values for the parameter "name" to only contain capital alphabetic characters. Regular expressions must use the standard Go syntax as described in the regexp package. (https://code.google.com/p/re2/wiki/Syntax) This feature requires the use of a CurlyRouter. -Containers +### Containers A Container holds a collection of WebServices, Filters and a http.ServeMux for multiplexing http requests. Using the statements "restful.Add(...) and restful.Filter(...)" will register WebServices and Filters to the Default Container. @@ -47,7 +47,7 @@ You can create your own Container and create a new http.Server for that particul container := restful.NewContainer() server := &http.Server{Addr: ":8081", Handler: container} -Filters +### Filters A filter dynamically intercepts requests and responses to transform or use the information contained in the requests or responses. You can use filters to perform generic logging, measurement, authentication, redirect, set response headers etc. @@ -60,22 +60,21 @@ Use the following statement to pass the request,response pair to the next filter chain.ProcessFilter(req, resp) -Container Filters +### Container Filters These are processed before any registered WebService. // install a (global) filter for the default container (processed before any webservice) restful.Filter(globalLogging) -WebService Filters +### WebService Filters These are processed before any Route of a WebService. // install a webservice filter (processed before any route) ws.Filter(webserviceLogging).Filter(measureTime) - -Route Filters +### Route Filters These are processed before calling the function associated with the Route. @@ -84,7 +83,7 @@ These are processed before calling the function associated with the Route. See the example https://github.com/emicklei/go-restful/blob/v3/examples/filters/restful-filters.go with full implementations. -Response Encoding +### Response Encoding Two encodings are supported: gzip and deflate. To enable this for all responses: @@ -95,20 +94,20 @@ Alternatively, you can create a Filter that performs the encoding and install it See the example https://github.com/emicklei/go-restful/blob/v3/examples/encoding/restful-encoding-filter.go -OPTIONS support +### OPTIONS support By installing a pre-defined container filter, your Webservice(s) can respond to the OPTIONS Http request. Filter(OPTIONSFilter()) -CORS +### CORS By installing the filter of a CrossOriginResourceSharing (CORS), your WebService(s) can handle CORS requests. cors := CrossOriginResourceSharing{ExposeHeaders: []string{"X-My-Header"}, CookiesAllowed: false, Container: DefaultContainer} Filter(cors.Filter) -Error Handling +### Error Handling Unexpected things happen. If a request cannot be processed because of a failure, your service needs to tell via the response what happened and why. For this reason HTTP status codes exist and it is important to use the correct code in every exceptional situation. @@ -137,11 +136,11 @@ The request does not have or has an unknown Accept Header set for this operation The request does not have or has an unknown Content-Type Header set for this operation. -ServiceError +### ServiceError In addition to setting the correct (error) Http status code, you can choose to write a ServiceError message on the response. -Performance options +### Performance options This package has several options that affect the performance of your service. It is important to understand them and how you can change it. @@ -156,30 +155,27 @@ Default value is true If content encoding is enabled then the default strategy for getting new gzip/zlib writers and readers is to use a sync.Pool. Because writers are expensive structures, performance is even more improved when using a preloaded cache. You can also inject your own implementation. -Trouble shooting +### Trouble shooting This package has the means to produce detail logging of the complete Http request matching process and filter invocation. Enabling this feature requires you to set an implementation of restful.StdLogger (e.g. log.Logger) instance such as: restful.TraceLogger(log.New(os.Stdout, "[restful] ", log.LstdFlags|log.Lshortfile)) -Logging +### Logging The restful.SetLogger() method allows you to override the logger used by the package. By default restful uses the standard library `log` package and logs to stdout. Different logging packages are supported as long as they conform to `StdLogger` interface defined in the `log` sub-package, writing an adapter for your preferred package is simple. -Resources +### Resources -[project]: https://github.com/emicklei/go-restful +(c) 2012-2025, http://ernestmicklei.com. MIT License +[project]: https://github.com/emicklei/go-restful [examples]: https://github.com/emicklei/go-restful/blob/master/examples - -[design]: http://ernestmicklei.com/2012/11/11/go-restful-api-design/ - +[design]: http://ernestmicklei.com/2012/11/11/go-restful-api-design/ [showcases]: https://github.com/emicklei/mora, https://github.com/emicklei/landskape - -(c) 2012-2015, http://ernestmicklei.com. MIT License */ package restful diff --git a/vendor/github.com/go-openapi/jsonpointer/.golangci.yml b/vendor/github.com/go-openapi/jsonpointer/.golangci.yml index d2fafb8a2..568ce16d7 100644 --- a/vendor/github.com/go-openapi/jsonpointer/.golangci.yml +++ b/vendor/github.com/go-openapi/jsonpointer/.golangci.yml @@ -1,56 +1,75 @@ -linters-settings: - gocyclo: - min-complexity: 45 - dupl: - threshold: 200 - goconst: - min-len: 2 - min-occurrences: 3 - +version: "2" linters: - enable-all: true + default: all disable: - - recvcheck - - unparam - - lll - - gochecknoinits - - gochecknoglobals + - cyclop + - depguard + - errchkjson + - errorlint + - exhaustruct + - forcetypeassert - funlen - - godox + - gochecknoglobals + - gochecknoinits - gocognit - - whitespace - - wsl - - wrapcheck - - testpackage - - nlreturn - - errorlint - - nestif - godot - - gofumpt + - godox + - gosmopolitan + - inamedparam + - intrange # disabled while < go1.22 + - ireturn + - lll + - musttag + - nestif + - nlreturn + - nonamedreturns + - noinlineerr - paralleltest - - tparallel + - recvcheck + - testpackage - thelper - - exhaustruct + - tparallel + - unparam - varnamelen - - gci - - depguard - - errchkjson - - inamedparam - - nonamedreturns - - musttag - - ireturn - - forcetypeassert - - cyclop - # deprecated linters - #- deadcode - #- interfacer - #- scopelint - #- varcheck - #- structcheck - #- golint - #- nosnakecase - #- maligned - #- goerr113 - #- ifshort - #- gomnd - #- exhaustivestruct + - whitespace + - wrapcheck + - wsl + - wsl_v5 + settings: + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + gocyclo: + min-complexity: 45 + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ +issues: + # Maximum issues count per one linter. + # Set to 0 to disable. + # Default: 50 + max-issues-per-linter: 0 + # Maximum count of issues with the same text. + # Set to 0 to disable. + # Default: 3 + max-same-issues: 0 diff --git a/vendor/github.com/go-openapi/jsonpointer/pointer.go b/vendor/github.com/go-openapi/jsonpointer/pointer.go index a08cd68ac..afc8a7840 100644 --- a/vendor/github.com/go-openapi/jsonpointer/pointer.go +++ b/vendor/github.com/go-openapi/jsonpointer/pointer.go @@ -33,7 +33,7 @@ import ( "strconv" "strings" - "github.com/go-openapi/swag" + "github.com/go-openapi/swag/jsonname" ) const ( @@ -56,181 +56,107 @@ type JSONSetable interface { JSONSet(string, any) error } -// New creates a new json pointer for the given string -func New(jsonPointerString string) (Pointer, error) { - - var p Pointer - err := p.parse(jsonPointerString) - return p, err - -} - // Pointer the json pointer reprsentation type Pointer struct { referenceTokens []string } -// "Constructor", parses the given string JSON pointer -func (p *Pointer) parse(jsonPointerString string) error { - - var err error +// New creates a new json pointer for the given string +func New(jsonPointerString string) (Pointer, error) { - if jsonPointerString != emptyPointer { - if !strings.HasPrefix(jsonPointerString, pointerSeparator) { - err = errors.Join(ErrInvalidStart, ErrPointer) - } else { - referenceTokens := strings.Split(jsonPointerString, pointerSeparator) - p.referenceTokens = append(p.referenceTokens, referenceTokens[1:]...) - } - } + var p Pointer + err := p.parse(jsonPointerString) + return p, err - return err } // Get uses the pointer to retrieve a value from a JSON document func (p *Pointer) Get(document any) (any, reflect.Kind, error) { - return p.get(document, swag.DefaultJSONNameProvider) + return p.get(document, jsonname.DefaultJSONNameProvider) } // Set uses the pointer to set a value from a JSON document func (p *Pointer) Set(document any, value any) (any, error) { - return document, p.set(document, value, swag.DefaultJSONNameProvider) + return document, p.set(document, value, jsonname.DefaultJSONNameProvider) } -// GetForToken gets a value for a json pointer token 1 level deep -func GetForToken(document any, decodedToken string) (any, reflect.Kind, error) { - return getSingleImpl(document, decodedToken, swag.DefaultJSONNameProvider) -} - -// SetForToken gets a value for a json pointer token 1 level deep -func SetForToken(document any, decodedToken string, value any) (any, error) { - return document, setSingleImpl(document, value, decodedToken, swag.DefaultJSONNameProvider) -} - -func isNil(input any) bool { - if input == nil { - return true +// DecodedTokens returns the decoded tokens +func (p *Pointer) DecodedTokens() []string { + result := make([]string, 0, len(p.referenceTokens)) + for _, t := range p.referenceTokens { + result = append(result, Unescape(t)) } + return result +} - kind := reflect.TypeOf(input).Kind() - switch kind { //nolint:exhaustive - case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan: - return reflect.ValueOf(input).IsNil() - default: - return false - } +// IsEmpty returns true if this is an empty json pointer +// this indicates that it points to the root document +func (p *Pointer) IsEmpty() bool { + return len(p.referenceTokens) == 0 } -func getSingleImpl(node any, decodedToken string, nameProvider *swag.NameProvider) (any, reflect.Kind, error) { - rValue := reflect.Indirect(reflect.ValueOf(node)) - kind := rValue.Kind() - if isNil(node) { - return nil, kind, fmt.Errorf("nil value has no field %q: %w", decodedToken, ErrPointer) - } +// Pointer to string representation function +func (p *Pointer) String() string { - switch typed := node.(type) { - case JSONPointable: - r, err := typed.JSONLookup(decodedToken) - if err != nil { - return nil, kind, err - } - return r, kind, nil - case *any: // case of a pointer to interface, that is not resolved by reflect.Indirect - return getSingleImpl(*typed, decodedToken, nameProvider) + if len(p.referenceTokens) == 0 { + return emptyPointer } - switch kind { //nolint:exhaustive - case reflect.Struct: - nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) - if !ok { - return nil, kind, fmt.Errorf("object has no field %q: %w", decodedToken, ErrPointer) - } - fld := rValue.FieldByName(nm) - return fld.Interface(), kind, nil - - case reflect.Map: - kv := reflect.ValueOf(decodedToken) - mv := rValue.MapIndex(kv) + pointerString := pointerSeparator + strings.Join(p.referenceTokens, pointerSeparator) - if mv.IsValid() { - return mv.Interface(), kind, nil - } - return nil, kind, fmt.Errorf("object has no key %q: %w", decodedToken, ErrPointer) + return pointerString +} - case reflect.Slice: - tokenIndex, err := strconv.Atoi(decodedToken) +func (p *Pointer) Offset(document string) (int64, error) { + dec := json.NewDecoder(strings.NewReader(document)) + var offset int64 + for _, ttk := range p.DecodedTokens() { + tk, err := dec.Token() if err != nil { - return nil, kind, err + return 0, err } - sLength := rValue.Len() - if tokenIndex < 0 || tokenIndex >= sLength { - return nil, kind, fmt.Errorf("index out of bounds array[0,%d] index '%d': %w", sLength-1, tokenIndex, ErrPointer) + switch tk := tk.(type) { + case json.Delim: + switch tk { + case '{': + offset, err = offsetSingleObject(dec, ttk) + if err != nil { + return 0, err + } + case '[': + offset, err = offsetSingleArray(dec, ttk) + if err != nil { + return 0, err + } + default: + return 0, fmt.Errorf("invalid token %#v: %w", tk, ErrPointer) + } + default: + return 0, fmt.Errorf("invalid token %#v: %w", tk, ErrPointer) } - - elem := rValue.Index(tokenIndex) - return elem.Interface(), kind, nil - - default: - return nil, kind, fmt.Errorf("invalid token reference %q: %w", decodedToken, ErrPointer) } - + return offset, nil } -func setSingleImpl(node, data any, decodedToken string, nameProvider *swag.NameProvider) error { - rValue := reflect.Indirect(reflect.ValueOf(node)) - - if ns, ok := node.(JSONSetable); ok { // pointer impl - return ns.JSONSet(decodedToken, data) - } - - if rValue.Type().Implements(jsonSetableType) { - return node.(JSONSetable).JSONSet(decodedToken, data) - } - - switch rValue.Kind() { //nolint:exhaustive - case reflect.Struct: - nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) - if !ok { - return fmt.Errorf("object has no field %q: %w", decodedToken, ErrPointer) - } - fld := rValue.FieldByName(nm) - if fld.IsValid() { - fld.Set(reflect.ValueOf(data)) - } - return nil - - case reflect.Map: - kv := reflect.ValueOf(decodedToken) - rValue.SetMapIndex(kv, reflect.ValueOf(data)) - return nil - - case reflect.Slice: - tokenIndex, err := strconv.Atoi(decodedToken) - if err != nil { - return err - } - sLength := rValue.Len() - if tokenIndex < 0 || tokenIndex >= sLength { - return fmt.Errorf("index out of bounds array[0,%d] index '%d': %w", sLength, tokenIndex, ErrPointer) - } +// "Constructor", parses the given string JSON pointer +func (p *Pointer) parse(jsonPointerString string) error { + var err error - elem := rValue.Index(tokenIndex) - if !elem.CanSet() { - return fmt.Errorf("can't set slice index %s to %v: %w", decodedToken, data, ErrPointer) + if jsonPointerString != emptyPointer { + if !strings.HasPrefix(jsonPointerString, pointerSeparator) { + err = errors.Join(ErrInvalidStart, ErrPointer) + } else { + referenceTokens := strings.Split(jsonPointerString, pointerSeparator) + p.referenceTokens = append(p.referenceTokens, referenceTokens[1:]...) } - elem.Set(reflect.ValueOf(data)) - return nil - - default: - return fmt.Errorf("invalid token reference %q: %w", decodedToken, ErrPointer) } + return err } -func (p *Pointer) get(node any, nameProvider *swag.NameProvider) (any, reflect.Kind, error) { - +func (p *Pointer) get(node any, nameProvider *jsonname.NameProvider) (any, reflect.Kind, error) { if nameProvider == nil { - nameProvider = swag.DefaultJSONNameProvider + nameProvider = jsonname.DefaultJSONNameProvider } kind := reflect.Invalid @@ -256,7 +182,7 @@ func (p *Pointer) get(node any, nameProvider *swag.NameProvider) (any, reflect.K return node, kind, nil } -func (p *Pointer) set(node, data any, nameProvider *swag.NameProvider) error { +func (p *Pointer) set(node, data any, nameProvider *jsonname.NameProvider) error { knd := reflect.ValueOf(node).Kind() if knd != reflect.Ptr && knd != reflect.Struct && knd != reflect.Map && knd != reflect.Slice && knd != reflect.Array { @@ -267,7 +193,7 @@ func (p *Pointer) set(node, data any, nameProvider *swag.NameProvider) error { } if nameProvider == nil { - nameProvider = swag.DefaultJSONNameProvider + nameProvider = jsonname.DefaultJSONNameProvider } // Full document when empty @@ -285,6 +211,11 @@ func (p *Pointer) set(node, data any, nameProvider *swag.NameProvider) error { return setSingleImpl(node, data, decodedToken, nameProvider) } + // Check for nil during traversal + if isNil(node) { + return fmt.Errorf("cannot traverse through nil value at %q: %w", decodedToken, ErrPointer) + } + rValue := reflect.Indirect(reflect.ValueOf(node)) kind := rValue.Kind() @@ -348,68 +279,142 @@ func (p *Pointer) set(node, data any, nameProvider *swag.NameProvider) error { default: return fmt.Errorf("invalid token reference %q: %w", decodedToken, ErrPointer) } - } return nil } -// DecodedTokens returns the decoded tokens -func (p *Pointer) DecodedTokens() []string { - result := make([]string, 0, len(p.referenceTokens)) - for _, t := range p.referenceTokens { - result = append(result, Unescape(t)) +func isNil(input any) bool { + if input == nil { + return true + } + + kind := reflect.TypeOf(input).Kind() + switch kind { //nolint:exhaustive + case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan: + return reflect.ValueOf(input).IsNil() + default: + return false } - return result } -// IsEmpty returns true if this is an empty json pointer -// this indicates that it points to the root document -func (p *Pointer) IsEmpty() bool { - return len(p.referenceTokens) == 0 +// GetForToken gets a value for a json pointer token 1 level deep +func GetForToken(document any, decodedToken string) (any, reflect.Kind, error) { + return getSingleImpl(document, decodedToken, jsonname.DefaultJSONNameProvider) } -// Pointer to string representation function -func (p *Pointer) String() string { +// SetForToken gets a value for a json pointer token 1 level deep +func SetForToken(document any, decodedToken string, value any) (any, error) { + return document, setSingleImpl(document, value, decodedToken, jsonname.DefaultJSONNameProvider) +} - if len(p.referenceTokens) == 0 { - return emptyPointer +func getSingleImpl(node any, decodedToken string, nameProvider *jsonname.NameProvider) (any, reflect.Kind, error) { + rValue := reflect.Indirect(reflect.ValueOf(node)) + kind := rValue.Kind() + if isNil(node) { + return nil, kind, fmt.Errorf("nil value has no field %q: %w", decodedToken, ErrPointer) } - pointerString := pointerSeparator + strings.Join(p.referenceTokens, pointerSeparator) + switch typed := node.(type) { + case JSONPointable: + r, err := typed.JSONLookup(decodedToken) + if err != nil { + return nil, kind, err + } + return r, kind, nil + case *any: // case of a pointer to interface, that is not resolved by reflect.Indirect + return getSingleImpl(*typed, decodedToken, nameProvider) + } - return pointerString + switch kind { //nolint:exhaustive + case reflect.Struct: + nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) + if !ok { + return nil, kind, fmt.Errorf("object has no field %q: %w", decodedToken, ErrPointer) + } + fld := rValue.FieldByName(nm) + return fld.Interface(), kind, nil + + case reflect.Map: + kv := reflect.ValueOf(decodedToken) + mv := rValue.MapIndex(kv) + + if mv.IsValid() { + return mv.Interface(), kind, nil + } + return nil, kind, fmt.Errorf("object has no key %q: %w", decodedToken, ErrPointer) + + case reflect.Slice: + tokenIndex, err := strconv.Atoi(decodedToken) + if err != nil { + return nil, kind, err + } + sLength := rValue.Len() + if tokenIndex < 0 || tokenIndex >= sLength { + return nil, kind, fmt.Errorf("index out of bounds array[0,%d] index '%d': %w", sLength-1, tokenIndex, ErrPointer) + } + + elem := rValue.Index(tokenIndex) + return elem.Interface(), kind, nil + + default: + return nil, kind, fmt.Errorf("invalid token reference %q: %w", decodedToken, ErrPointer) + } } -func (p *Pointer) Offset(document string) (int64, error) { - dec := json.NewDecoder(strings.NewReader(document)) - var offset int64 - for _, ttk := range p.DecodedTokens() { - tk, err := dec.Token() +func setSingleImpl(node, data any, decodedToken string, nameProvider *jsonname.NameProvider) error { + rValue := reflect.Indirect(reflect.ValueOf(node)) + + // Check for nil to prevent panic when calling rValue.Type() + if isNil(node) { + return fmt.Errorf("cannot set field %q on nil value: %w", decodedToken, ErrPointer) + } + + if ns, ok := node.(JSONSetable); ok { // pointer impl + return ns.JSONSet(decodedToken, data) + } + + if rValue.Type().Implements(jsonSetableType) { + return node.(JSONSetable).JSONSet(decodedToken, data) + } + + switch rValue.Kind() { //nolint:exhaustive + case reflect.Struct: + nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) + if !ok { + return fmt.Errorf("object has no field %q: %w", decodedToken, ErrPointer) + } + fld := rValue.FieldByName(nm) + if fld.IsValid() { + fld.Set(reflect.ValueOf(data)) + } + return nil + + case reflect.Map: + kv := reflect.ValueOf(decodedToken) + rValue.SetMapIndex(kv, reflect.ValueOf(data)) + return nil + + case reflect.Slice: + tokenIndex, err := strconv.Atoi(decodedToken) if err != nil { - return 0, err + return err } - switch tk := tk.(type) { - case json.Delim: - switch tk { - case '{': - offset, err = offsetSingleObject(dec, ttk) - if err != nil { - return 0, err - } - case '[': - offset, err = offsetSingleArray(dec, ttk) - if err != nil { - return 0, err - } - default: - return 0, fmt.Errorf("invalid token %#v: %w", tk, ErrPointer) - } - default: - return 0, fmt.Errorf("invalid token %#v: %w", tk, ErrPointer) + sLength := rValue.Len() + if tokenIndex < 0 || tokenIndex >= sLength { + return fmt.Errorf("index out of bounds array[0,%d] index '%d': %w", sLength, tokenIndex, ErrPointer) } + + elem := rValue.Index(tokenIndex) + if !elem.CanSet() { + return fmt.Errorf("can't set slice index %s to %v: %w", decodedToken, data, ErrPointer) + } + elem.Set(reflect.ValueOf(data)) + return nil + + default: + return fmt.Errorf("invalid token reference %q: %w", decodedToken, ErrPointer) } - return offset, nil } func offsetSingleObject(dec *json.Decoder, decodedToken string) (int64, error) { diff --git a/vendor/github.com/go-openapi/jsonreference/.golangci.yml b/vendor/github.com/go-openapi/jsonreference/.golangci.yml index 22f8d21cc..568ce16d7 100644 --- a/vendor/github.com/go-openapi/jsonreference/.golangci.yml +++ b/vendor/github.com/go-openapi/jsonreference/.golangci.yml @@ -1,61 +1,75 @@ -linters-settings: - govet: - check-shadowing: true - golint: - min-confidence: 0 - gocyclo: - min-complexity: 45 - maligned: - suggest-new: true - dupl: - threshold: 200 - goconst: - min-len: 2 - min-occurrences: 3 - +version: "2" linters: - enable-all: true + default: all disable: - - maligned - - unparam - - lll - - gochecknoinits - - gochecknoglobals + - cyclop + - depguard + - errchkjson + - errorlint + - exhaustruct + - forcetypeassert - funlen - - godox + - gochecknoglobals + - gochecknoinits - gocognit - - whitespace - - wsl - - wrapcheck - - testpackage - - nlreturn - - gomnd - - exhaustivestruct - - goerr113 - - errorlint - - nestif - godot - - gofumpt + - godox + - gosmopolitan + - inamedparam + - intrange # disabled while < go1.22 + - ireturn + - lll + - musttag + - nestif + - nlreturn + - nonamedreturns + - noinlineerr - paralleltest - - tparallel + - recvcheck + - testpackage - thelper - - ifshort - - exhaustruct + - tparallel + - unparam - varnamelen - - gci - - depguard - - errchkjson - - inamedparam - - nonamedreturns - - musttag - - ireturn - - forcetypeassert - - cyclop - # deprecated linters - - deadcode - - interfacer - - scopelint - - varcheck - - structcheck - - golint - - nosnakecase + - whitespace + - wrapcheck + - wsl + - wsl_v5 + settings: + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + gocyclo: + min-complexity: 45 + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ +issues: + # Maximum issues count per one linter. + # Set to 0 to disable. + # Default: 50 + max-issues-per-linter: 0 + # Maximum count of issues with the same text. + # Set to 0 to disable. + # Default: 3 + max-same-issues: 0 diff --git a/vendor/github.com/go-openapi/jsonreference/reference.go b/vendor/github.com/go-openapi/jsonreference/reference.go index cfdef03e5..6a1fed5df 100644 --- a/vendor/github.com/go-openapi/jsonreference/reference.go +++ b/vendor/github.com/go-openapi/jsonreference/reference.go @@ -38,13 +38,25 @@ const ( fragmentRune = `#` ) +var ErrChildURL = errors.New("child url is nil") + +// Ref represents a json reference object +type Ref struct { + referenceURL *url.URL + referencePointer jsonpointer.Pointer + + HasFullURL bool + HasURLPathOnly bool + HasFragmentOnly bool + HasFileScheme bool + HasFullFilePath bool +} + // New creates a new reference for the given string func New(jsonReferenceString string) (Ref, error) { - var r Ref err := r.parse(jsonReferenceString) return r, err - } // MustCreateRef parses the ref string and panics when it's invalid. @@ -54,19 +66,8 @@ func MustCreateRef(ref string) Ref { if err != nil { panic(err) } - return r -} -// Ref represents a json reference object -type Ref struct { - referenceURL *url.URL - referencePointer jsonpointer.Pointer - - HasFullURL bool - HasURLPathOnly bool - HasFragmentOnly bool - HasFileScheme bool - HasFullFilePath bool + return r } // GetURL gets the URL for this reference @@ -81,7 +82,6 @@ func (r *Ref) GetPointer() *jsonpointer.Pointer { // String returns the best version of the url for this reference func (r *Ref) String() string { - if r.referenceURL != nil { return r.referenceURL.String() } @@ -106,9 +106,27 @@ func (r *Ref) IsCanonical() bool { return (r.HasFileScheme && r.HasFullFilePath) || (!r.HasFileScheme && r.HasFullURL) } +// Inherits creates a new reference from a parent and a child +// If the child cannot inherit from the parent, an error is returned +func (r *Ref) Inherits(child Ref) (*Ref, error) { + childURL := child.GetURL() + parentURL := r.GetURL() + if childURL == nil { + return nil, ErrChildURL + } + if parentURL == nil { + return &child, nil + } + + ref, err := New(parentURL.ResolveReference(childURL).String()) + if err != nil { + return nil, err + } + return &ref, nil +} + // "Constructor", parses the given string JSON reference func (r *Ref) parse(jsonReferenceString string) error { - parsed, err := url.Parse(jsonReferenceString) if err != nil { return err @@ -137,22 +155,3 @@ func (r *Ref) parse(jsonReferenceString string) error { return nil } - -// Inherits creates a new reference from a parent and a child -// If the child cannot inherit from the parent, an error is returned -func (r *Ref) Inherits(child Ref) (*Ref, error) { - childURL := child.GetURL() - parentURL := r.GetURL() - if childURL == nil { - return nil, errors.New("child url is nil") - } - if parentURL == nil { - return &child, nil - } - - ref, err := New(parentURL.ResolveReference(childURL).String()) - if err != nil { - return nil, err - } - return &ref, nil -} diff --git a/vendor/github.com/go-openapi/swag/.golangci.yml b/vendor/github.com/go-openapi/swag/.golangci.yml index d2fafb8a2..66eac0df8 100644 --- a/vendor/github.com/go-openapi/swag/.golangci.yml +++ b/vendor/github.com/go-openapi/swag/.golangci.yml @@ -1,56 +1,76 @@ -linters-settings: - gocyclo: - min-complexity: 45 - dupl: - threshold: 200 - goconst: - min-len: 2 - min-occurrences: 3 - +version: "2" linters: - enable-all: true + default: all disable: - - recvcheck - - unparam - - lll - - gochecknoinits - - gochecknoglobals + - cyclop + - depguard + - errchkjson + - errorlint + - exhaustruct + - forcetypeassert - funlen - - godox + - gochecknoglobals + - gochecknoinits - gocognit - - whitespace - - wsl - - wrapcheck - - testpackage - - nlreturn - - errorlint - - nestif - godot - - gofumpt + - godox + - gomoddirectives + - gosmopolitan + - inamedparam + - intrange # disabled while < go1.22 + - ireturn + - lll + - musttag + - nestif + - nlreturn + - nonamedreturns + - noinlineerr - paralleltest - - tparallel + - recvcheck + - testpackage - thelper - - exhaustruct + - tparallel + - unparam - varnamelen - - gci - - depguard - - errchkjson - - inamedparam - - nonamedreturns - - musttag - - ireturn - - forcetypeassert - - cyclop - # deprecated linters - #- deadcode - #- interfacer - #- scopelint - #- varcheck - #- structcheck - #- golint - #- nosnakecase - #- maligned - #- goerr113 - #- ifshort - #- gomnd - #- exhaustivestruct + - whitespace + - wrapcheck + - wsl + - wsl_v5 + settings: + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + gocyclo: + min-complexity: 45 + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ +issues: + # Maximum issues count per one linter. + # Set to 0 to disable. + # Default: 50 + max-issues-per-linter: 0 + # Maximum count of issues with the same text. + # Set to 0 to disable. + # Default: 3 + max-same-issues: 0 diff --git a/vendor/github.com/go-openapi/swag/README.md b/vendor/github.com/go-openapi/swag/README.md index a72922299..1efb7a342 100644 --- a/vendor/github.com/go-openapi/swag/README.md +++ b/vendor/github.com/go-openapi/swag/README.md @@ -1,23 +1,171 @@ # Swag [![Build Status](https://github.com/go-openapi/swag/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/swag/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/swag/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/swag) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/swag/master/LICENSE) +[![license](https://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/swag/master/LICENSE) [![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/swag.svg)](https://pkg.go.dev/github.com/go-openapi/swag) [![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/swag)](https://goreportcard.com/report/github.com/go-openapi/swag) -Contains a bunch of helper functions for go-openapi and go-swagger projects. +Package `swag` contains a bunch of helper functions for go-openapi and go-swagger projects. You may also use it standalone for your projects. -* convert between value and pointers for builtin types -* convert from string to builtin types (wraps strconv) -* fast json concatenation -* search in path -* load from file or http -* name mangling +> `swag` is one of the foundational building blocks of the go-openapi initiative. +> +> Most repositories in `github.com/go-openapi/...` depend on it in some way. +> So does the CLI tool `github.com/go-swagger/go-swagger`, +> and the code generated by this tool. +## Contents -This repo has only few dependencies outside of the standard library: +`go-openapi/swag` now exposes a collection of relatively independent modules. + +Here is what is inside: + +* Module `cmdutils` + + * [x] utilities to work with CLIs + +* Module `conv` + + * [x] convert between values and pointers for any types + * [x] convert from string to builtin types (wraps `strconv`) + * [x] require `./typeutils` (test dependency) + +* Module `fileutils` + + * [x] file upload type + * [x] search in path (deprecated) + +* Module `jsonname` + + * [x] infer JSON names from go properties + +* Module `jsonutils` + + * [x] fast json concatenation + * [x] read and write JSON from and to dynamic go data structures + * [x] require `github.com/mailru/easyjson` + +* Module `loading` + + * [x] load from file or http + * [x] require `./yamlutils` + +* Module `mangling` + + * [x] name mangling for go + +* Module `netutils` + + * [x] host, port from address + +* Module `stringutils` + + * [x] search in slice (with case-insensitive) + * [x] split/join query parameters as arrays + +* Module `typeutils` + + * [x] check the zero value for any type + +* Module `yamlutils` + + * [x] converting YAML to JSON + * [x] loading YAML into a dynamic YAML document + * [x] require `./jsonutils` + * [x] require `github.com/mailru/easyjson` + * [x] require `gopkg.in/yaml.v3` + +--- + +The root module `github.com/go-openapi/swag` at the repo level maintains a few +dependencies outside of the standard library: * YAML utilities depend on `gopkg.in/yaml.v3` -* `github.com/mailru/easyjson v0.7.7` +* JSON utilities `github.com/mailru/easyjson` + +This is not necessarily the case for all sub-modules. + +## Release notes + +### v0.25.0 [draft, unreleased] + +* v0.25.0 will remove the dependency to `mailru/easyjson` by default. +* users of JSON or YAML utility who want to use `easyjson` as their + prefered JSON marshaler will be able to do so by registering it + at runtime. + +### v0.24.0 + +With this release, we have largely modernized the API of `swag`: + +* The traditional `swag` API is still supported: code that imports `swag` will still + compile and work the same. +* A deprecation notice is published to encourage consumers of this library to adopt + the newer API +* **Deprecation notice** + * configuration through global variables is now deprecated, in favor of options passed as parameters + * all helper functions are moved to more specialized packages, which are exposed as + go modules. Importing such a module would reduce the footprint of dependencies. + * _all_ functions, variables, constants exposed by the deprecated API have now moved, so + that consumers of the new API no longer need to import github.com/go-openapi/swag, but + should import the desired sub-module(s). + +**New with this release**: + +* [x] type converters and pointer to value helpers now support generic types +* [x] name mangling now support pluralized initialisms (issue #46) + Strings like "contact IDs" are now recognized as such a plural form and mangled as a linter would expect. +* [x] performance: small improvements to reduce the overhead of convert/format wrappers (see issues #110, or PR #108) +* [x] performance: name mangling utilities run ~ 10% faster (PR #115) + +--- + +Moving forward, no additional feature will be added to the `swag` API directly. + +However, child modules will continue to evolve or some new ones may be added in the future. + + +#### Note to contributors + +The mono-repo structure comes with some unavoidable extra pains... + +* Testing + +> The usual `go test ./...` command, run from the root of this repo won't work any longer to test all submodules. +> +> Each module constitutes an independant unit of test. So you have to run `go test` inside each module. +> Or you may take a look at how this is achieved by CI +> [here] https://github.com/go-openapi/swag/blob/master/.github/workflows/go-test.yml). +> +> There are also some alternative tricks using `go work`, for local development, if you feel comfortable with +> go workspaces. Perhaps some day, we'll have a `go work test` to run all tests without any hack. + +* Releasing + +> Each module follows its own independant module versioning. +> +> So you have tags like `mangling/v0.24.0`, `fileutils/v0.24.0` etc that are used by `go mod` and `go get` +> to refer to the tagged version of each module specifically. +> +> This means we may release patches etc to each module independently. +> +> We'd like to adopt the rule that modules in this repo would only differ by a patch version +> (e.g. `v0.24.5` vs `v0.24.3`), and we'll level all modules whenever a minor version is introduced. +> +> A script in `./hack` is provided to tag all modules in one go at the same level in one go. + +## Todos, suggestions and plans + +All kinds of contributions are welcome. + +A few ideas: + +* [ ] Complete the split of dependencies to isolate easyjson from the rest +* [ ] Improve mangling utilities (improve readability, support for capitalized words, + better word substitution for non-letter symbols...) +* [ ] Move back to this common shared pot a few of the technical features introduced by go-swagger independently + (e.g. mangle go package names, search package with go modules support, ...) +* [ ] Apply a similar mono-repo approach to go-openapi/strfmt which suffer from similar woes: bloated API, + imposed dependency to some database driver. + diff --git a/vendor/github.com/go-openapi/swag/cmdutils/LICENSE b/vendor/github.com/go-openapi/swag/cmdutils/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/cmdutils/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.go b/vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.go new file mode 100644 index 000000000..bc01ec2bb --- /dev/null +++ b/vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.go @@ -0,0 +1,24 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package cmdutils + +// CommandLineOptionsGroup represents a group of user-defined command line options. +// +// This is for instance used to configure command line arguments in API servers generated by go-swagger. +type CommandLineOptionsGroup struct { + ShortDescription string + LongDescription string + Options interface{} +} diff --git a/vendor/github.com/go-openapi/swag/cmdutils/doc.go b/vendor/github.com/go-openapi/swag/cmdutils/doc.go new file mode 100644 index 000000000..63ac1d17e --- /dev/null +++ b/vendor/github.com/go-openapi/swag/cmdutils/doc.go @@ -0,0 +1,16 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package cmdutils brings helpers for CLIs produced by go-openapi +package cmdutils diff --git a/vendor/github.com/go-openapi/swag/cmdutils_iface.go b/vendor/github.com/go-openapi/swag/cmdutils_iface.go new file mode 100644 index 000000000..1eaf36f15 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/cmdutils_iface.go @@ -0,0 +1,22 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import "github.com/go-openapi/swag/cmdutils" + +// CommandLineOptionsGroup represents a group of user-defined command line options. +// +// Deprecated: use [cmdutils.CommandLineOptionsGroup] instead. +type CommandLineOptionsGroup = cmdutils.CommandLineOptionsGroup diff --git a/vendor/github.com/go-openapi/swag/conv/LICENSE b/vendor/github.com/go-openapi/swag/conv/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/conv/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/conv/convert.go b/vendor/github.com/go-openapi/swag/conv/convert.go new file mode 100644 index 000000000..b9b869854 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/conv/convert.go @@ -0,0 +1,172 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package conv + +import ( + "math" + "strconv" + "strings" +) + +// same as ECMA Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER +const ( + maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 + minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 + epsilon float64 = 1e-9 +) + +// IsFloat64AJSONInteger allows for integers [-2^53, 2^53-1] inclusive. +func IsFloat64AJSONInteger(f float64) bool { + if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { + return false + } + rounded := math.Round(f) + if f == rounded { + return true + } + if rounded == 0 { // f = 0.0 exited above + return false + } + + diff := math.Abs(f - rounded) + if diff == 0 { + return true + } + + // relative error Abs{f - Round(f)) / Round(f)} < ε ; Round(f) + return diff < epsilon*math.Abs(rounded) +} + +// ConvertFloat turns a string into a float numerical value. +func ConvertFloat[T Float](str string) (T, error) { + var v T + f, err := strconv.ParseFloat(str, bitsize(v)) + if err != nil { + return 0, err + } + + return T(f), nil +} + +// ConvertInteger turns a string into a signed integer. +func ConvertInteger[T Signed](str string) (T, error) { + var v T + f, err := strconv.ParseInt(str, 10, bitsize(v)) + if err != nil { + return 0, err + } + + return T(f), nil +} + +// ConvertUinteger turns a string into an unsigned integer. +func ConvertUinteger[T Unsigned](str string) (T, error) { + var v T + f, err := strconv.ParseUint(str, 10, bitsize(v)) + if err != nil { + return 0, err + } + + return T(f), nil +} + +// ConvertBool turns a string into a boolean. +// +// It supports a few more "true" strings than [strconv.ParseBool]: +// +// - it is not case sensitive ("trUe" or "FalsE" work) +// - "ok", "yes", "y", "on", "selected", "checked", "enabled" are all true +// - everything that is not true is false: there is never an actual error returned +func ConvertBool(str string) (bool, error) { + switch strings.ToLower(str) { + case "true", + "1", + "yes", + "ok", + "y", + "on", + "selected", + "checked", + "t", + "enabled": + return true, nil + default: + return false, nil + } +} + +// ConvertFloat32 turns a string into a float32. +func ConvertFloat32(str string) (float32, error) { return ConvertFloat[float32](str) } + +// ConvertFloat64 turns a string into a float64 +func ConvertFloat64(str string) (float64, error) { return ConvertFloat[float64](str) } + +// ConvertInt8 turns a string into an int8 +func ConvertInt8(str string) (int8, error) { return ConvertInteger[int8](str) } + +// ConvertInt16 turns a string into an int16 +func ConvertInt16(str string) (int16, error) { + i, err := strconv.ParseInt(str, 10, 16) + if err != nil { + return 0, err + } + return int16(i), nil +} + +// ConvertInt32 turns a string into an int32 +func ConvertInt32(str string) (int32, error) { + i, err := strconv.ParseInt(str, 10, 32) + if err != nil { + return 0, err + } + return int32(i), nil +} + +// ConvertInt64 turns a string into an int64 +func ConvertInt64(str string) (int64, error) { + return strconv.ParseInt(str, 10, 64) +} + +// ConvertUint8 turns a string into an uint8 +func ConvertUint8(str string) (uint8, error) { + i, err := strconv.ParseUint(str, 10, 8) + if err != nil { + return 0, err + } + return uint8(i), nil +} + +// ConvertUint16 turns a string into an uint16 +func ConvertUint16(str string) (uint16, error) { + i, err := strconv.ParseUint(str, 10, 16) + if err != nil { + return 0, err + } + return uint16(i), nil +} + +// ConvertUint32 turns a string into an uint32 +func ConvertUint32(str string) (uint32, error) { + i, err := strconv.ParseUint(str, 10, 32) + if err != nil { + return 0, err + } + return uint32(i), nil +} + +// ConvertUint64 turns a string into an uint64 +func ConvertUint64(str string) (uint64, error) { + return strconv.ParseUint(str, 10, 64) +} diff --git a/vendor/github.com/go-openapi/swag/conv/convert_types.go b/vendor/github.com/go-openapi/swag/conv/convert_types.go new file mode 100644 index 000000000..423e8663f --- /dev/null +++ b/vendor/github.com/go-openapi/swag/conv/convert_types.go @@ -0,0 +1,79 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package conv + +// The original version of this file, eons ago, was taken from the aws go sdk + +// Pointer returns a pointer to the value passed in. +func Pointer[T any](v T) *T { + return &v +} + +// Value returns a shallow copy of the value of the pointer passed in. +// +// If the pointer is nil, the returned value is the zero value. +func Value[T any](v *T) T { + if v != nil { + return *v + } + + var zero T + return zero +} + +// PointerSlice converts a slice of values into a slice of pointers. +func PointerSlice[T any](src []T) []*T { + dst := make([]*T, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// ValueSlice converts a slice of pointers into a slice of values. +// +// nil elements are zero values. +func ValueSlice[T any](src []*T) []T { + dst := make([]T, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// PointerMap converts a map of values into a map of pointers. +func PointerMap[K comparable, T any](src map[K]T) map[K]*T { + dst := make(map[K]*T) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// ValueMap converts a map of pointers into a map of values. +// +// nil elements are skipped. +func ValueMap[K comparable, T any](src map[K]*T) map[K]T { + dst := make(map[K]T) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} diff --git a/vendor/github.com/go-openapi/swag/conv/doc.go b/vendor/github.com/go-openapi/swag/conv/doc.go new file mode 100644 index 000000000..b02711f42 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/conv/doc.go @@ -0,0 +1,26 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package conv exposes utilities to convert types. +// +// The Convert and Format families of functions are essentially a shorthand to [strconv] functions, +// using the decimal representation of numbers. +// +// Features: +// +// - from string representation to value ("Convert*") and reciprocally ("Format*") +// - from pointer to value ([Value]) and reciprocally ([Pointer]) +// - from slice of values to slice of pointers ([PointerSlice]) and reciprocally ([ValueSlice]) +// - from map of values to map of pointers ([PointerMap]) and reciprocally ([ValueMap]) +package conv diff --git a/vendor/github.com/go-openapi/swag/conv/format.go b/vendor/github.com/go-openapi/swag/conv/format.go new file mode 100644 index 000000000..db7562a4a --- /dev/null +++ b/vendor/github.com/go-openapi/swag/conv/format.go @@ -0,0 +1,39 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package conv + +import ( + "strconv" +) + +// FormatInteger turns an integer type into a string. +func FormatInteger[T Signed](value T) string { + return strconv.FormatInt(int64(value), 10) +} + +// FormatUinteger turns an unsigned integer type into a string. +func FormatUinteger[T Unsigned](value T) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatFloat turns a floating point numerical value into a string. +func FormatFloat[T Float](value T) string { + return strconv.FormatFloat(float64(value), 'f', -1, bitsize(value)) +} + +// FormatBool turns a boolean into a string. +func FormatBool(value bool) string { + return strconv.FormatBool(value) +} diff --git a/vendor/github.com/go-openapi/swag/conv/sizeof.go b/vendor/github.com/go-openapi/swag/conv/sizeof.go new file mode 100644 index 000000000..646f8be9a --- /dev/null +++ b/vendor/github.com/go-openapi/swag/conv/sizeof.go @@ -0,0 +1,17 @@ +package conv + +import "unsafe" + +// bitsize returns the size in bits of a type. +// +// NOTE: [unsafe.SizeOf] simply returns the size in bytes of the value. +// For primitive types T, the generic stencil is precompiled and this value +// is resolved at compile time, resulting in an immediate call to [strconv.ParseFloat]. +// +// We may leave up to the go compiler to simplify this function into a +// constant value, which happens in practice at least for primitive types +// (e.g. numerical types). +func bitsize[T Numerical](value T) int { + const bitsPerByte = 8 + return int(unsafe.Sizeof(value)) * bitsPerByte +} diff --git a/vendor/github.com/go-openapi/swag/conv/type_constraints.go b/vendor/github.com/go-openapi/swag/conv/type_constraints.go new file mode 100644 index 000000000..3c6149836 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/conv/type_constraints.go @@ -0,0 +1,40 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package conv + +type ( + // these type constraints are redefined after golang.org/x/exp/constraints, + // because importing that package causes an undesired go upgrade. + + // Signed integer types, cf. [golang.org/x/exp/constraints.Signed] + Signed interface { + ~int | ~int8 | ~int16 | ~int32 | ~int64 + } + + // Unsigned integer types, cf. [golang.org/x/exp/constraints.Unsigned] + Unsigned interface { + ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr + } + + // Float numerical types, cf. [golang.org/x/exp/constraints.Float] + Float interface { + ~float32 | ~float64 + } + + // Numerical types + Numerical interface { + Signed | Unsigned | Float + } +) diff --git a/vendor/github.com/go-openapi/swag/conv_iface.go b/vendor/github.com/go-openapi/swag/conv_iface.go new file mode 100644 index 000000000..9991acb65 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/conv_iface.go @@ -0,0 +1,497 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "time" + + "github.com/go-openapi/swag/conv" +) + +// IsFloat64AJSONInteger allows for integers [-2^53, 2^53-1] inclusive. +// +// Deprecated: use [conv.IsFloat64AJSONInteger] instead. +func IsFloat64AJSONInteger(f float64) bool { return conv.IsFloat64AJSONInteger(f) } + +// ConvertBool turns a string into a boolean. +// +// Deprecated: use [conv.ConvertBool] instead. +func ConvertBool(str string) (bool, error) { return conv.ConvertBool(str) } + +// ConvertFloat32 turns a string into a float32. +// +// Deprecated: use [conv.ConvertFloat32] instead. Alternatively, you may use the generic version [conv.ConvertFloat]. +func ConvertFloat32(str string) (float32, error) { return conv.ConvertFloat[float32](str) } + +// ConvertFloat64 turns a string into a float64. +// +// Deprecated: use [conv.ConvertFloat64] instead. Alternatively, you may use the generic version [conv.ConvertFloat]. +func ConvertFloat64(str string) (float64, error) { return conv.ConvertFloat[float64](str) } + +// ConvertInt8 turns a string into an int8. +// +// Deprecated: use [conv.ConvertInt8] instead. Alternatively, you may use the generic version [conv.ConvertInteger]. +func ConvertInt8(str string) (int8, error) { return conv.ConvertInteger[int8](str) } + +// ConvertInt16 turns a string into an int16. +// +// Deprecated: use [conv.ConvertInt16] instead. Alternatively, you may use the generic version [conv.ConvertInteger]. +func ConvertInt16(str string) (int16, error) { return conv.ConvertInteger[int16](str) } + +// ConvertInt32 turns a string into an int32. +// +// Deprecated: use [conv.ConvertInt32] instead. Alternatively, you may use the generic version [conv.ConvertInteger]. +func ConvertInt32(str string) (int32, error) { return conv.ConvertInteger[int32](str) } + +// ConvertInt64 turns a string into an int64. +// +// Deprecated: use [conv.ConvertInt64] instead. Alternatively, you may use the generic version [conv.ConvertInteger]. +func ConvertInt64(str string) (int64, error) { return conv.ConvertInteger[int64](str) } + +// ConvertUint8 turns a string into an uint8. +// +// Deprecated: use [conv.ConvertUint8] instead. Alternatively, you may use the generic version [conv.ConvertUinteger]. +func ConvertUint8(str string) (uint8, error) { return conv.ConvertUinteger[uint8](str) } + +// ConvertUint16 turns a string into an uint16. +// +// Deprecated: use [conv.ConvertUint16] instead. Alternatively, you may use the generic version [conv.ConvertUinteger]. +func ConvertUint16(str string) (uint16, error) { return conv.ConvertUinteger[uint16](str) } + +// ConvertUint32 turns a string into an uint32. +// +// Deprecated: use [conv.ConvertUint32] instead. Alternatively, you may use the generic version [conv.ConvertUinteger]. +func ConvertUint32(str string) (uint32, error) { return conv.ConvertUinteger[uint32](str) } + +// ConvertUint64 turns a string into an uint64. +// +// Deprecated: use [conv.ConvertUint64] instead. Alternatively, you may use the generic version [conv.ConvertUinteger]. +func ConvertUint64(str string) (uint64, error) { return conv.ConvertUinteger[uint64](str) } + +// FormatBool turns a boolean into a string. +// +// Deprecated: use [conv.FormatBool] instead. +func FormatBool(value bool) string { return conv.FormatBool(value) } + +// FormatFloat32 turns a float32 into a string. +// +// Deprecated: use [conv.FormatFloat] instead. +func FormatFloat32(value float32) string { return conv.FormatFloat(value) } + +// FormatFloat64 turns a float64 into a string. +// +// Deprecated: use [conv.FormatFloat] instead. +func FormatFloat64(value float64) string { return conv.FormatFloat(value) } + +// FormatInt8 turns an int8 into a string. +// +// Deprecated: use [conv.FormatInteger] instead. +func FormatInt8(value int8) string { return conv.FormatInteger(value) } + +// FormatInt16 turns an int16 into a string. +// +// Deprecated: use [conv.FormatInteger] instead. +func FormatInt16(value int16) string { return conv.FormatInteger(value) } + +// FormatInt32 turns an int32 into a string +// +// Deprecated: use [conv.FormatInteger] instead. +func FormatInt32(value int32) string { return conv.FormatInteger(value) } + +// FormatInt64 turns an int64 into a string. +// +// Deprecated: use [conv.FormatInteger] instead. +func FormatInt64(value int64) string { return conv.FormatInteger(value) } + +// FormatUint8 turns an uint8 into a string. +// +// Deprecated: use [conv.FormatUinteger] instead. +func FormatUint8(value uint8) string { return conv.FormatUinteger(value) } + +// FormatUint16 turns an uint16 into a string. +// +// Deprecated: use [conv.FormatUinteger] instead. +func FormatUint16(value uint16) string { return conv.FormatUinteger(value) } + +// FormatUint32 turns an uint32 into a string. +// +// Deprecated: use [conv.FormatUinteger] instead. +func FormatUint32(value uint32) string { return conv.FormatUinteger(value) } + +// FormatUint64 turns an uint64 into a string. +// +// Deprecated: use [conv.FormatUinteger] instead. +func FormatUint64(value uint64) string { return conv.FormatUinteger(value) } + +// String turn a pointer to of the string value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func String(v string) *string { return conv.Pointer(v) } + +// StringValue turn the value of the string pointer passed in or +// "" if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func StringValue(v *string) string { return conv.Value(v) } + +// StringSlice converts a slice of string values into a slice of string pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func StringSlice(src []string) []*string { return conv.PointerSlice(src) } + +// StringValueSlice converts a slice of string pointers into a slice of string values. +// +// Deprecated: use [conv.ValueSlice] instead. +func StringValueSlice(src []*string) []string { return conv.ValueSlice(src) } + +// StringMap converts a string map of string values into a string map of string pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func StringMap(src map[string]string) map[string]*string { return conv.PointerMap(src) } + +// StringValueMap converts a string map of string pointers into a string map of string values. +// +// Deprecated: use [conv.ValueMap] instead. +func StringValueMap(src map[string]*string) map[string]string { return conv.ValueMap(src) } + +// Bool turn a pointer to of the bool value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Bool(v bool) *bool { return conv.Pointer(v) } + +// BoolValue turn the value of the bool pointer passed in or false if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func BoolValue(v *bool) bool { return conv.Value(v) } + +// BoolSlice converts a slice of bool values into a slice of bool pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func BoolSlice(src []bool) []*bool { return conv.PointerSlice(src) } + +// BoolValueSlice converts a slice of bool pointers into a slice of bool values. +// +// Deprecated: use [conv.ValueSlice] instead. +func BoolValueSlice(src []*bool) []bool { return conv.ValueSlice(src) } + +// BoolMap converts a string map of bool values into a string map of bool pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func BoolMap(src map[string]bool) map[string]*bool { return conv.PointerMap(src) } + +// BoolValueMap converts a string map of bool pointers into a string map of bool values. +// +// Deprecated: use [conv.ValueMap] instead. +func BoolValueMap(src map[string]*bool) map[string]bool { return conv.ValueMap(src) } + +// Int turn a pointer to of the int value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Int(v int) *int { return conv.Pointer(v) } + +// IntValue turn the value of the int pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func IntValue(v *int) int { return conv.Value(v) } + +// IntSlice converts a slice of int values into a slice of int pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func IntSlice(src []int) []*int { return conv.PointerSlice(src) } + +// IntValueSlice converts a slice of int pointers into a slice of int values. +// +// Deprecated: use [conv.ValueSlice] instead. +func IntValueSlice(src []*int) []int { return conv.ValueSlice(src) } + +// IntMap converts a string map of int values into a string map of int pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func IntMap(src map[string]int) map[string]*int { return conv.PointerMap(src) } + +// IntValueMap converts a string map of int pointers into a string map of int values. +// +// Deprecated: use [conv.ValueMap] instead. +func IntValueMap(src map[string]*int) map[string]int { return conv.ValueMap(src) } + +// Int32 turn a pointer to of the int32 value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Int32(v int32) *int32 { return conv.Pointer(v) } + +// Int32Value turn the value of the int32 pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func Int32Value(v *int32) int32 { return conv.Value(v) } + +// Int32Slice converts a slice of int32 values into a slice of int32 pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func Int32Slice(src []int32) []*int32 { return conv.PointerSlice(src) } + +// Int32ValueSlice converts a slice of int32 pointers into a slice of int32 values. +// +// Deprecated: use [conv.ValueSlice] instead. +func Int32ValueSlice(src []*int32) []int32 { return conv.ValueSlice(src) } + +// Int32Map converts a string map of int32 values into a string map of int32 pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func Int32Map(src map[string]int32) map[string]*int32 { return conv.PointerMap(src) } + +// Int32ValueMap converts a string map of int32 pointers into a string map of int32 values. +// +// Deprecated: use [conv.ValueMap] instead. +func Int32ValueMap(src map[string]*int32) map[string]int32 { return conv.ValueMap(src) } + +// Int64 turn a pointer to of the int64 value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Int64(v int64) *int64 { return conv.Pointer(v) } + +// Int64Value turn the value of the int64 pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func Int64Value(v *int64) int64 { return conv.Value(v) } + +// Int64Slice converts a slice of int64 values into a slice of int64 pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func Int64Slice(src []int64) []*int64 { return conv.PointerSlice(src) } + +// Int64ValueSlice converts a slice of int64 pointers into a slice of int64 values. +// +// Deprecated: use [conv.ValueSlice] instead. +func Int64ValueSlice(src []*int64) []int64 { return conv.ValueSlice(src) } + +// Int64Map converts a string map of int64 values into a string map of int64 pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func Int64Map(src map[string]int64) map[string]*int64 { return conv.PointerMap(src) } + +// Int64ValueMap converts a string map of int64 pointers into a string map of int64 values. +// +// Deprecated: use [conv.ValueMap] instead. +func Int64ValueMap(src map[string]*int64) map[string]int64 { return conv.ValueMap(src) } + +// Uint16 turn a pointer to of the uint16 value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Uint16(v uint16) *uint16 { return conv.Pointer(v) } + +// Uint16Value turn the value of the uint16 pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func Uint16Value(v *uint16) uint16 { return conv.Value(v) } + +// Uint16Slice converts a slice of uint16 values into a slice of uint16 pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func Uint16Slice(src []uint16) []*uint16 { return conv.PointerSlice(src) } + +// Uint16ValueSlice converts a slice of uint16 pointers into a slice of uint16 values. +// +// Deprecated: use [conv.ValueSlice] instead. +func Uint16ValueSlice(src []*uint16) []uint16 { return conv.ValueSlice(src) } + +// Uint16Map converts a string map of uint16 values into a string map of uint16 pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func Uint16Map(src map[string]uint16) map[string]*uint16 { return conv.PointerMap(src) } + +// Uint16ValueMap converts a string map of uint16 pointers into a string map of uint16 values. +// +// Deprecated: use [conv.ValueMap] instead. +func Uint16ValueMap(src map[string]*uint16) map[string]uint16 { return conv.ValueMap(src) } + +// Uint turn a pointer to of the uint value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Uint(v uint) *uint { return conv.Pointer(v) } + +// UintValue turn the value of the uint pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func UintValue(v *uint) uint { return conv.Value(v) } + +// UintSlice converts a slice of uint values into a slice of uint pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func UintSlice(src []uint) []*uint { return conv.PointerSlice(src) } + +// UintValueSlice converts a slice of uint pointers into a slice of uint values. +// +// Deprecated: use [conv.ValueSlice] instead. +func UintValueSlice(src []*uint) []uint { return conv.ValueSlice(src) } + +// UintMap converts a string map of uint values into a string map of uint pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func UintMap(src map[string]uint) map[string]*uint { return conv.PointerMap(src) } + +// UintValueMap converts a string map of uint pointers into a string map of uint values. +// +// Deprecated: use [conv.ValueMap] instead. +func UintValueMap(src map[string]*uint) map[string]uint { return conv.ValueMap(src) } + +// Uint32 turn a pointer to of the uint32 value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Uint32(v uint32) *uint32 { return conv.Pointer(v) } + +// Uint32Value turn the value of the uint32 pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func Uint32Value(v *uint32) uint32 { return conv.Value(v) } + +// Uint32Slice converts a slice of uint32 values into a slice of uint32 pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func Uint32Slice(src []uint32) []*uint32 { return conv.PointerSlice(src) } + +// Uint32ValueSlice converts a slice of uint32 pointers into a slice of uint32 values. +// +// Deprecated: use [conv.ValueSlice] instead. +func Uint32ValueSlice(src []*uint32) []uint32 { return conv.ValueSlice(src) } + +// Uint32Map converts a string map of uint32 values into a string map of uint32 pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func Uint32Map(src map[string]uint32) map[string]*uint32 { return conv.PointerMap(src) } + +// Uint32ValueMap converts a string map of uint32 pointers into a string map of uint32 values. +// +// Deprecated: use [conv.ValueMap] instead. +func Uint32ValueMap(src map[string]*uint32) map[string]uint32 { return conv.ValueMap(src) } + +// Uint64 turn a pointer to of the uint64 value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Uint64(v uint64) *uint64 { return conv.Pointer(v) } + +// Uint64Value turn the value of the uint64 pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func Uint64Value(v *uint64) uint64 { return conv.Value(v) } + +// Uint64Slice converts a slice of uint64 values into a slice of uint64 pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func Uint64Slice(src []uint64) []*uint64 { return conv.PointerSlice(src) } + +// Uint64ValueSlice converts a slice of uint64 pointers into a slice of uint64 values. +// +// Deprecated: use [conv.ValueSlice] instead. +func Uint64ValueSlice(src []*uint64) []uint64 { return conv.ValueSlice(src) } + +// Uint64Map converts a string map of uint64 values into a string map of uint64 pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func Uint64Map(src map[string]uint64) map[string]*uint64 { return conv.PointerMap(src) } + +// Uint64ValueMap converts a string map of uint64 pointers into a string map of uint64 values. +// +// Deprecated: use [conv.ValueMap] instead. +func Uint64ValueMap(src map[string]*uint64) map[string]uint64 { return conv.ValueMap(src) } + +// Float32 turn a pointer to of the float32 value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Float32(v float32) *float32 { return conv.Pointer(v) } + +// Float32Value turn the value of the float32 pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func Float32Value(v *float32) float32 { return conv.Value(v) } + +// Float32Slice converts a slice of float32 values into a slice of float32 pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func Float32Slice(src []float32) []*float32 { return conv.PointerSlice(src) } + +// Float32ValueSlice converts a slice of float32 pointers into a slice of float32 values. +// +// Deprecated: use [conv.ValueSlice] instead. +func Float32ValueSlice(src []*float32) []float32 { return conv.ValueSlice(src) } + +// Float32Map converts a string map of float32 values into a string map of float32 pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func Float32Map(src map[string]float32) map[string]*float32 { return conv.PointerMap(src) } + +// Float32ValueMap converts a string map of float32 pointers into a string map of float32 values. +// +// Deprecated: use [conv.ValueMap] instead. +func Float32ValueMap(src map[string]*float32) map[string]float32 { return conv.ValueMap(src) } + +// Float64 turn a pointer to of the float64 value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Float64(v float64) *float64 { return conv.Pointer(v) } + +// Float64Value turn the value of the float64 pointer passed in or 0 if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func Float64Value(v *float64) float64 { return conv.Value(v) } + +// Float64Slice converts a slice of float64 values into a slice of float64 pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func Float64Slice(src []float64) []*float64 { return conv.PointerSlice(src) } + +// Float64ValueSlice converts a slice of float64 pointers into a slice of float64 values. +// +// Deprecated: use [conv.ValueSlice] instead. +func Float64ValueSlice(src []*float64) []float64 { return conv.ValueSlice(src) } + +// Float64Map converts a string map of float64 values into a string map of float64 pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func Float64Map(src map[string]float64) map[string]*float64 { return conv.PointerMap(src) } + +// Float64ValueMap converts a string map of float64 pointers into a string map of float64 values. +// +// Deprecated: use [conv.ValueMap] instead. +func Float64ValueMap(src map[string]*float64) map[string]float64 { return conv.ValueMap(src) } + +// Time turn a pointer to of the time.Time value passed in. +// +// Deprecated: use [conv.Pointer] instead. +func Time(v time.Time) *time.Time { return conv.Pointer(v) } + +// TimeValue turn the value of the time.Time pointer passed in or time.Time{} if the pointer is nil. +// +// Deprecated: use [conv.Value] instead. +func TimeValue(v *time.Time) time.Time { return conv.Value(v) } + +// TimeSlice converts a slice of time.Time values into a slice of time.Time pointers. +// +// Deprecated: use [conv.PointerSlice] instead. +func TimeSlice(src []time.Time) []*time.Time { return conv.PointerSlice(src) } + +// TimeValueSlice converts a slice of time.Time pointers into a slice of time.Time values +// +// Deprecated: use [conv.ValueSlice] instead. +func TimeValueSlice(src []*time.Time) []time.Time { return conv.ValueSlice(src) } + +// TimeMap converts a string map of time.Time values into a string map of time.Time pointers. +// +// Deprecated: use [conv.PointerMap] instead. +func TimeMap(src map[string]time.Time) map[string]*time.Time { return conv.PointerMap(src) } + +// TimeValueMap converts a string map of time.Time pointers into a string map of time.Time values. +// +// Deprecated: use [conv.ValueMap] instead. +func TimeValueMap(src map[string]*time.Time) map[string]time.Time { return conv.ValueMap(src) } diff --git a/vendor/github.com/go-openapi/swag/convert.go b/vendor/github.com/go-openapi/swag/convert.go deleted file mode 100644 index fc085aeb8..000000000 --- a/vendor/github.com/go-openapi/swag/convert.go +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package swag - -import ( - "math" - "strconv" - "strings" -) - -// same as ECMA Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER -const ( - maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 - minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 - epsilon float64 = 1e-9 -) - -// IsFloat64AJSONInteger allow for integers [-2^53, 2^53-1] inclusive -func IsFloat64AJSONInteger(f float64) bool { - if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { - return false - } - fa := math.Abs(f) - g := float64(uint64(f)) - ga := math.Abs(g) - - diff := math.Abs(f - g) - - // more info: https://floating-point-gui.de/errors/comparison/#look-out-for-edge-cases - switch { - case f == g: // best case - return true - case f == float64(int64(f)) || f == float64(uint64(f)): // optimistic case - return true - case f == 0 || g == 0 || diff < math.SmallestNonzeroFloat64: // very close to 0 values - return diff < (epsilon * math.SmallestNonzeroFloat64) - } - // check the relative error - return diff/math.Min(fa+ga, math.MaxFloat64) < epsilon -} - -var evaluatesAsTrue map[string]struct{} - -func init() { - evaluatesAsTrue = map[string]struct{}{ - "true": {}, - "1": {}, - "yes": {}, - "ok": {}, - "y": {}, - "on": {}, - "selected": {}, - "checked": {}, - "t": {}, - "enabled": {}, - } -} - -// ConvertBool turn a string into a boolean -func ConvertBool(str string) (bool, error) { - _, ok := evaluatesAsTrue[strings.ToLower(str)] - return ok, nil -} - -// ConvertFloat32 turn a string into a float32 -func ConvertFloat32(str string) (float32, error) { - f, err := strconv.ParseFloat(str, 32) - if err != nil { - return 0, err - } - return float32(f), nil -} - -// ConvertFloat64 turn a string into a float64 -func ConvertFloat64(str string) (float64, error) { - return strconv.ParseFloat(str, 64) -} - -// ConvertInt8 turn a string into an int8 -func ConvertInt8(str string) (int8, error) { - i, err := strconv.ParseInt(str, 10, 8) - if err != nil { - return 0, err - } - return int8(i), nil -} - -// ConvertInt16 turn a string into an int16 -func ConvertInt16(str string) (int16, error) { - i, err := strconv.ParseInt(str, 10, 16) - if err != nil { - return 0, err - } - return int16(i), nil -} - -// ConvertInt32 turn a string into an int32 -func ConvertInt32(str string) (int32, error) { - i, err := strconv.ParseInt(str, 10, 32) - if err != nil { - return 0, err - } - return int32(i), nil -} - -// ConvertInt64 turn a string into an int64 -func ConvertInt64(str string) (int64, error) { - return strconv.ParseInt(str, 10, 64) -} - -// ConvertUint8 turn a string into an uint8 -func ConvertUint8(str string) (uint8, error) { - i, err := strconv.ParseUint(str, 10, 8) - if err != nil { - return 0, err - } - return uint8(i), nil -} - -// ConvertUint16 turn a string into an uint16 -func ConvertUint16(str string) (uint16, error) { - i, err := strconv.ParseUint(str, 10, 16) - if err != nil { - return 0, err - } - return uint16(i), nil -} - -// ConvertUint32 turn a string into an uint32 -func ConvertUint32(str string) (uint32, error) { - i, err := strconv.ParseUint(str, 10, 32) - if err != nil { - return 0, err - } - return uint32(i), nil -} - -// ConvertUint64 turn a string into an uint64 -func ConvertUint64(str string) (uint64, error) { - return strconv.ParseUint(str, 10, 64) -} - -// FormatBool turns a boolean into a string -func FormatBool(value bool) string { - return strconv.FormatBool(value) -} - -// FormatFloat32 turns a float32 into a string -func FormatFloat32(value float32) string { - return strconv.FormatFloat(float64(value), 'f', -1, 32) -} - -// FormatFloat64 turns a float64 into a string -func FormatFloat64(value float64) string { - return strconv.FormatFloat(value, 'f', -1, 64) -} - -// FormatInt8 turns an int8 into a string -func FormatInt8(value int8) string { - return strconv.FormatInt(int64(value), 10) -} - -// FormatInt16 turns an int16 into a string -func FormatInt16(value int16) string { - return strconv.FormatInt(int64(value), 10) -} - -// FormatInt32 turns an int32 into a string -func FormatInt32(value int32) string { - return strconv.Itoa(int(value)) -} - -// FormatInt64 turns an int64 into a string -func FormatInt64(value int64) string { - return strconv.FormatInt(value, 10) -} - -// FormatUint8 turns an uint8 into a string -func FormatUint8(value uint8) string { - return strconv.FormatUint(uint64(value), 10) -} - -// FormatUint16 turns an uint16 into a string -func FormatUint16(value uint16) string { - return strconv.FormatUint(uint64(value), 10) -} - -// FormatUint32 turns an uint32 into a string -func FormatUint32(value uint32) string { - return strconv.FormatUint(uint64(value), 10) -} - -// FormatUint64 turns an uint64 into a string -func FormatUint64(value uint64) string { - return strconv.FormatUint(value, 10) -} diff --git a/vendor/github.com/go-openapi/swag/convert_types.go b/vendor/github.com/go-openapi/swag/convert_types.go deleted file mode 100644 index c49cc473a..000000000 --- a/vendor/github.com/go-openapi/swag/convert_types.go +++ /dev/null @@ -1,730 +0,0 @@ -package swag - -import "time" - -// This file was taken from the aws go sdk - -// String returns a pointer to of the string value passed in. -func String(v string) *string { - return &v -} - -// StringValue returns the value of the string pointer passed in or -// "" if the pointer is nil. -func StringValue(v *string) string { - if v != nil { - return *v - } - return "" -} - -// StringSlice converts a slice of string values into a slice of -// string pointers -func StringSlice(src []string) []*string { - dst := make([]*string, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// StringValueSlice converts a slice of string pointers into a slice of -// string values -func StringValueSlice(src []*string) []string { - dst := make([]string, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// StringMap converts a string map of string values into a string -// map of string pointers -func StringMap(src map[string]string) map[string]*string { - dst := make(map[string]*string) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// StringValueMap converts a string map of string pointers into a string -// map of string values -func StringValueMap(src map[string]*string) map[string]string { - dst := make(map[string]string) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Bool returns a pointer to of the bool value passed in. -func Bool(v bool) *bool { - return &v -} - -// BoolValue returns the value of the bool pointer passed in or -// false if the pointer is nil. -func BoolValue(v *bool) bool { - if v != nil { - return *v - } - return false -} - -// BoolSlice converts a slice of bool values into a slice of -// bool pointers -func BoolSlice(src []bool) []*bool { - dst := make([]*bool, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// BoolValueSlice converts a slice of bool pointers into a slice of -// bool values -func BoolValueSlice(src []*bool) []bool { - dst := make([]bool, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// BoolMap converts a string map of bool values into a string -// map of bool pointers -func BoolMap(src map[string]bool) map[string]*bool { - dst := make(map[string]*bool) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// BoolValueMap converts a string map of bool pointers into a string -// map of bool values -func BoolValueMap(src map[string]*bool) map[string]bool { - dst := make(map[string]bool) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Int returns a pointer to of the int value passed in. -func Int(v int) *int { - return &v -} - -// IntValue returns the value of the int pointer passed in or -// 0 if the pointer is nil. -func IntValue(v *int) int { - if v != nil { - return *v - } - return 0 -} - -// IntSlice converts a slice of int values into a slice of -// int pointers -func IntSlice(src []int) []*int { - dst := make([]*int, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// IntValueSlice converts a slice of int pointers into a slice of -// int values -func IntValueSlice(src []*int) []int { - dst := make([]int, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// IntMap converts a string map of int values into a string -// map of int pointers -func IntMap(src map[string]int) map[string]*int { - dst := make(map[string]*int) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// IntValueMap converts a string map of int pointers into a string -// map of int values -func IntValueMap(src map[string]*int) map[string]int { - dst := make(map[string]int) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Int32 returns a pointer to of the int32 value passed in. -func Int32(v int32) *int32 { - return &v -} - -// Int32Value returns the value of the int32 pointer passed in or -// 0 if the pointer is nil. -func Int32Value(v *int32) int32 { - if v != nil { - return *v - } - return 0 -} - -// Int32Slice converts a slice of int32 values into a slice of -// int32 pointers -func Int32Slice(src []int32) []*int32 { - dst := make([]*int32, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// Int32ValueSlice converts a slice of int32 pointers into a slice of -// int32 values -func Int32ValueSlice(src []*int32) []int32 { - dst := make([]int32, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// Int32Map converts a string map of int32 values into a string -// map of int32 pointers -func Int32Map(src map[string]int32) map[string]*int32 { - dst := make(map[string]*int32) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// Int32ValueMap converts a string map of int32 pointers into a string -// map of int32 values -func Int32ValueMap(src map[string]*int32) map[string]int32 { - dst := make(map[string]int32) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Int64 returns a pointer to of the int64 value passed in. -func Int64(v int64) *int64 { - return &v -} - -// Int64Value returns the value of the int64 pointer passed in or -// 0 if the pointer is nil. -func Int64Value(v *int64) int64 { - if v != nil { - return *v - } - return 0 -} - -// Int64Slice converts a slice of int64 values into a slice of -// int64 pointers -func Int64Slice(src []int64) []*int64 { - dst := make([]*int64, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// Int64ValueSlice converts a slice of int64 pointers into a slice of -// int64 values -func Int64ValueSlice(src []*int64) []int64 { - dst := make([]int64, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// Int64Map converts a string map of int64 values into a string -// map of int64 pointers -func Int64Map(src map[string]int64) map[string]*int64 { - dst := make(map[string]*int64) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// Int64ValueMap converts a string map of int64 pointers into a string -// map of int64 values -func Int64ValueMap(src map[string]*int64) map[string]int64 { - dst := make(map[string]int64) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Uint16 returns a pointer to of the uint16 value passed in. -func Uint16(v uint16) *uint16 { - return &v -} - -// Uint16Value returns the value of the uint16 pointer passed in or -// 0 if the pointer is nil. -func Uint16Value(v *uint16) uint16 { - if v != nil { - return *v - } - - return 0 -} - -// Uint16Slice converts a slice of uint16 values into a slice of -// uint16 pointers -func Uint16Slice(src []uint16) []*uint16 { - dst := make([]*uint16, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - - return dst -} - -// Uint16ValueSlice converts a slice of uint16 pointers into a slice of -// uint16 values -func Uint16ValueSlice(src []*uint16) []uint16 { - dst := make([]uint16, len(src)) - - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - - return dst -} - -// Uint16Map converts a string map of uint16 values into a string -// map of uint16 pointers -func Uint16Map(src map[string]uint16) map[string]*uint16 { - dst := make(map[string]*uint16) - - for k, val := range src { - v := val - dst[k] = &v - } - - return dst -} - -// Uint16ValueMap converts a string map of uint16 pointers into a string -// map of uint16 values -func Uint16ValueMap(src map[string]*uint16) map[string]uint16 { - dst := make(map[string]uint16) - - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - - return dst -} - -// Uint returns a pointer to of the uint value passed in. -func Uint(v uint) *uint { - return &v -} - -// UintValue returns the value of the uint pointer passed in or -// 0 if the pointer is nil. -func UintValue(v *uint) uint { - if v != nil { - return *v - } - return 0 -} - -// UintSlice converts a slice of uint values into a slice of -// uint pointers -func UintSlice(src []uint) []*uint { - dst := make([]*uint, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// UintValueSlice converts a slice of uint pointers into a slice of -// uint values -func UintValueSlice(src []*uint) []uint { - dst := make([]uint, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// UintMap converts a string map of uint values into a string -// map of uint pointers -func UintMap(src map[string]uint) map[string]*uint { - dst := make(map[string]*uint) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// UintValueMap converts a string map of uint pointers into a string -// map of uint values -func UintValueMap(src map[string]*uint) map[string]uint { - dst := make(map[string]uint) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Uint32 returns a pointer to of the uint32 value passed in. -func Uint32(v uint32) *uint32 { - return &v -} - -// Uint32Value returns the value of the uint32 pointer passed in or -// 0 if the pointer is nil. -func Uint32Value(v *uint32) uint32 { - if v != nil { - return *v - } - return 0 -} - -// Uint32Slice converts a slice of uint32 values into a slice of -// uint32 pointers -func Uint32Slice(src []uint32) []*uint32 { - dst := make([]*uint32, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// Uint32ValueSlice converts a slice of uint32 pointers into a slice of -// uint32 values -func Uint32ValueSlice(src []*uint32) []uint32 { - dst := make([]uint32, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// Uint32Map converts a string map of uint32 values into a string -// map of uint32 pointers -func Uint32Map(src map[string]uint32) map[string]*uint32 { - dst := make(map[string]*uint32) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// Uint32ValueMap converts a string map of uint32 pointers into a string -// map of uint32 values -func Uint32ValueMap(src map[string]*uint32) map[string]uint32 { - dst := make(map[string]uint32) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Uint64 returns a pointer to of the uint64 value passed in. -func Uint64(v uint64) *uint64 { - return &v -} - -// Uint64Value returns the value of the uint64 pointer passed in or -// 0 if the pointer is nil. -func Uint64Value(v *uint64) uint64 { - if v != nil { - return *v - } - return 0 -} - -// Uint64Slice converts a slice of uint64 values into a slice of -// uint64 pointers -func Uint64Slice(src []uint64) []*uint64 { - dst := make([]*uint64, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// Uint64ValueSlice converts a slice of uint64 pointers into a slice of -// uint64 values -func Uint64ValueSlice(src []*uint64) []uint64 { - dst := make([]uint64, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// Uint64Map converts a string map of uint64 values into a string -// map of uint64 pointers -func Uint64Map(src map[string]uint64) map[string]*uint64 { - dst := make(map[string]*uint64) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// Uint64ValueMap converts a string map of uint64 pointers into a string -// map of uint64 values -func Uint64ValueMap(src map[string]*uint64) map[string]uint64 { - dst := make(map[string]uint64) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Float32 returns a pointer to of the float32 value passed in. -func Float32(v float32) *float32 { - return &v -} - -// Float32Value returns the value of the float32 pointer passed in or -// 0 if the pointer is nil. -func Float32Value(v *float32) float32 { - if v != nil { - return *v - } - - return 0 -} - -// Float32Slice converts a slice of float32 values into a slice of -// float32 pointers -func Float32Slice(src []float32) []*float32 { - dst := make([]*float32, len(src)) - - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - - return dst -} - -// Float32ValueSlice converts a slice of float32 pointers into a slice of -// float32 values -func Float32ValueSlice(src []*float32) []float32 { - dst := make([]float32, len(src)) - - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - - return dst -} - -// Float32Map converts a string map of float32 values into a string -// map of float32 pointers -func Float32Map(src map[string]float32) map[string]*float32 { - dst := make(map[string]*float32) - - for k, val := range src { - v := val - dst[k] = &v - } - - return dst -} - -// Float32ValueMap converts a string map of float32 pointers into a string -// map of float32 values -func Float32ValueMap(src map[string]*float32) map[string]float32 { - dst := make(map[string]float32) - - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - - return dst -} - -// Float64 returns a pointer to of the float64 value passed in. -func Float64(v float64) *float64 { - return &v -} - -// Float64Value returns the value of the float64 pointer passed in or -// 0 if the pointer is nil. -func Float64Value(v *float64) float64 { - if v != nil { - return *v - } - return 0 -} - -// Float64Slice converts a slice of float64 values into a slice of -// float64 pointers -func Float64Slice(src []float64) []*float64 { - dst := make([]*float64, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// Float64ValueSlice converts a slice of float64 pointers into a slice of -// float64 values -func Float64ValueSlice(src []*float64) []float64 { - dst := make([]float64, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// Float64Map converts a string map of float64 values into a string -// map of float64 pointers -func Float64Map(src map[string]float64) map[string]*float64 { - dst := make(map[string]*float64) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// Float64ValueMap converts a string map of float64 pointers into a string -// map of float64 values -func Float64ValueMap(src map[string]*float64) map[string]float64 { - dst := make(map[string]float64) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Time returns a pointer to of the time.Time value passed in. -func Time(v time.Time) *time.Time { - return &v -} - -// TimeValue returns the value of the time.Time pointer passed in or -// time.Time{} if the pointer is nil. -func TimeValue(v *time.Time) time.Time { - if v != nil { - return *v - } - return time.Time{} -} - -// TimeSlice converts a slice of time.Time values into a slice of -// time.Time pointers -func TimeSlice(src []time.Time) []*time.Time { - dst := make([]*time.Time, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// TimeValueSlice converts a slice of time.Time pointers into a slice of -// time.Time values -func TimeValueSlice(src []*time.Time) []time.Time { - dst := make([]time.Time, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// TimeMap converts a string map of time.Time values into a string -// map of time.Time pointers -func TimeMap(src map[string]time.Time) map[string]*time.Time { - dst := make(map[string]*time.Time) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// TimeValueMap converts a string map of time.Time pointers into a string -// map of time.Time values -func TimeValueMap(src map[string]*time.Time) map[string]time.Time { - dst := make(map[string]time.Time) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} diff --git a/vendor/github.com/go-openapi/swag/doc.go b/vendor/github.com/go-openapi/swag/doc.go index 55094cb74..b5af82982 100644 --- a/vendor/github.com/go-openapi/swag/doc.go +++ b/vendor/github.com/go-openapi/swag/doc.go @@ -12,20 +12,67 @@ // See the License for the specific language governing permissions and // limitations under the License. -/* -Package swag contains a bunch of helper functions for go-openapi and go-swagger projects. - -You may also use it standalone for your projects. - - - convert between value and pointers for builtin types - - convert from string to builtin types (wraps strconv) - - fast json concatenation - - search in path - - load from file or http - - name mangling - -This repo has only few dependencies outside of the standard library: - - - YAML utilities depend on gopkg.in/yaml.v2 -*/ +// Package swag contains a bunch of helper functions for go-openapi and go-swagger projects. +// +// You may also use it standalone for your projects. +// +// NOTE: all features that were previously exposed as package-level members (constants, variables, +// functions and types) are now deprecated and are superseded by equivalent features in +// more specialized sub-packages. +// +// Here is what is inside: +// +// Module [cmdutils]: +// +// - utilities to work with CLIs +// +// Module [conv]: +// +// - convert between value and pointers for builtin types +// - convert from string to builtin types (wraps strconv) +// +// Module [fileutils]: +// +// - file upload type +// - search in path +// +// Module [jsonname]: +// +// - json names for go properties +// +// Module [jsonutils]: +// +// - fast json concatenation +// - read and write JSON from and to dynamic go data structures +// +// Module [loading]: +// +// - load from file or http +// +// Module [mangling]: +// +// - name mangling to generate clean identifiers +// +// Module [netutils]: +// +// - host, port from address +// +// Module [stringutils]: +// +// - find string in list +// - join/split arrays of query parameters +// +// Module [typeutils]: +// +// - check the zero value of any type +// +// Module [yamlutils]: +// +// - converting YAML to JSON +// - loading YAML into a dynamic YAML document +// +// This repo has a few dependencies outside of the standard library: +// +// - YAML utilities depend on [gopkg.in/yaml.v3] +// - JSON utilities depend on [github.com/mailru/easyjson] package swag diff --git a/vendor/github.com/go-openapi/swag/errors.go b/vendor/github.com/go-openapi/swag/errors.go deleted file mode 100644 index 6c67fbf92..000000000 --- a/vendor/github.com/go-openapi/swag/errors.go +++ /dev/null @@ -1,15 +0,0 @@ -package swag - -type swagError string - -const ( - // ErrYAML is an error raised by YAML utilities - ErrYAML swagError = "yaml error" - - // ErrLoader is an error raised by the file loader utility - ErrLoader swagError = "loader error" -) - -func (e swagError) Error() string { - return string(e) -} diff --git a/vendor/github.com/go-openapi/swag/fileutils/LICENSE b/vendor/github.com/go-openapi/swag/fileutils/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/fileutils/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/fileutils/doc.go b/vendor/github.com/go-openapi/swag/fileutils/doc.go new file mode 100644 index 000000000..4b48e7196 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/fileutils/doc.go @@ -0,0 +1,21 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package fileutils exposes utilities to deal with files and paths. +// +// Currently, there is: +// - [File] to represent an abstraction of an uploaded file. +// For instance, this is used by [github.com/go-openapi/runtime.File]. +// - path search utilities (e.g. finding packages in the GO search path) +package fileutils diff --git a/vendor/github.com/go-openapi/swag/file.go b/vendor/github.com/go-openapi/swag/fileutils/file.go similarity index 98% rename from vendor/github.com/go-openapi/swag/file.go rename to vendor/github.com/go-openapi/swag/fileutils/file.go index 16accc55f..b17eaba58 100644 --- a/vendor/github.com/go-openapi/swag/file.go +++ b/vendor/github.com/go-openapi/swag/fileutils/file.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package swag +package fileutils import "mime/multipart" diff --git a/vendor/github.com/go-openapi/swag/path.go b/vendor/github.com/go-openapi/swag/fileutils/path.go similarity index 94% rename from vendor/github.com/go-openapi/swag/path.go rename to vendor/github.com/go-openapi/swag/fileutils/path.go index 941bd0176..a70ccb418 100644 --- a/vendor/github.com/go-openapi/swag/path.go +++ b/vendor/github.com/go-openapi/swag/fileutils/path.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package swag +package fileutils import ( "os" @@ -21,10 +21,8 @@ import ( "strings" ) -const ( - // GOPATHKey represents the env key for gopath - GOPATHKey = "GOPATH" -) +// GOPATHKey represents the env key for gopath +const GOPATHKey = "GOPATH" // FindInSearchPath finds a package in a provided lists of paths func FindInSearchPath(searchPath, pkg string) string { diff --git a/vendor/github.com/go-openapi/swag/fileutils_iface.go b/vendor/github.com/go-openapi/swag/fileutils_iface.go new file mode 100644 index 000000000..0c639e8c1 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/fileutils_iface.go @@ -0,0 +1,44 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import "github.com/go-openapi/swag/fileutils" + +// GOPATHKey represents the env key for gopath +// +// Deprecated: use [fileutils.GOPATHKey] instead. +const GOPATHKey = fileutils.GOPATHKey + +// File represents an uploaded file. +// +// Deprecated: use [fileutils.File] instead. +type File = fileutils.File + +// FindInSearchPath finds a package in a provided lists of paths. +// +// Deprecated: use [fileutils.FindInSearchPath] instead. +func FindInSearchPath(searchPath, pkg string) string { + return fileutils.FindInSearchPath(searchPath, pkg) +} + +// FindInGoSearchPath finds a package in the $GOPATH:$GOROOT +// +// Deprecated: use [fileutils.FindInGoSearchPath] instead. +func FindInGoSearchPath(pkg string) string { return fileutils.FindInGoSearchPath(pkg) } + +// FullGoSearchPath gets the search paths for finding packages +// +// Deprecated: use [fileutils.FullGoSearchPath] instead. +func FullGoSearchPath() string { return fileutils.FullGoSearchPath() } diff --git a/vendor/github.com/go-openapi/swag/initialism_index.go b/vendor/github.com/go-openapi/swag/initialism_index.go deleted file mode 100644 index 20a359bb6..000000000 --- a/vendor/github.com/go-openapi/swag/initialism_index.go +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package swag - -import ( - "sort" - "strings" - "sync" -) - -var ( - // commonInitialisms are common acronyms that are kept as whole uppercased words. - commonInitialisms *indexOfInitialisms - - // initialisms is a slice of sorted initialisms - initialisms []string - - // a copy of initialisms pre-baked as []rune - initialismsRunes [][]rune - initialismsUpperCased [][]rune - - isInitialism func(string) bool - - maxAllocMatches int -) - -func init() { - // Taken from https://github.com/golang/lint/blob/3390df4df2787994aea98de825b964ac7944b817/lint.go#L732-L769 - configuredInitialisms := map[string]bool{ - "ACL": true, - "API": true, - "ASCII": true, - "CPU": true, - "CSS": true, - "DNS": true, - "EOF": true, - "GUID": true, - "HTML": true, - "HTTPS": true, - "HTTP": true, - "ID": true, - "IP": true, - "IPv4": true, - "IPv6": true, - "JSON": true, - "LHS": true, - "OAI": true, - "QPS": true, - "RAM": true, - "RHS": true, - "RPC": true, - "SLA": true, - "SMTP": true, - "SQL": true, - "SSH": true, - "TCP": true, - "TLS": true, - "TTL": true, - "UDP": true, - "UI": true, - "UID": true, - "UUID": true, - "URI": true, - "URL": true, - "UTF8": true, - "VM": true, - "XML": true, - "XMPP": true, - "XSRF": true, - "XSS": true, - } - - // a thread-safe index of initialisms - commonInitialisms = newIndexOfInitialisms().load(configuredInitialisms) - initialisms = commonInitialisms.sorted() - initialismsRunes = asRunes(initialisms) - initialismsUpperCased = asUpperCased(initialisms) - maxAllocMatches = maxAllocHeuristic(initialismsRunes) - - // a test function - isInitialism = commonInitialisms.isInitialism -} - -func asRunes(in []string) [][]rune { - out := make([][]rune, len(in)) - for i, initialism := range in { - out[i] = []rune(initialism) - } - - return out -} - -func asUpperCased(in []string) [][]rune { - out := make([][]rune, len(in)) - - for i, initialism := range in { - out[i] = []rune(upper(trim(initialism))) - } - - return out -} - -func maxAllocHeuristic(in [][]rune) int { - heuristic := make(map[rune]int) - for _, initialism := range in { - heuristic[initialism[0]]++ - } - - var maxAlloc int - for _, val := range heuristic { - if val > maxAlloc { - maxAlloc = val - } - } - - return maxAlloc -} - -// AddInitialisms add additional initialisms -func AddInitialisms(words ...string) { - for _, word := range words { - // commonInitialisms[upper(word)] = true - commonInitialisms.add(upper(word)) - } - // sort again - initialisms = commonInitialisms.sorted() - initialismsRunes = asRunes(initialisms) - initialismsUpperCased = asUpperCased(initialisms) -} - -// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms. -// Since go1.9, this may be implemented with sync.Map. -type indexOfInitialisms struct { - sortMutex *sync.Mutex - index *sync.Map -} - -func newIndexOfInitialisms() *indexOfInitialisms { - return &indexOfInitialisms{ - sortMutex: new(sync.Mutex), - index: new(sync.Map), - } -} - -func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms { - m.sortMutex.Lock() - defer m.sortMutex.Unlock() - for k, v := range initial { - m.index.Store(k, v) - } - return m -} - -func (m *indexOfInitialisms) isInitialism(key string) bool { - _, ok := m.index.Load(key) - return ok -} - -func (m *indexOfInitialisms) add(key string) *indexOfInitialisms { - m.index.Store(key, true) - return m -} - -func (m *indexOfInitialisms) sorted() (result []string) { - m.sortMutex.Lock() - defer m.sortMutex.Unlock() - m.index.Range(func(key, _ interface{}) bool { - k := key.(string) - result = append(result, k) - return true - }) - sort.Sort(sort.Reverse(byInitialism(result))) - return -} - -type byInitialism []string - -func (s byInitialism) Len() int { - return len(s) -} -func (s byInitialism) Swap(i, j int) { - s[i], s[j] = s[j], s[i] -} -func (s byInitialism) Less(i, j int) bool { - if len(s[i]) != len(s[j]) { - return len(s[i]) < len(s[j]) - } - - return strings.Compare(s[i], s[j]) > 0 -} diff --git a/vendor/github.com/go-openapi/swag/json.go b/vendor/github.com/go-openapi/swag/json.go deleted file mode 100644 index c7caa9908..000000000 --- a/vendor/github.com/go-openapi/swag/json.go +++ /dev/null @@ -1,313 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package swag - -import ( - "bytes" - "encoding/json" - "log" - "reflect" - "strings" - "sync" - - "github.com/mailru/easyjson/jlexer" - "github.com/mailru/easyjson/jwriter" -) - -// nullJSON represents a JSON object with null type -var nullJSON = []byte("null") - -// DefaultJSONNameProvider the default cache for types -var DefaultJSONNameProvider = NewNameProvider() - -const comma = byte(',') - -var closers map[byte]byte - -func init() { - closers = map[byte]byte{ - '{': '}', - '[': ']', - } -} - -type ejMarshaler interface { - MarshalEasyJSON(w *jwriter.Writer) -} - -type ejUnmarshaler interface { - UnmarshalEasyJSON(w *jlexer.Lexer) -} - -// WriteJSON writes json data, prefers finding an appropriate interface to short-circuit the marshaler -// so it takes the fastest option available. -func WriteJSON(data interface{}) ([]byte, error) { - if d, ok := data.(ejMarshaler); ok { - jw := new(jwriter.Writer) - d.MarshalEasyJSON(jw) - return jw.BuildBytes() - } - if d, ok := data.(json.Marshaler); ok { - return d.MarshalJSON() - } - return json.Marshal(data) -} - -// ReadJSON reads json data, prefers finding an appropriate interface to short-circuit the unmarshaler -// so it takes the fastest option available -func ReadJSON(data []byte, value interface{}) error { - trimmedData := bytes.Trim(data, "\x00") - if d, ok := value.(ejUnmarshaler); ok { - jl := &jlexer.Lexer{Data: trimmedData} - d.UnmarshalEasyJSON(jl) - return jl.Error() - } - if d, ok := value.(json.Unmarshaler); ok { - return d.UnmarshalJSON(trimmedData) - } - return json.Unmarshal(trimmedData, value) -} - -// DynamicJSONToStruct converts an untyped json structure into a struct -func DynamicJSONToStruct(data interface{}, target interface{}) error { - // TODO: convert straight to a json typed map (mergo + iterate?) - b, err := WriteJSON(data) - if err != nil { - return err - } - return ReadJSON(b, target) -} - -// ConcatJSON concatenates multiple json objects efficiently -func ConcatJSON(blobs ...[]byte) []byte { - if len(blobs) == 0 { - return nil - } - - last := len(blobs) - 1 - for blobs[last] == nil || bytes.Equal(blobs[last], nullJSON) { - // strips trailing null objects - last-- - if last < 0 { - // there was nothing but "null"s or nil... - return nil - } - } - if last == 0 { - return blobs[0] - } - - var opening, closing byte - var idx, a int - buf := bytes.NewBuffer(nil) - - for i, b := range blobs[:last+1] { - if b == nil || bytes.Equal(b, nullJSON) { - // a null object is in the list: skip it - continue - } - if len(b) > 0 && opening == 0 { // is this an array or an object? - opening, closing = b[0], closers[b[0]] - } - - if opening != '{' && opening != '[' { - continue // don't know how to concatenate non container objects - } - - const minLengthIfNotEmpty = 3 - if len(b) < minLengthIfNotEmpty { // yep empty but also the last one, so closing this thing - if i == last && a > 0 { - if err := buf.WriteByte(closing); err != nil { - log.Println(err) - } - } - continue - } - - idx = 0 - if a > 0 { // we need to join with a comma for everything beyond the first non-empty item - if err := buf.WriteByte(comma); err != nil { - log.Println(err) - } - idx = 1 // this is not the first or the last so we want to drop the leading bracket - } - - if i != last { // not the last one, strip brackets - if _, err := buf.Write(b[idx : len(b)-1]); err != nil { - log.Println(err) - } - } else { // last one, strip only the leading bracket - if _, err := buf.Write(b[idx:]); err != nil { - log.Println(err) - } - } - a++ - } - // somehow it ended up being empty, so provide a default value - if buf.Len() == 0 { - if err := buf.WriteByte(opening); err != nil { - log.Println(err) - } - if err := buf.WriteByte(closing); err != nil { - log.Println(err) - } - } - return buf.Bytes() -} - -// ToDynamicJSON turns an object into a properly JSON typed structure -func ToDynamicJSON(data interface{}) interface{} { - // TODO: convert straight to a json typed map (mergo + iterate?) - b, err := json.Marshal(data) - if err != nil { - log.Println(err) - } - var res interface{} - if err := json.Unmarshal(b, &res); err != nil { - log.Println(err) - } - return res -} - -// FromDynamicJSON turns an object into a properly JSON typed structure -func FromDynamicJSON(data, target interface{}) error { - b, err := json.Marshal(data) - if err != nil { - log.Println(err) - } - return json.Unmarshal(b, target) -} - -// NameProvider represents an object capable of translating from go property names -// to json property names -// This type is thread-safe. -type NameProvider struct { - lock *sync.Mutex - index map[reflect.Type]nameIndex -} - -type nameIndex struct { - jsonNames map[string]string - goNames map[string]string -} - -// NewNameProvider creates a new name provider -func NewNameProvider() *NameProvider { - return &NameProvider{ - lock: &sync.Mutex{}, - index: make(map[reflect.Type]nameIndex), - } -} - -func buildnameIndex(tpe reflect.Type, idx, reverseIdx map[string]string) { - for i := 0; i < tpe.NumField(); i++ { - targetDes := tpe.Field(i) - - if targetDes.PkgPath != "" { // unexported - continue - } - - if targetDes.Anonymous { // walk embedded structures tree down first - buildnameIndex(targetDes.Type, idx, reverseIdx) - continue - } - - if tag := targetDes.Tag.Get("json"); tag != "" { - - parts := strings.Split(tag, ",") - if len(parts) == 0 { - continue - } - - nm := parts[0] - if nm == "-" { - continue - } - if nm == "" { // empty string means we want to use the Go name - nm = targetDes.Name - } - - idx[nm] = targetDes.Name - reverseIdx[targetDes.Name] = nm - } - } -} - -func newNameIndex(tpe reflect.Type) nameIndex { - var idx = make(map[string]string, tpe.NumField()) - var reverseIdx = make(map[string]string, tpe.NumField()) - - buildnameIndex(tpe, idx, reverseIdx) - return nameIndex{jsonNames: idx, goNames: reverseIdx} -} - -// GetJSONNames gets all the json property names for a type -func (n *NameProvider) GetJSONNames(subject interface{}) []string { - n.lock.Lock() - defer n.lock.Unlock() - tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() - names, ok := n.index[tpe] - if !ok { - names = n.makeNameIndex(tpe) - } - - res := make([]string, 0, len(names.jsonNames)) - for k := range names.jsonNames { - res = append(res, k) - } - return res -} - -// GetJSONName gets the json name for a go property name -func (n *NameProvider) GetJSONName(subject interface{}, name string) (string, bool) { - tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() - return n.GetJSONNameForType(tpe, name) -} - -// GetJSONNameForType gets the json name for a go property name on a given type -func (n *NameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool) { - n.lock.Lock() - defer n.lock.Unlock() - names, ok := n.index[tpe] - if !ok { - names = n.makeNameIndex(tpe) - } - nme, ok := names.goNames[name] - return nme, ok -} - -func (n *NameProvider) makeNameIndex(tpe reflect.Type) nameIndex { - names := newNameIndex(tpe) - n.index[tpe] = names - return names -} - -// GetGoName gets the go name for a json property name -func (n *NameProvider) GetGoName(subject interface{}, name string) (string, bool) { - tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() - return n.GetGoNameForType(tpe, name) -} - -// GetGoNameForType gets the go name for a given type for a json property name -func (n *NameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool) { - n.lock.Lock() - defer n.lock.Unlock() - names, ok := n.index[tpe] - if !ok { - names = n.makeNameIndex(tpe) - } - nme, ok := names.jsonNames[name] - return nme, ok -} diff --git a/vendor/github.com/go-openapi/swag/jsonname/LICENSE b/vendor/github.com/go-openapi/swag/jsonname/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonname/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/jsonname/doc.go b/vendor/github.com/go-openapi/swag/jsonname/doc.go new file mode 100644 index 000000000..b2e0c80fc --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonname/doc.go @@ -0,0 +1,16 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package jsonname is a provider of json property names from go properties. +package jsonname diff --git a/vendor/github.com/go-openapi/swag/jsonname/name_provider.go b/vendor/github.com/go-openapi/swag/jsonname/name_provider.go new file mode 100644 index 000000000..e87aac2f7 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonname/name_provider.go @@ -0,0 +1,149 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package jsonname + +import ( + "reflect" + "strings" + "sync" +) + +// DefaultJSONNameProvider is the default cache for types. +var DefaultJSONNameProvider = NewNameProvider() + +// NameProvider represents an object capable of translating from go property names +// to json property names. +// +// This type is thread-safe. +// +// See [github.com/go-openapi/jsonpointer.Pointer] for an example. +type NameProvider struct { + lock *sync.Mutex + index map[reflect.Type]nameIndex +} + +type nameIndex struct { + jsonNames map[string]string + goNames map[string]string +} + +// NewNameProvider creates a new name provider +func NewNameProvider() *NameProvider { + return &NameProvider{ + lock: &sync.Mutex{}, + index: make(map[reflect.Type]nameIndex), + } +} + +func buildnameIndex(tpe reflect.Type, idx, reverseIdx map[string]string) { + for i := 0; i < tpe.NumField(); i++ { + targetDes := tpe.Field(i) + + if targetDes.PkgPath != "" { // unexported + continue + } + + if targetDes.Anonymous { // walk embedded structures tree down first + buildnameIndex(targetDes.Type, idx, reverseIdx) + continue + } + + if tag := targetDes.Tag.Get("json"); tag != "" { + + parts := strings.Split(tag, ",") + if len(parts) == 0 { + continue + } + + nm := parts[0] + if nm == "-" { + continue + } + if nm == "" { // empty string means we want to use the Go name + nm = targetDes.Name + } + + idx[nm] = targetDes.Name + reverseIdx[targetDes.Name] = nm + } + } +} + +func newNameIndex(tpe reflect.Type) nameIndex { + var idx = make(map[string]string, tpe.NumField()) + var reverseIdx = make(map[string]string, tpe.NumField()) + + buildnameIndex(tpe, idx, reverseIdx) + return nameIndex{jsonNames: idx, goNames: reverseIdx} +} + +// GetJSONNames gets all the json property names for a type +func (n *NameProvider) GetJSONNames(subject interface{}) []string { + n.lock.Lock() + defer n.lock.Unlock() + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + + res := make([]string, 0, len(names.jsonNames)) + for k := range names.jsonNames { + res = append(res, k) + } + return res +} + +// GetJSONName gets the json name for a go property name +func (n *NameProvider) GetJSONName(subject interface{}, name string) (string, bool) { + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + return n.GetJSONNameForType(tpe, name) +} + +// GetJSONNameForType gets the json name for a go property name on a given type +func (n *NameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool) { + n.lock.Lock() + defer n.lock.Unlock() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + nme, ok := names.goNames[name] + return nme, ok +} + +// GetGoName gets the go name for a json property name +func (n *NameProvider) GetGoName(subject interface{}, name string) (string, bool) { + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + return n.GetGoNameForType(tpe, name) +} + +// GetGoNameForType gets the go name for a given type for a json property name +func (n *NameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool) { + n.lock.Lock() + defer n.lock.Unlock() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + nme, ok := names.jsonNames[name] + return nme, ok +} + +func (n *NameProvider) makeNameIndex(tpe reflect.Type) nameIndex { + names := newNameIndex(tpe) + n.index[tpe] = names + return names +} diff --git a/vendor/github.com/go-openapi/swag/jsonname_iface.go b/vendor/github.com/go-openapi/swag/jsonname_iface.go new file mode 100644 index 000000000..555369d75 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonname_iface.go @@ -0,0 +1,35 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "github.com/go-openapi/swag/jsonname" +) + +// DefaultJSONNameProvider is the default cache for types +// +// Deprecated: use [jsonname.DefaultJSONNameProvider] instead. +var DefaultJSONNameProvider = jsonname.DefaultJSONNameProvider + +// NameProvider represents an object capable of translating from go property names +// to json property names. +// +// Deprecated: use [jsonname.NameProvider] instead. +type NameProvider = jsonname.NameProvider + +// NewNameProvider creates a new name provider +// +// Deprecated: use [jsonname.NewNameProvider] instead. +func NewNameProvider() *NameProvider { return jsonname.NewNameProvider() } diff --git a/vendor/github.com/go-openapi/swag/jsonutils/LICENSE b/vendor/github.com/go-openapi/swag/jsonutils/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonutils/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/jsonutils/concat.go b/vendor/github.com/go-openapi/swag/jsonutils/concat.go new file mode 100644 index 000000000..4c96ec75d --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonutils/concat.go @@ -0,0 +1,100 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package jsonutils + +import ( + "bytes" +) + +// nullJSON represents a JSON object with null type +var nullJSON = []byte("null") + +const comma = byte(',') + +var closers map[byte]byte + +func init() { + closers = map[byte]byte{ + '{': '}', + '[': ']', + } +} + +// ConcatJSON concatenates multiple json objects efficiently +func ConcatJSON(blobs ...[]byte) []byte { + if len(blobs) == 0 { + return nil + } + + last := len(blobs) - 1 + for blobs[last] == nil || bytes.Equal(blobs[last], nullJSON) { + // strips trailing null objects + last-- + if last < 0 { + // there was nothing but "null"s or nil... + return nil + } + } + if last == 0 { + return blobs[0] + } + + var opening, closing byte + var idx, a int + buf := bytes.NewBuffer(nil) + + for i, b := range blobs[:last+1] { + if b == nil || bytes.Equal(b, nullJSON) { + // a null object is in the list: skip it + continue + } + if len(b) > 0 && opening == 0 { // is this an array or an object? + opening, closing = b[0], closers[b[0]] + } + + if opening != '{' && opening != '[' { + continue // don't know how to concatenate non container objects + } + + const minLengthIfNotEmpty = 3 + if len(b) < minLengthIfNotEmpty { // yep empty but also the last one, so closing this thing + if i == last && a > 0 { + _ = buf.WriteByte(closing) // never returns err != nil + } + continue + } + + idx = 0 + if a > 0 { // we need to join with a comma for everything beyond the first non-empty item + _ = buf.WriteByte(comma) // never returns err != nil + idx = 1 // this is not the first or the last so we want to drop the leading bracket + } + + if i != last { // not the last one, strip brackets + _, _ = buf.Write(b[idx : len(b)-1]) // never returns err != nil + } else { // last one, strip only the leading bracket + _, _ = buf.Write(b[idx:]) + } + a++ + } + + // somehow it ended up being empty, so provide a default value + if buf.Len() == 0 && (opening == '{' || opening == '[') { + _ = buf.WriteByte(opening) // never returns err != nil + _ = buf.WriteByte(closing) + } + + return buf.Bytes() +} diff --git a/vendor/github.com/go-openapi/swag/jsonutils/doc.go b/vendor/github.com/go-openapi/swag/jsonutils/doc.go new file mode 100644 index 000000000..495ef8341 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonutils/doc.go @@ -0,0 +1,18 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package jsonutils provides helpers to work with JSON. +// +// These utilities work with dynamic go structures to and from JSON. +package jsonutils diff --git a/vendor/github.com/go-openapi/swag/jsonutils/json.go b/vendor/github.com/go-openapi/swag/jsonutils/json.go new file mode 100644 index 000000000..62a3684ed --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonutils/json.go @@ -0,0 +1,80 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package jsonutils + +import ( + "bytes" + "encoding/json" + + "github.com/mailru/easyjson" + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" +) + +type ejMarshaler = easyjson.Marshaler +type ejUnmarshaler = easyjson.Unmarshaler + +// WriteJSON marshals a data structure as JSON. +// +// The difference with [json.Marshal] is that it may check among several alternatives +// to do so. +// +// Currently this allows types that are [easyjson.Marshaler]s to use that route to produce JSON. +func WriteJSON(value interface{}) ([]byte, error) { + if d, ok := value.(ejMarshaler); ok { + jw := new(jwriter.Writer) + d.MarshalEasyJSON(jw) + return jw.BuildBytes() + } + if d, ok := value.(json.Marshaler); ok { + return d.MarshalJSON() + } + return json.Marshal(value) +} + +// ReadJSON unmarshals JSON data into a data structure. +// +// The difference with [json.Unmarshal] is that it may check among several alternatives +// to do so. +// +// Currently this allows types that are [easyjson.Unmarshaler]s to use that route to process JSON. +func ReadJSON(data []byte, value interface{}) error { + trimmedData := bytes.Trim(data, "\x00") + if d, ok := value.(ejUnmarshaler); ok { + jl := &jlexer.Lexer{Data: trimmedData} + d.UnmarshalEasyJSON(jl) + return jl.Error() + } + + if d, ok := value.(json.Unmarshaler); ok { + return d.UnmarshalJSON(trimmedData) + } + + return json.Unmarshal(trimmedData, value) +} + +// FromDynamicJSON turns a go value into a properly JSON typed structure. +// +// "Dynamic JSON" refers to what you get when unmarshaling JSON into an untyped interface{}, +// i.e. objects are represented by map[string]interface{}, arrays by []interface{}, and +// all numbers are represented as float64. +func FromDynamicJSON(source, target interface{}) error { + b, err := WriteJSON(source) + if err != nil { + return err + } + + return ReadJSON(b, target) +} diff --git a/vendor/github.com/go-openapi/swag/jsonutils/ordered_map.go b/vendor/github.com/go-openapi/swag/jsonutils/ordered_map.go new file mode 100644 index 000000000..e11fd4bfb --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonutils/ordered_map.go @@ -0,0 +1,199 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package jsonutils + +import ( + "strconv" + "strings" + + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" +) + +// JSONMapSlice represents a JSON object, with the order of keys maintained. +type JSONMapSlice []JSONMapItem + +// MarshalJSON renders a [JSONMapSlice] as JSON bytes, preserving the order of keys. +func (s JSONMapSlice) MarshalJSON() ([]byte, error) { + w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} + s.MarshalEasyJSON(w) + + return w.BuildBytes() +} + +// MarshalEasyJSON renders a [JSONMapSlice] as JSON bytes, using easyJSON +func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer) { + if s == nil { + w.RawString("null") + + return + } + + w.RawByte('{') + + if len(s) == 0 { + w.RawByte('}') + + return + } + + s[0].MarshalEasyJSON(w) + + for i := 1; i < len(s); i++ { + w.RawByte(',') + s[i].MarshalEasyJSON(w) + } + + w.RawByte('}') +} + +// UnmarshalJSON builds a [JSONMapSlice] from JSON bytes, preserving the order of keys. +// +// Inner objects are unmarshaled as [JSONMapSlice] slices and not map[string]any. +func (s *JSONMapSlice) UnmarshalJSON(data []byte) error { + l := jlexer.Lexer{Data: data} + s.UnmarshalEasyJSON(&l) + + return l.Error() +} + +// UnmarshalEasyJSON builds a [JSONMapSlice] from JSON bytes, using easyJSON +func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer) { + if in.IsNull() { + in.Skip() + + return + } + + result := make(JSONMapSlice, 0) + in.Delim('{') + for !in.IsDelim('}') { + var mi JSONMapItem + mi.UnmarshalEasyJSON(in) + result = append(result, mi) + } + in.Delim('}') + + *s = result +} + +// JSONMapItem represents the value of a key in a JSON object held by [JSONMapSlice]. +// +// Notice that JSONMapItem should not be marshaled to or unmarshaled from JSON directly, +// use this type as part of a [JSONMapSlice] when dealing with JSON bytes. +type JSONMapItem struct { + Key string + Value any +} + +// MarshalEasyJSON renders a [JSONMapItem] as JSON bytes, using easyJSON +func (s JSONMapItem) MarshalEasyJSON(w *jwriter.Writer) { + w.String(s.Key) + w.RawByte(':') + w.Raw(WriteJSON(s.Value)) +} + +// UnmarshalEasyJSON builds a [JSONMapItem] from JSON bytes, using easyJSON +func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer) { + key := in.UnsafeString() + in.WantColon() + value := s.asInterface(in) + in.WantComma() + + s.Key = key + s.Value = value +} + +// asInterface is very much like [jlexer.Lexer.Interface], but unmarshals an object +// into a [JSONMapSlice], not a map[string]any. +// +// We have to force parsing errors somehow, since [jlexer.Lexer] doesn't let us +// set a parsing error directly. +func (s *JSONMapItem) asInterface(in *jlexer.Lexer) any { + tokenKind := in.CurrentToken() + + if !in.Ok() { + return nil + } + + switch tokenKind { + case jlexer.TokenString: + return in.String() + + case jlexer.TokenNumber: + // determine if we may use an integer type + n := in.JsonNumber().String() + if strings.ContainsRune(n, '.') { + f, _ := strconv.ParseFloat(n, 64) + return f + } + + i, _ := strconv.ParseInt(n, 10, 64) + return i + + case jlexer.TokenBool: + return in.Bool() + + case jlexer.TokenNull: + in.Null() + return nil + + case jlexer.TokenDelim: + if in.IsDelim('{') { + ret := make(JSONMapSlice, 0) + ret.UnmarshalEasyJSON(in) + + if in.Ok() { + return ret + } + + // lexer is in an error state: will exhaust + return nil + } + + if in.IsDelim('[') { + in.Delim('[') // consume + + ret := []interface{}{} + for !in.IsDelim(']') { + ret = append(ret, s.asInterface(in)) + in.WantComma() + } + in.Delim(']') + + if in.Ok() { + return ret + } + + // lexer is in an error state: will exhaust + return nil + } + + if in.Ok() { + in.Delim('{') // force error + } + + return nil + + case jlexer.TokenUndef: + fallthrough + default: + if in.Ok() { + in.Delim('{') // force error + } + + return nil + } +} diff --git a/vendor/github.com/go-openapi/swag/jsonutils_iface.go b/vendor/github.com/go-openapi/swag/jsonutils_iface.go new file mode 100644 index 000000000..63e23f0b6 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/jsonutils_iface.go @@ -0,0 +1,76 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "log" + + "github.com/go-openapi/swag/jsonutils" +) + +// JSONMapSlice represents a JSON object, with the order of keys maintained +// +// Deprecated: use [jsonutils.JSONMapSlice] instead, or [yamlutils.YAMLMapSlice] if you marshal YAML. +type JSONMapSlice = jsonutils.JSONMapSlice + +// JSONMapItem represents a JSON object, with the order of keys maintained +// +// Deprecated: use [jsonutils.JSONMapItem] instead. +type JSONMapItem = jsonutils.JSONMapItem + +// WriteJSON writes json data. +// +// Deprecated: use [jsonutils.WriteJSON] instead. +func WriteJSON(data interface{}) ([]byte, error) { return jsonutils.WriteJSON(data) } + +// ReadJSON reads json data. +// +// Deprecated: use [jsonutils.ReadJSON] instead. +func ReadJSON(data []byte, value interface{}) error { return jsonutils.ReadJSON(data, value) } + +// DynamicJSONToStruct converts an untyped JSON structure into a target data type. +// +// Deprecated: use [jsonutils.FromDynamicJSON] instead. +func DynamicJSONToStruct(data interface{}, target interface{}) error { + return jsonutils.FromDynamicJSON(data, target) +} + +// ConcatJSON concatenates multiple JSON objects efficiently. +// +// Deprecated: use [jsonutils.ConcatJSON] instead. +func ConcatJSON(blobs ...[]byte) []byte { return jsonutils.ConcatJSON(blobs...) } + +// ToDynamicJSON turns a go value into a properly JSON untyped structure. +// +// It is the same as [FromDynamicJSON], but doesn't check for errors. +// +// Deprecated: this function is a misnomer and is unsafe. Use [jsonutils.FromDynamicJSON] instead. +func ToDynamicJSON(value interface{}) interface{} { + var res interface{} + if err := FromDynamicJSON(value, &res); err != nil { + log.Println(err) + } + + return res +} + +// FromDynamicJSON turns a go value into a properly JSON typed structure. +// +// "Dynamic JSON" refers to what you get when unmarshaling JSON into an untyped interface{}, +// i.e. objects are represented by map[string]interface{}, arrays by []interface{}, and all +// scalar values are interface{}. +// +// Deprecated: use [jsonutils.FromDynamicJSON] instead. +func FromDynamicJSON(data, target interface{}) error { return jsonutils.FromDynamicJSON(data, target) } diff --git a/vendor/github.com/go-openapi/swag/loading/LICENSE b/vendor/github.com/go-openapi/swag/loading/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/loading/doc.go b/vendor/github.com/go-openapi/swag/loading/doc.go new file mode 100644 index 000000000..62585615e --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading/doc.go @@ -0,0 +1,16 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package loading provides tools to load a file from http or from a local file system. +package loading diff --git a/vendor/github.com/go-openapi/swag/loading/errors.go b/vendor/github.com/go-openapi/swag/loading/errors.go new file mode 100644 index 000000000..ca45732a7 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading/errors.go @@ -0,0 +1,26 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package loading + +type loadingError string + +const ( + // ErrLoader is an error raised by the file loader utility + ErrLoader loadingError = "loader error" +) + +func (e loadingError) Error() string { + return string(e) +} diff --git a/vendor/github.com/go-openapi/swag/loading/json.go b/vendor/github.com/go-openapi/swag/loading/json.go new file mode 100644 index 000000000..aadf99913 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading/json.go @@ -0,0 +1,22 @@ +package loading + +import ( + "encoding/json" + "errors" + "path/filepath" +) + +// JSONMatcher matches json for a file loader. +func JSONMatcher(path string) bool { + ext := filepath.Ext(path) + return ext == ".json" || ext == ".jsn" || ext == ".jso" +} + +// JSONDoc loads a json document from either a file or a remote url. +func JSONDoc(path string, opts ...Option) (json.RawMessage, error) { + data, err := LoadFromFileOrHTTP(path, opts...) + if err != nil { + return nil, errors.Join(err, ErrLoader) + } + return json.RawMessage(data), nil +} diff --git a/vendor/github.com/go-openapi/swag/loading.go b/vendor/github.com/go-openapi/swag/loading/loading.go similarity index 70% rename from vendor/github.com/go-openapi/swag/loading.go rename to vendor/github.com/go-openapi/swag/loading/loading.go index 658a24b78..bd955535f 100644 --- a/vendor/github.com/go-openapi/swag/loading.go +++ b/vendor/github.com/go-openapi/swag/loading/loading.go @@ -12,43 +12,26 @@ // See the License for the specific language governing permissions and // limitations under the License. -package swag +package loading import ( + "context" + "embed" "fmt" "io" "log" "net/http" "net/url" - "os" "path" "path/filepath" "runtime" "strings" - "time" ) -// LoadHTTPTimeout the default timeout for load requests -var LoadHTTPTimeout = 30 * time.Second - -// LoadHTTPBasicAuthUsername the username to use when load requests require basic auth -var LoadHTTPBasicAuthUsername = "" - -// LoadHTTPBasicAuthPassword the password to use when load requests require basic auth -var LoadHTTPBasicAuthPassword = "" - -// LoadHTTPCustomHeaders an optional collection of custom HTTP headers for load requests -var LoadHTTPCustomHeaders = map[string]string{} - // LoadFromFileOrHTTP loads the bytes from a file or a remote http server based on the path passed in -func LoadFromFileOrHTTP(pth string) ([]byte, error) { - return LoadStrategy(pth, os.ReadFile, loadHTTPBytes(LoadHTTPTimeout))(pth) -} - -// LoadFromFileOrHTTPWithTimeout loads the bytes from a file or a remote http server based on the path passed in -// timeout arg allows for per request overriding of the request timeout -func LoadFromFileOrHTTPWithTimeout(pth string, timeout time.Duration) ([]byte, error) { - return LoadStrategy(pth, os.ReadFile, loadHTTPBytes(timeout))(pth) +func LoadFromFileOrHTTP(pth string, opts ...Option) ([]byte, error) { + o := optionsWithDefaults(opts) + return LoadStrategy(pth, o.ReadFileFunc(), loadHTTPBytes(opts...), opts...)(pth) } // LoadStrategy returns a loader function for a given path or URI. @@ -81,10 +64,12 @@ func LoadFromFileOrHTTPWithTimeout(pth string, timeout time.Duration) ([]byte, e // - `file://host/folder/file` becomes an UNC path like `\\host\folder\file` (no port specification is supported) // - `file:///c:/folder/file` becomes `C:\folder\file` // - `file://c:/folder/file` is tolerated (without leading `/`) and becomes `c:\folder\file` -func LoadStrategy(pth string, local, remote func(string) ([]byte, error)) func(string) ([]byte, error) { +func LoadStrategy(pth string, local, remote func(string) ([]byte, error), opts ...Option) func(string) ([]byte, error) { if strings.HasPrefix(pth, "http") { return remote } + o := optionsWithDefaults(opts) + _, isEmbedFS := o.fs.(embed.FS) return func(p string) ([]byte, error) { upth, err := url.PathUnescape(p) @@ -92,19 +77,19 @@ func LoadStrategy(pth string, local, remote func(string) ([]byte, error)) func(s return nil, err } - if !strings.HasPrefix(p, `file://`) { + cpth, hasPrefix := strings.CutPrefix(upth, "file://") + if !hasPrefix || isEmbedFS || runtime.GOOS != "windows" { + // crude processing: trim the file:// prefix. This leaves full URIs with a host with a (mostly) unexpected result // regular file path provided: just normalize slashes - return local(filepath.FromSlash(upth)) - } - - if runtime.GOOS != "windows" { - // crude processing: this leaves full URIs with a host with a (mostly) unexpected result - upth = strings.TrimPrefix(upth, `file://`) + if isEmbedFS { + // on windows, we need to slash the path if FS is an embed FS. + return local(strings.TrimLeft(filepath.ToSlash(cpth), "./")) // remove invalid leading characters for embed FS + } - return local(filepath.FromSlash(upth)) + return local(filepath.FromSlash(cpth)) } - // windows-only pre-processing of file://... URIs + // windows-only pre-processing of file://... URIs, excluding embed.FS // support for canonical file URIs on windows. u, err := url.Parse(filepath.ToSlash(upth)) @@ -139,19 +124,29 @@ func LoadStrategy(pth string, local, remote func(string) ([]byte, error)) func(s } } -func loadHTTPBytes(timeout time.Duration) func(path string) ([]byte, error) { +func loadHTTPBytes(opts ...Option) func(path string) ([]byte, error) { + o := optionsWithDefaults(opts) + return func(path string) ([]byte, error) { - client := &http.Client{Timeout: timeout} - req, err := http.NewRequest(http.MethodGet, path, nil) //nolint:noctx + client := o.client + timeoutCtx := context.Background() + var cancel func() + + if o.httpTimeout > 0 { + timeoutCtx, cancel = context.WithTimeout(timeoutCtx, o.httpTimeout) + defer cancel() + } + + req, err := http.NewRequestWithContext(timeoutCtx, http.MethodGet, path, nil) if err != nil { return nil, err } - if LoadHTTPBasicAuthUsername != "" && LoadHTTPBasicAuthPassword != "" { - req.SetBasicAuth(LoadHTTPBasicAuthUsername, LoadHTTPBasicAuthPassword) + if o.basicAuthUsername != "" && o.basicAuthPassword != "" { + req.SetBasicAuth(o.basicAuthUsername, o.basicAuthPassword) } - for key, val := range LoadHTTPCustomHeaders { + for key, val := range o.customHeaders { req.Header.Set(key, val) } diff --git a/vendor/github.com/go-openapi/swag/loading/options.go b/vendor/github.com/go-openapi/swag/loading/options.go new file mode 100644 index 000000000..a51329e93 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading/options.go @@ -0,0 +1,136 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package loading + +import ( + "io/fs" + "net/http" + "os" + "time" +) + +type ( + // Option provides options for loading a file over HTTP or from a file. + Option func(*options) + + httpOptions struct { + httpTimeout time.Duration + basicAuthUsername string + basicAuthPassword string + customHeaders map[string]string + client *http.Client + } + + fileOptions struct { + fs fs.ReadFileFS + } + + options struct { + httpOptions + fileOptions + } +) + +func (fo fileOptions) ReadFileFunc() func(string) ([]byte, error) { + if fo.fs == nil { + return os.ReadFile + } + + return fo.fs.ReadFile +} + +// WithTimeout sets a timeout for the remote file loader. +// +// The default timeout is 30s. +func WithTimeout(timeout time.Duration) Option { + return func(o *options) { + o.httpTimeout = timeout + } +} + +// WithBasicAuth sets a basic authentication scheme for the remote file loader. +func WithBasicAuth(username, password string) Option { + return func(o *options) { + o.basicAuthUsername = username + o.basicAuthPassword = password + } +} + +// WithCustomHeaders sets custom headers for the remote file loader. +func WithCustomHeaders(headers map[string]string) Option { + return func(o *options) { + if o.customHeaders == nil { + o.customHeaders = make(map[string]string, len(headers)) + } + + for header, value := range headers { + o.customHeaders[header] = value + } + } +} + +// WithHTTClient overrides the default HTTP client used to fetch a remote file. +// +// By default, [http.DefaultClient] is used. +func WithHTTPClient(client *http.Client) Option { + return func(o *options) { + o.client = client + } +} + +// WithFileFS sets a file system for the local file loader. +// +// If the provided file system is a [fs.ReadFileFS], the ReadFile function is used. +// Otherwise, ReadFile is wrapped using [fs.ReadFile]. +// +// By default, the file system is the one provided by the os package. +// +// For example, this may be set to consume from an embedded file system, or a rooted FS. +func WithFS(filesystem fs.FS) Option { + return func(o *options) { + if rfs, ok := filesystem.(fs.ReadFileFS); ok { + o.fs = rfs + + return + } + o.fs = readFileFS{FS: filesystem} + } +} + +type readFileFS struct { + fs.FS +} + +func (r readFileFS) ReadFile(name string) ([]byte, error) { + return fs.ReadFile(r.FS, name) +} + +func optionsWithDefaults(opts []Option) options { + const defaultTimeout = 30 * time.Second + + o := options{ + // package level defaults + httpOptions: httpOptions{ + httpTimeout: defaultTimeout, + client: http.DefaultClient, + }, + } + + for _, apply := range opts { + apply(&o) + } + + return o +} diff --git a/vendor/github.com/go-openapi/swag/loading/yaml.go b/vendor/github.com/go-openapi/swag/loading/yaml.go new file mode 100644 index 000000000..40bd2a769 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading/yaml.go @@ -0,0 +1,48 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package loading + +import ( + "encoding/json" + "path/filepath" + + "github.com/go-openapi/swag/yamlutils" +) + +// YAMLMatcher matches yaml for a file loader. +func YAMLMatcher(path string) bool { + ext := filepath.Ext(path) + return ext == ".yaml" || ext == ".yml" +} + +// YAMLDoc loads a yaml document from either http or a file and converts it to json. +func YAMLDoc(path string, opts ...Option) (json.RawMessage, error) { + yamlDoc, err := YAMLData(path, opts...) + if err != nil { + return nil, err + } + + return yamlutils.YAMLToJSON(yamlDoc) +} + +// YAMLData loads a yaml document from either http or a file. +func YAMLData(path string, opts ...Option) (interface{}, error) { + data, err := LoadFromFileOrHTTP(path, opts...) + if err != nil { + return nil, err + } + + return yamlutils.BytesToYAMLDoc(data) +} diff --git a/vendor/github.com/go-openapi/swag/loading_iface.go b/vendor/github.com/go-openapi/swag/loading_iface.go new file mode 100644 index 000000000..38d825bc5 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading_iface.go @@ -0,0 +1,102 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "encoding/json" + "time" + + "github.com/go-openapi/swag/loading" +) + +var ( + // Package-level defaults for the file loading utilities (deprecated). + + // LoadHTTPTimeout the default timeout for load requests. + // + // Deprecated: use [loading.WithTimeout] instead. + LoadHTTPTimeout = 30 * time.Second + + // LoadHTTPBasicAuthUsername the username to use when load requests require basic auth. + // + // Deprecated: use [loading.WithBasicAuth] instead. + LoadHTTPBasicAuthUsername = "" + + // LoadHTTPBasicAuthPassword the password to use when load requests require basic auth. + // + // Deprecated: use [loading.WithBasicAuth] instead. + LoadHTTPBasicAuthPassword = "" + + // LoadHTTPCustomHeaders an optional collection of custom HTTP headers for load requests. + // + // Deprecated: use [loading.WithCustomHeaders] instead. + LoadHTTPCustomHeaders = map[string]string{} +) + +// LoadFromFileOrHTTP loads the bytes from a file or a remote http server based on the provided path. +// +// Deprecated: use [loading.LoadFromFileOrHTTP] instead. +func LoadFromFileOrHTTP(pth string, opts ...loading.Option) ([]byte, error) { + return loading.LoadFromFileOrHTTP(pth, loadingOptionsWithDefaults(opts)...) +} + +// LoadFromFileOrHTTPWithTimeout loads the bytes from a file or a remote http server based on the path passed in +// timeout arg allows for per request overriding of the request timeout. +// +// Deprecated: use [loading.LoadFileOrHTTP] with the [loading.WithTimeout] option instead. +func LoadFromFileOrHTTPWithTimeout(pth string, timeout time.Duration, opts ...loading.Option) ([]byte, error) { + opts = append(opts, loading.WithTimeout(timeout)) + + return LoadFromFileOrHTTP(pth, opts...) +} + +// LoadStrategy returns a loader function for a given path or URL. +// +// Deprecated: use [loading.LoadStrategy] instead. +func LoadStrategy(pth string, local, remote func(string) ([]byte, error), opts ...loading.Option) func(string) ([]byte, error) { + return loading.LoadStrategy(pth, local, remote, loadingOptionsWithDefaults(opts)...) +} + +// YAMLMatcher matches yaml for a file loader. +// +// Deprecated: use [loading.YAMLMatcher] instead. +func YAMLMatcher(path string) bool { return loading.YAMLMatcher(path) } + +// YAMLDoc loads a yaml document from either http or a file and converts it to json. +// +// Deprecated: use [loading.YAMLDoc] instead. +func YAMLDoc(path string) (json.RawMessage, error) { + return loading.YAMLDoc(path) +} + +// YAMLData loads a yaml document from either http or a file. +// +// Deprecated: use [loading.YAMLData] instead. +func YAMLData(path string) (interface{}, error) { + return loading.YAMLData(path) +} + +// loadingOptionsWithDefaults bridges deprecated default settings that use package-level variables, +// with the recommended use of loading.Option. +func loadingOptionsWithDefaults(opts []loading.Option) []loading.Option { + o := []loading.Option{ + loading.WithTimeout(LoadHTTPTimeout), + loading.WithBasicAuth(LoadHTTPBasicAuthUsername, LoadHTTPBasicAuthPassword), + loading.WithCustomHeaders(LoadHTTPCustomHeaders), + } + o = append(o, opts...) + + return o +} diff --git a/vendor/github.com/go-openapi/swag/BENCHMARK.md b/vendor/github.com/go-openapi/swag/mangling/BENCHMARK.md similarity index 53% rename from vendor/github.com/go-openapi/swag/BENCHMARK.md rename to vendor/github.com/go-openapi/swag/mangling/BENCHMARK.md index e7f28ed6b..6674c63b7 100644 --- a/vendor/github.com/go-openapi/swag/BENCHMARK.md +++ b/vendor/github.com/go-openapi/swag/mangling/BENCHMARK.md @@ -1,12 +1,10 @@ -# Benchmarks - -## Name mangling utilities +# Benchmarking name mangling utilities ```bash go test -bench XXX -run XXX -benchtime 30s ``` -### Benchmarks at b3e7a5386f996177e4808f11acb2aa93a0f660df +## Benchmarks at b3e7a5386f996177e4808f11acb2aa93a0f660df ``` goos: linux @@ -21,7 +19,7 @@ BenchmarkToXXXName/ToHumanNameLower-4 895334 40354 ns/op 10472 B/op BenchmarkToXXXName/ToHumanNameTitle-4 882441 40678 ns/op 10566 B/op 749 allocs/op ``` -### Benchmarks after PR #79 +## Benchmarks after PR #79 ~ x10 performance improvement and ~ /100 memory allocations. @@ -50,3 +48,43 @@ BenchmarkToXXXName/ToCommandName-16 32256634 1137 ns/op 147 B/op BenchmarkToXXXName/ToHumanNameLower-16 18599661 1946 ns/op 92 B/op 6 allocs/op BenchmarkToXXXName/ToHumanNameTitle-16 17581353 2054 ns/op 105 B/op 6 allocs/op ``` + +## Benchmarks at d7d2d1b895f5b6747afaff312dd2a402e69e818b + +go1.24 + +``` +goos: linux +goarch: amd64 +pkg: github.com/go-openapi/swag +cpu: AMD Ryzen 7 5800X 8-Core Processor +BenchmarkToXXXName/ToGoName-16 19757858 1881 ns/op 42 B/op 5 allocs/op +BenchmarkToXXXName/ToVarName-16 17494111 2094 ns/op 74 B/op 7 allocs/op +BenchmarkToXXXName/ToFileName-16 28161226 1492 ns/op 158 B/op 7 allocs/op +BenchmarkToXXXName/ToCommandName-16 23787333 1489 ns/op 158 B/op 7 allocs/op +BenchmarkToXXXName/ToHumanNameLower-16 17537257 2030 ns/op 103 B/op 6 allocs/op +BenchmarkToXXXName/ToHumanNameTitle-16 16977453 2156 ns/op 105 B/op 6 allocs/op +``` + +## Benchmarks after PR #106 + +Moving the scope of everything down to a struct allowed to reduce a bit garbage and pooling. + +On top of that, ToGoName (and thus ToVarName) have been subject to a minor optimization, removing a few allocations. + +Overall timings improve by ~ -10%. + +go1.24 + +``` +goos: linux +goarch: amd64 +pkg: github.com/go-openapi/swag/mangling +cpu: AMD Ryzen 7 5800X 8-Core Processor +BenchmarkToXXXName/ToGoName-16 22496130 1618 ns/op 31 B/op 3 allocs/op +BenchmarkToXXXName/ToVarName-16 22538068 1618 ns/op 33 B/op 3 allocs/op +BenchmarkToXXXName/ToFileName-16 27722977 1236 ns/op 105 B/op 6 allocs/op +BenchmarkToXXXName/ToCommandName-16 27967395 1258 ns/op 105 B/op 6 allocs/op +BenchmarkToXXXName/ToHumanNameLower-16 18587901 1917 ns/op 103 B/op 6 allocs/op +BenchmarkToXXXName/ToHumanNameTitle-16 17193208 2019 ns/op 108 B/op 7 allocs/op +``` diff --git a/vendor/github.com/go-openapi/swag/mangling/LICENSE b/vendor/github.com/go-openapi/swag/mangling/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/mangling/doc.go b/vendor/github.com/go-openapi/swag/mangling/doc.go new file mode 100644 index 000000000..dbe806828 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/doc.go @@ -0,0 +1,36 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package mangling provides name mangling capabilities. +// +// Name mangling is an important stage when generating code: +// it helps construct safe program identifiers that abide by the language rules +// and play along with linters. +// +// Examples: +// +// Suppose we get an object name taken from an API spec: "json_object", +// +// We may generate a legit go type name using [NameMangler.ToGoName]: "JsonObject". +// +// We may then locate this type in a source file named using [NameMangler.ToFileName]: "json_object.go". +// +// The methods exposed by the NameMangler are used to generate code in many different contexts, such as: +// +// - generating exported or unexported go identifiers from a JSON schema or an API spec +// - generating file names +// - generating human-readable comments for types and variables +// - generating JSON-like API identifiers from go code +// - ... +package mangling diff --git a/vendor/github.com/go-openapi/swag/mangling/initialism_index.go b/vendor/github.com/go-openapi/swag/mangling/initialism_index.go new file mode 100644 index 000000000..cf0786f81 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/initialism_index.go @@ -0,0 +1,268 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mangling + +import ( + "sort" + "strings" + "unicode" + "unicode/utf8" +) + +// DefaultInitialisms returns all the initialisms configured by default for this package. +// +// # Motivation +// +// Common initialisms are acronyms for which the ordinary camel-casing rules are altered and +// for which we retain the original case. +// +// This is largely specific to the go naming conventions enforced by golint (now revive). +// +// # Example +// +// In go, "id" is a good-looking identifier, but "Id" is not and "ID" is preferred +// (notice that this stems only from conventions: the go compiler accepts all of these). +// +// Similarly, we may use "http", but not "Http". In this case, "HTTP" is preferred. +// +// # Reference and customization +// +// The default list of these casing-style exceptions is taken from the [github.com/mgechev/revive] linter for go: +// https://github.com/mgechev/revive/blob/master/lint/name.go#L93 +// +// There are a few additions to the original list, such as IPv4, IPv6 and OAI ("OpenAPI"). +// +// For these additions, "IPv4" would be preferred to "Ipv4" or "IPV4", and "OAI" to "Oai" +// +// You may redefine this list entirely using the mangler option [WithInitialisms], or simply add extra definitions +// using [WithAdditionalInitialisms]. +// +// # Mixed-case and plurals +// +// Notice that initialisms are not necessarily fully upper-cased: a mixed-case initialism indicates the preferred casing. +// +// Obviously, lower-case only initialisms do not make a lot of sense: if lower-case only initialisms are added, +// they will be considered fully capitalized. +// +// Plural forms use mixed case like "IDs". And so do values like "IPv4" or "IPv6". +// +// The [NameMangler] automatically detects simple plurals for words such as "IDs" or "APIs", +// so you don't need to configure these variants. +// +// At this moment, it doesn't support pluralization of terms that ends with an 's' (or 'S'), since there is +// no clear consensus on whether a word like DNS should be pluralized as DNSes or remain invariant. +// The [NameMangler] consider those invariant. Therefore DNSs or DNSes are not recognized as plurals for DNS. +// +// Besids, we don't want to support pluralization of terms which would otherwise conflict with another one, +// like "HTTPs" vs "HTTPS". All these should be considered invariant. Hence: "Https" matches "HTTPS" and +// "HTTPSS" is "HTTPS" followed by "S". +func DefaultInitialisms() []string { + return []string{ + "ACL", + "API", + "ASCII", + "CPU", + "CSS", + "DNS", + "EOF", + "GUID", + "HTML", + "HTTPS", + "HTTP", + "ID", + "IP", + "IPv4", // prefer the mixed case outcome IPv4 over the capitalized IPV4 + "IPv6", // prefer the mixed case outcome IPv6 over the capitalized IPV6 + "JSON", + "LHS", + "OAI", + "QPS", + "RAM", + "RHS", + "RPC", + "SLA", + "SMTP", + "SQL", + "SSH", + "TCP", + "TLS", + "TTL", + "UDP", + "UI", + "UID", + "UUID", + "URI", + "URL", + "UTF8", + "VM", + "XML", + "XMPP", + "XSRF", + "XSS", + } +} + +type indexOfInitialisms struct { + initialismsCache + + index map[string]struct{} +} + +func newIndexOfInitialisms() *indexOfInitialisms { + return &indexOfInitialisms{ + index: make(map[string]struct{}), + } +} + +func (m *indexOfInitialisms) add(words ...string) *indexOfInitialisms { + for _, word := range words { + // sanitization of injected words: trimmed from blanks, and must start with a letter + trimmed := strings.TrimSpace(word) + + firstRune, _ := utf8.DecodeRuneInString(trimmed) + if !unicode.IsLetter(firstRune) { + continue + } + + // Initialisms are case-sensitive. This means that we support mixed-case words. + // However, if specified as a lower-case string, the initialism should be fully capitalized. + if trimmed == strings.ToLower(trimmed) { + m.index[strings.ToUpper(trimmed)] = struct{}{} + + continue + } + + m.index[trimmed] = struct{}{} + } + return m +} + +func (m *indexOfInitialisms) sorted() []string { + result := make([]string, 0, len(m.index)) + for k := range m.index { + result = append(result, k) + } + sort.Sort(sort.Reverse(byInitialism(result))) + return result +} + +func (m *indexOfInitialisms) buildCache() { + m.build(m.sorted(), m.pluralForm) +} + +// initialismsCache caches all needed pre-computed and converted initialism entries, +// in the desired resolution order. +type initialismsCache struct { + initialisms []string + initialismsRunes [][]rune + initialismsUpperCased [][]rune // initialisms cached in their trimmed, upper-cased version + initialismsPluralForm []pluralForm +} + +func (c *initialismsCache) build(in []string, pluralfunc func(string) pluralForm) { + c.initialisms = in + c.initialismsRunes = asRunes(c.initialisms) + c.initialismsUpperCased = asUpperCased(c.initialisms) + c.initialismsPluralForm = asPluralForms(c.initialisms, pluralfunc) +} + +// pluralForm denotes the kind of pluralization to be used for initialisms. +// +// At this moment, initialisms are either invariant or follow a simple plural form with an +// extra (lower case) "s". +type pluralForm uint8 + +const ( + notPlural pluralForm = iota + invariantPlural + simplePlural +) + +// pluralForm indicates how we want to pluralize a given initialism. +// +// Besides configured invariant forms (like HTTP and HTTPS), +// an initialism is normally pluralized by adding a single 's', like in IDs. +// +// Initialisms ending with an 'S' or an 's' are configured as invariant (we don't +// support plural forms like CSSes or DNSes, however the mechanism could be extended to +// do just that). +func (m *indexOfInitialisms) pluralForm(key string) pluralForm { + if _, ok := m.index[key]; !ok { + return notPlural + } + + if strings.HasSuffix(strings.ToUpper(key), "S") { + return invariantPlural + } + + if _, ok := m.index[key+"s"]; ok { + return invariantPlural + } + + if _, ok := m.index[key+"S"]; ok { + return invariantPlural + } + + return simplePlural +} + +type byInitialism []string + +func (s byInitialism) Len() int { + return len(s) +} +func (s byInitialism) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +// Less specifies the order in which initialisms are prioritized: +// 1. match longest first +// 2. when equal length, match in reverse lexicographical order, lower case match comes first +func (s byInitialism) Less(i, j int) bool { + if len(s[i]) != len(s[j]) { + return len(s[i]) < len(s[j]) + } + + return s[i] < s[j] +} + +func asRunes(in []string) [][]rune { + out := make([][]rune, len(in)) + for i, initialism := range in { + out[i] = []rune(initialism) + } + + return out +} + +func asUpperCased(in []string) [][]rune { + out := make([][]rune, len(in)) + + for i, initialism := range in { + out[i] = []rune(upper(trim(initialism))) + } + + return out +} + +// asPluralForms bakes an index of pluralization support. +func asPluralForms(in []string, pluralFunc func(string) pluralForm) []pluralForm { + out := make([]pluralForm, len(in)) + for i, initialism := range in { + out[i] = pluralFunc(initialism) + } + + return out +} diff --git a/vendor/github.com/go-openapi/swag/mangling/name_lexem.go b/vendor/github.com/go-openapi/swag/mangling/name_lexem.go new file mode 100644 index 000000000..02004b4f3 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/name_lexem.go @@ -0,0 +1,197 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mangling + +import ( + "bytes" + "strings" + "unicode" + "unicode/utf8" +) + +type ( + lexemKind uint8 + + nameLexem struct { + original string + matchedInitialism string + kind lexemKind + } +) + +const ( + lexemKindCasualName lexemKind = iota + lexemKindInitialismName +) + +func newInitialismNameLexem(original, matchedInitialism string) nameLexem { + return nameLexem{ + kind: lexemKindInitialismName, + original: original, + matchedInitialism: matchedInitialism, + } +} + +func newCasualNameLexem(original string) nameLexem { + return nameLexem{ + kind: lexemKindCasualName, + original: trim(original), // TODO: save on calls to trim + } +} + +// WriteTitleized writes the titleized lexeme to a bytes.Buffer. +// +// If the first letter cannot be capitalized, it doesn't write anything and return false, +// so the caller may attempt some workaround strategy. +func (l nameLexem) WriteTitleized(w *bytes.Buffer, alwaysUpper bool) bool { + if l.kind == lexemKindInitialismName { + w.WriteString(l.matchedInitialism) + + return true + } + + if len(l.original) == 0 { + return true + } + + if len(l.original) == 1 { + // identifier is too short: casing will depend on the context + firstByte := l.original[0] + switch { + case 'A' <= firstByte && firstByte <= 'Z': + // safe + w.WriteByte(firstByte) + + return true + case alwaysUpper && 'a' <= firstByte && firstByte <= 'z': + w.WriteByte(firstByte - 'a' + 'A') + + return true + default: + + // not a letter: skip and let the caller decide + return false + } + } + + if firstByte := l.original[0]; firstByte < utf8.RuneSelf { + // ASCII + switch { + case 'A' <= firstByte && firstByte <= 'Z': + // already an upper case letter + w.WriteString(l.original) + + return true + case 'a' <= firstByte && firstByte <= 'z': + w.WriteByte(firstByte - 'a' + 'A') + w.WriteString(l.original[1:]) + + return true + default: + // not a good candidate: doesn't start with a letter + return false + } + } + + // unicode + firstRune, idx := utf8.DecodeRuneInString(l.original) + if !unicode.IsLetter(firstRune) || !unicode.IsUpper(unicode.ToUpper(firstRune)) { + // not a good candidate: doesn't start with a letter + // or a rune for which case doesn't make sense (e.g. East-Asian runes etc) + return false + } + + rest := l.original[idx:] + w.WriteRune(unicode.ToUpper(firstRune)) + w.WriteString(strings.ToLower(rest)) + + return true +} + +// WriteLower is like write titleized but it writes a lower-case version of the lexeme. +// +// Similarly, there is no writing if the casing of the first rune doesn't make sense. +func (l nameLexem) WriteLower(w *bytes.Buffer, alwaysLower bool) bool { + if l.kind == lexemKindInitialismName { + w.WriteString(lower(l.matchedInitialism)) + + return true + } + + if len(l.original) == 0 { + return true + } + + if len(l.original) == 1 { + // identifier is too short: casing will depend on the context + firstByte := l.original[0] + switch { + case 'a' <= firstByte && firstByte <= 'z': + // safe + w.WriteByte(firstByte) + + return true + case alwaysLower && 'A' <= firstByte && firstByte <= 'Z': + w.WriteByte(firstByte - 'A' + 'a') + + return true + default: + + // not a letter: skip and let the caller decide + return false + } + } + + if firstByte := l.original[0]; firstByte < utf8.RuneSelf { + // ASCII + switch { + case 'a' <= firstByte && firstByte <= 'z': + // already a lower case letter + w.WriteString(l.original) + + return true + case 'A' <= firstByte && firstByte <= 'Z': + w.WriteByte(firstByte - 'A' + 'a') + w.WriteString(l.original[1:]) + + return true + default: + // not a good candidate: doesn't start with a letter + return false + } + } + + // unicode + firstRune, idx := utf8.DecodeRuneInString(l.original) + if !unicode.IsLetter(firstRune) || !unicode.IsLower(unicode.ToLower(firstRune)) { + // not a good candidate: doesn't start with a letter + // or a rune for which case doesn't make sense (e.g. East-Asian runes etc) + return false + } + + rest := l.original[idx:] + w.WriteRune(unicode.ToLower(firstRune)) + w.WriteString(rest) + + return true +} + +func (l nameLexem) GetOriginal() string { + return l.original +} + +func (l nameLexem) IsInitialism() bool { + return l.kind == lexemKindInitialismName +} diff --git a/vendor/github.com/go-openapi/swag/mangling/name_mangler.go b/vendor/github.com/go-openapi/swag/mangling/name_mangler.go new file mode 100644 index 000000000..94ae555a7 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/name_mangler.go @@ -0,0 +1,381 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mangling + +import ( + "strings" + "unicode" +) + +// NameMangler knows how to transform sentences or words into +// identifiers that are a better fit in contexts such as: +// +// - unexported or exported go variable identifiers +// - file names +// - camel cased identifiers +// - ... +// +// The [NameMangler] is safe for concurrent use, save for its [NameMangler.AddInitialisms] method, +// which is not. +// +// # Known limitations +// +// At this moment, the [NameMangler] doesn't play well with "all caps" text: +// +// unless every single upper-cased word is declared as an initialism, capitalized words would generally +// not be transformed with the expected result, e.g. +// +// ToFileName("THIS_IS_ALL_CAPS") +// +// yields the weird outcome +// +// "t_h_i_s_i_s_a_l_l_c_a_p_s" +type NameMangler struct { + options + + index *indexOfInitialisms + + splitter splitter + splitterWithPostSplit splitter + + _ struct{} +} + +// NewNameMangler builds a name mangler ready to convert strings. +// +// The default name mangler is configured with default common initialisms and all default options. +func NewNameMangler(opts ...Option) NameMangler { + m := NameMangler{ + options: optionsWithDefaults(opts), + index: newIndexOfInitialisms(), + } + m.addInitialisms(m.commonInitialisms...) + + // a splitter that returns matches lexemes as ready-to-assemble strings: + // details of the lexemes are redeemed. + m.splitter = newSplitter( + withInitialismsCache(&m.index.initialismsCache), + withReplaceFunc(m.replaceFunc), + ) + + // a splitter that returns matches lexemes ready for post-processing + m.splitterWithPostSplit = newSplitter( + withInitialismsCache(&m.index.initialismsCache), + withReplaceFunc(m.replaceFunc), + withPostSplitInitialismCheck, + ) + + return m +} + +// AddInitialisms declares extra initialisms to the mangler. +// +// It declares extra words as "initialisms" (i.e. words that won't be camel cased or titled cased), +// on top of the existing list of common initialisms (such as ID, HTTP...). +// +// Added words must start with a (unicode) letter. If some don't, they are ignored. +// Added words are either fully capitalized or mixed-cased. Lower-case only words are considered capitalized. +// +// It is typically used just after initializing the [NameMangler]. +// +// When all initialisms are known at the time the mangler is initialized, it is preferable to +// use [NewNameMangler] with the option [WithAdditionalInitialisms]. +// +// Adding initialisms mutates the mangler and should not be carried out concurrently with other calls to the mangler. +func (m *NameMangler) AddInitialisms(words ...string) { + m.addInitialisms(words...) +} + +// Initialisms renders the list of initialisms supported by this mangler. +func (m *NameMangler) Initialisms() []string { + return m.index.initialisms +} + +// Camelize a single word. +// +// Example: +// +// - "HELLO" and "hello" become "Hello". +func (m NameMangler) Camelize(word string) string { + ru := []rune(word) + + switch len(ru) { + case 0: + return "" + case 1: + return string(unicode.ToUpper(ru[0])) + default: + camelized := poolOfBuffers.BorrowBuffer(len(word)) + camelized.Grow(len(word)) + defer func() { + poolOfBuffers.RedeemBuffer(camelized) + }() + + camelized.WriteRune(unicode.ToUpper(ru[0])) + for _, ru := range ru[1:] { + camelized.WriteRune(unicode.ToLower(ru)) + } + + return camelized.String() + } +} + +// ToFileName generates a suitable snake-case file name from a sentence. +// +// It lower-cases everything with underscore (_) as a word separator. +// +// Examples: +// +// - "Hello, Swagger" becomes "hello_swagger" +// - "HelloSwagger" becomes "hello_swagger" +func (m NameMangler) ToFileName(name string) string { + inptr := m.split(name) + in := *inptr + out := make([]string, 0, len(in)) + + for _, w := range in { + out = append(out, lower(w)) + } + poolOfStrings.RedeemStrings(inptr) + + return strings.Join(out, "_") +} + +// ToCommandName generates a suitable CLI command name from a sentence. +// +// It lower-cases everything with dash (-) as a word separator. +// +// Examples: +// +// - "Hello, Swagger" becomes "hello-swagger" +// - "HelloSwagger" becomes "hello-swagger" +func (m NameMangler) ToCommandName(name string) string { + inptr := m.split(name) + in := *inptr + out := make([]string, 0, len(in)) + + for _, w := range in { + out = append(out, lower(w)) + } + poolOfStrings.RedeemStrings(inptr) + + return strings.Join(out, "-") +} + +// ToHumanNameLower represents a code name as a human-readable series of words. +// +// It lower-cases everything with blank space as a word separator. +// +// NOTE: parts recognized as initialisms just keep their original casing. +// +// Examples: +// +// - "Hello, Swagger" becomes "hello swagger" +// - "HelloSwagger" or "Hello-Swagger" become "hello swagger" +func (m NameMangler) ToHumanNameLower(name string) string { + s := m.splitterWithPostSplit + in := s.split(name) + out := make([]string, 0, len(*in)) + + for _, w := range *in { + if !w.IsInitialism() { + out = append(out, lower(w.GetOriginal())) + } else { + out = append(out, trim(w.GetOriginal())) + } + } + + poolOfLexems.RedeemLexems(in) + + return strings.Join(out, " ") +} + +// ToHumanNameTitle represents a code name as a human-readable series of titleized words. +// +// It titleizes every word with blank space as a word separator. +// +// Examples: +// +// - "hello, Swagger" becomes "Hello Swagger" +// - "helloSwagger" becomes "Hello Swagger" +func (m NameMangler) ToHumanNameTitle(name string) string { + s := m.splitterWithPostSplit + in := s.split(name) + + out := make([]string, 0, len(*in)) + for _, w := range *in { + original := trim(w.GetOriginal()) + if !w.IsInitialism() { + out = append(out, m.Camelize(original)) + } else { + out = append(out, original) + } + } + poolOfLexems.RedeemLexems(in) + + return strings.Join(out, " ") +} + +// ToJSONName generates a camelized single-word version of a sentence. +// +// The output assembles every camelized word, but for the first word, which +// is lower-cased. +// +// Example: +// +// - "Hello_swagger" becomes "helloSwagger" +func (m NameMangler) ToJSONName(name string) string { + inptr := m.split(name) + in := *inptr + out := make([]string, 0, len(in)) + + for i, w := range in { + if i == 0 { + out = append(out, lower(w)) + continue + } + out = append(out, m.Camelize(trim(w))) + } + + poolOfStrings.RedeemStrings(inptr) + + return strings.Join(out, "") +} + +// ToVarName generates a legit unexported go variable name from a sentence. +// +// The generated name plays well with linters (see also [NameMangler.ToGoName]). +// +// Examples: +// +// - "Hello_swagger" becomes "helloSwagger" +// - "Http_server" becomes "httpServer" +// +// This name applies the same rules as [NameMangler.ToGoName] (legit exported variable), save the +// capitalization of the initial rune. +// +// Special case: when the initial part is a recognized as an initialism (like in the example above), +// the full part is lower-cased. +func (m NameMangler) ToVarName(name string) string { + return m.goIdentifier(name, false) +} + +// ToGoName generates a legit exported go variable name from a sentence. +// +// The generated name plays well with most linters. +// +// ToGoName abides by the go "exported" symbol rule starting with an upper-case letter. +// +// Examples: +// +// - "hello_swagger" becomes "HelloSwagger" +// - "Http_server" becomes "HTTPServer" +// +// # Edge cases +// +// Whenever the first rune is not eligible to upper case, a special prefix is prepended to the resulting name. +// By default this is simply "X" and you may customize this behavior using the [WithGoNamePrefixFunc] option. +// +// This happens when the first rune is not a letter, e.g. a digit, or a symbol that has no word transliteration +// (see also [WithReplaceFunc] about symbol transliterations), +// as well as for most East Asian or Devanagari runes, for which there is no such concept as upper-case. +// +// # Linting +// +// [revive], the successor of golint is the reference linter. +// +// This means that [NameMangler.ToGoName] supports the initialisms that revive checks (see also [DefaultInitialisms]). +// +// At this moment, there is no attempt to transliterate unicode into ascii, meaning that some linters +// (e.g. asciicheck, gosmopolitan) may croak on go identifiers generated from unicode input. +// +// [revive]: https://github.com/mgechev/revive +func (m NameMangler) ToGoName(name string) string { + return m.goIdentifier(name, true) +} + +func (m NameMangler) goIdentifier(name string, exported bool) string { + s := m.splitterWithPostSplit + lexems := s.split(name) + defer func() { + poolOfLexems.RedeemLexems(lexems) + }() + lexemes := *lexems + + if len(lexemes) == 0 { + return "" + } + + result := poolOfBuffers.BorrowBuffer(len(name)) + defer func() { + poolOfBuffers.RedeemBuffer(result) + }() + + firstPart := lexemes[0] + if !exported { + if ok := firstPart.WriteLower(result, true); !ok { + // NOTE: an initialism as the first part is lower-cased: no longer generates stuff like hTTPxyz. + // + // same prefixing rule applied to unexported variable as to an exported one, so that we have consistent + // names, whether the generated identifier is exported or not. + result.WriteString(strings.ToLower(m.prefixFunc()(name))) + result.WriteString(lexemes[0].GetOriginal()) + } + } else { + if ok := firstPart.WriteTitleized(result, true); !ok { + // "repairs" a lexeme that doesn't start with a letter to become + // the start a legit go name. The current strategy is very crude and simply adds a fixed prefix, + // e.g. "X". + // For instance "1_sesame_street" would be split into lexemes ["1", "sesame", "street"] and + // the first one ("1") would result in something like "X1" (with the default prefix function). + // + // NOTE: no longer forcing the first part to be fully upper-cased + result.WriteString(m.prefixFunc()(name)) + result.WriteString(lexemes[0].GetOriginal()) + } + } + + for _, lexem := range lexemes[1:] { + // NOTE: no longer forcing initialism parts to be fully upper-cased: + // * pluralized initialism preserve their trailing "s" + // * mixed-cased initialisms, such as IPv4, are preserved + if ok := lexem.WriteTitleized(result, false); !ok { + // it's not titleized: perhaps it's too short, perhaps the first rune is not a letter. + // write anyway + result.WriteString(lexem.GetOriginal()) + } + } + + return result.String() +} + +func (m *NameMangler) addInitialisms(words ...string) { + m.index.add(words...) + m.index.buildCache() +} + +// split calls the inner splitter. +func (m NameMangler) split(str string) *[]string { + s := m.splitter + lexems := s.split(str) + result := poolOfStrings.BorrowStrings() + + for _, lexem := range *lexems { + *result = append(*result, lexem.GetOriginal()) + } + poolOfLexems.RedeemLexems(lexems) + + return result +} diff --git a/vendor/github.com/go-openapi/swag/mangling/options.go b/vendor/github.com/go-openapi/swag/mangling/options.go new file mode 100644 index 000000000..66ad2e46c --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/options.go @@ -0,0 +1,161 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mangling + +type ( + // PrefixFunc defines a safeguard rule (that may depend on the input string), to prefix + // a generated go name (in [NameMangler.ToGoName] and [NameMangler.ToVarName]). + // + // See [NameMangler.ToGoName] for more about which edge cases the prefix function covers. + PrefixFunc func(string) string + + // ReplaceFunc is a transliteration function to replace special runes by a word. + ReplaceFunc func(r rune) (string, bool) + + // Option to configure a [NameMangler]. + Option func(*options) + + options struct { + commonInitialisms []string + + goNamePrefixFunc PrefixFunc + goNamePrefixFuncPtr *PrefixFunc + replaceFunc func(r rune) (string, bool) + } +) + +func (o *options) prefixFunc() PrefixFunc { + if o.goNamePrefixFuncPtr != nil && *o.goNamePrefixFuncPtr != nil { + return *o.goNamePrefixFuncPtr + } + + return o.goNamePrefixFunc +} + +// WithGoNamePrefixFunc overrides the default prefix rule to safeguard generated go names. +// +// Example: +// +// This helps convert "123" into "{prefix}123" (a very crude strategy indeed, but it works). +// +// See [github.com/go-swagger/go-swagger/generator.DefaultFuncMap] for an example. +// +// The prefix function is assumed to return a string that starts with an upper case letter. +// +// The default is to prefix with "X". +// +// See [NameMangler.ToGoName] for more about which edge cases the prefix function covers. +func WithGoNamePrefixFunc(fn PrefixFunc) Option { + return func(o *options) { + o.goNamePrefixFunc = fn + } +} + +// WithGoNamePrefixFuncPtr is like [WithGoNamePrefixFunc] but it specifies a pointer to a function. +// +// [WithGoNamePrefixFunc] should be preferred in most situations. This option should only serve the +// purpose of handling special situations where the prefix function is not an internal variable +// (e.g. an exported package global). +// +// [WithGoNamePrefixFuncPtr] supersedes [WithGoNamePrefixFunc] if it also specified. +// +// If the provided pointer is nil or points to a nil value, this option has no effect. +// +// The caller should ensure that no undesirable concurrent changes are applied to the function pointed to. +func WithGoNamePrefixFuncPtr(ptr *PrefixFunc) Option { + return func(o *options) { + o.goNamePrefixFuncPtr = ptr + } +} + +// WithInitialisms declares the initialisms this mangler supports. +// +// This supersedes any pre-loaded defaults (see [DefaultInitialisms] for more about what initialisms are). +// +// It declares words to be recognized as "initialisms" (i.e. words that won't be camel cased or titled cased). +// +// Words must start with a (unicode) letter. If some don't, they are ignored. +// Words are either fully capitalized or mixed-cased. Lower-case only words are considered capitalized. +func WithInitialisms(words ...string) Option { + return func(o *options) { + o.commonInitialisms = words + } +} + +// WithAdditionalInitialisms adds new initialisms to the currently supported list (see [DefaultInitialisms]). +// +// The same sanitization rules apply as those described for [WithInitialisms]. +func WithAdditionalInitialisms(words ...string) Option { + return func(o *options) { + o.commonInitialisms = append(o.commonInitialisms, words...) + } +} + +// WithReplaceFunc specifies a custom transliteration function instead of the default. +// +// The default translates the following characters into words as follows: +// +// - '@' -> 'At' +// - '&' -> 'And' +// - '|' -> 'Pipe' +// - '$' -> 'Dollar' +// - '!' -> 'Bang' +// +// Notice that the outcome of a transliteration should always be titleized. +func WithReplaceFunc(fn ReplaceFunc) Option { + return func(o *options) { + o.replaceFunc = fn + } +} + +func defaultPrefixFunc(_ string) string { + return "X" +} + +// defaultReplaceTable finds a word representation for special characters. +func defaultReplaceTable(r rune) (string, bool) { + switch r { + case '@': + return "At ", true + case '&': + return "And ", true + case '|': + return "Pipe ", true + case '$': + return "Dollar ", true + case '!': + return "Bang ", true + case '-': + return "", true + case '_': + return "", true + default: + return "", false + } +} + +func optionsWithDefaults(opts []Option) options { + o := options{ + commonInitialisms: DefaultInitialisms(), + goNamePrefixFunc: defaultPrefixFunc, + replaceFunc: defaultReplaceTable, + } + + for _, apply := range opts { + apply(&o) + } + + return o +} diff --git a/vendor/github.com/go-openapi/swag/mangling/pools.go b/vendor/github.com/go-openapi/swag/mangling/pools.go new file mode 100644 index 000000000..d85b40387 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/pools.go @@ -0,0 +1,134 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mangling + +import ( + "bytes" + "sync" +) + +const maxAllocMatches = 8 + +type ( + // memory pools of temporary objects. + // + // These are used to recycle temporarily allocated objects + // and relieve the GC from undue pressure. + + matchesPool struct { + *sync.Pool + } + + buffersPool struct { + *sync.Pool + } + + lexemsPool struct { + *sync.Pool + } + + stringsPool struct { + *sync.Pool + } +) + +var ( + // poolOfMatches holds temporary slices for recycling during the initialism match process + poolOfMatches = matchesPool{ + Pool: &sync.Pool{ + New: func() any { + s := make(initialismMatches, 0, maxAllocMatches) + + return &s + }, + }, + } + + poolOfBuffers = buffersPool{ + Pool: &sync.Pool{ + New: func() any { + return new(bytes.Buffer) + }, + }, + } + + poolOfLexems = lexemsPool{ + Pool: &sync.Pool{ + New: func() any { + s := make([]nameLexem, 0, maxAllocMatches) + + return &s + }, + }, + } + + poolOfStrings = stringsPool{ + Pool: &sync.Pool{ + New: func() any { + s := make([]string, 0, maxAllocMatches) + + return &s + }, + }, + } +) + +func (p matchesPool) BorrowMatches() *initialismMatches { + s := p.Get().(*initialismMatches) + *s = (*s)[:0] // reset slice, keep allocated capacity + + return s +} + +func (p buffersPool) BorrowBuffer(size int) *bytes.Buffer { + s := p.Get().(*bytes.Buffer) + s.Reset() + + if s.Cap() < size { + s.Grow(size) + } + + return s +} + +func (p lexemsPool) BorrowLexems() *[]nameLexem { + s := p.Get().(*[]nameLexem) + *s = (*s)[:0] // reset slice, keep allocated capacity + + return s +} + +func (p stringsPool) BorrowStrings() *[]string { + s := p.Get().(*[]string) + *s = (*s)[:0] // reset slice, keep allocated capacity + + return s +} + +func (p matchesPool) RedeemMatches(s *initialismMatches) { + p.Put(s) +} + +func (p buffersPool) RedeemBuffer(s *bytes.Buffer) { + p.Put(s) +} + +func (p lexemsPool) RedeemLexems(s *[]nameLexem) { + p.Put(s) +} + +func (p stringsPool) RedeemStrings(s *[]string) { + p.Put(s) +} diff --git a/vendor/github.com/go-openapi/swag/split.go b/vendor/github.com/go-openapi/swag/mangling/split.go similarity index 52% rename from vendor/github.com/go-openapi/swag/split.go rename to vendor/github.com/go-openapi/swag/mangling/split.go index 274727a86..40e4a2e0e 100644 --- a/vendor/github.com/go-openapi/swag/split.go +++ b/vendor/github.com/go-openapi/swag/mangling/split.go @@ -12,212 +12,66 @@ // See the License for the specific language governing permissions and // limitations under the License. -package swag +package mangling import ( - "bytes" - "sync" "unicode" - "unicode/utf8" ) -type ( - splitter struct { - initialisms []string - initialismsRunes [][]rune - initialismsUpperCased [][]rune // initialisms cached in their trimmed, upper-cased version - postSplitInitialismCheck bool +type splitterOption func(*splitter) + +// withPostSplitInitialismCheck allows to catch initialisms after main split process +func withPostSplitInitialismCheck(s *splitter) { + s.postSplitInitialismCheck = true +} + +func withReplaceFunc(fn ReplaceFunc) func(*splitter) { + return func(s *splitter) { + s.replaceFunc = fn } +} - splitterOption func(*splitter) +func withInitialismsCache(c *initialismsCache) splitterOption { + return func(s *splitter) { + s.initialismsCache = c + } +} +type ( initialismMatch struct { body []rune start, end int complete bool + hasPlural pluralForm } initialismMatches []initialismMatch ) -type ( - // memory pools of temporary objects. - // - // These are used to recycle temporarily allocated objects - // and relieve the GC from undue pressure. - - matchesPool struct { - *sync.Pool - } - - buffersPool struct { - *sync.Pool - } - - lexemsPool struct { - *sync.Pool - } - - splittersPool struct { - *sync.Pool - } -) - -var ( - // poolOfMatches holds temporary slices for recycling during the initialism match process - poolOfMatches = matchesPool{ - Pool: &sync.Pool{ - New: func() any { - s := make(initialismMatches, 0, maxAllocMatches) - - return &s - }, - }, - } - - poolOfBuffers = buffersPool{ - Pool: &sync.Pool{ - New: func() any { - return new(bytes.Buffer) - }, - }, - } - - poolOfLexems = lexemsPool{ - Pool: &sync.Pool{ - New: func() any { - s := make([]nameLexem, 0, maxAllocMatches) - - return &s - }, - }, - } - - poolOfSplitters = splittersPool{ - Pool: &sync.Pool{ - New: func() any { - s := newSplitter() - - return &s - }, - }, - } -) - -// nameReplaceTable finds a word representation for special characters. -func nameReplaceTable(r rune) (string, bool) { - switch r { - case '@': - return "At ", true - case '&': - return "And ", true - case '|': - return "Pipe ", true - case '$': - return "Dollar ", true - case '!': - return "Bang ", true - case '-': - return "", true - case '_': - return "", true - default: - return "", false - } +func (m initialismMatch) isZero() bool { + return m.start == 0 && m.end == 0 } -// split calls the splitter. -// -// Use newSplitter for more control and options -func split(str string) []string { - s := poolOfSplitters.BorrowSplitter() - lexems := s.split(str) - result := make([]string, 0, len(*lexems)) - - for _, lexem := range *lexems { - result = append(result, lexem.GetOriginal()) - } - poolOfLexems.RedeemLexems(lexems) - poolOfSplitters.RedeemSplitter(s) - - return result +type splitter struct { + *initialismsCache + postSplitInitialismCheck bool + replaceFunc ReplaceFunc } func newSplitter(options ...splitterOption) splitter { - s := splitter{ - postSplitInitialismCheck: false, - initialisms: initialisms, - initialismsRunes: initialismsRunes, - initialismsUpperCased: initialismsUpperCased, - } + var s splitter for _, option := range options { option(&s) } - return s -} - -// withPostSplitInitialismCheck allows to catch initialisms after main split process -func withPostSplitInitialismCheck(s *splitter) { - s.postSplitInitialismCheck = true -} - -func (p matchesPool) BorrowMatches() *initialismMatches { - s := p.Get().(*initialismMatches) - *s = (*s)[:0] // reset slice, keep allocated capacity - - return s -} - -func (p buffersPool) BorrowBuffer(size int) *bytes.Buffer { - s := p.Get().(*bytes.Buffer) - s.Reset() - - if s.Cap() < size { - s.Grow(size) - } - - return s -} - -func (p lexemsPool) BorrowLexems() *[]nameLexem { - s := p.Get().(*[]nameLexem) - *s = (*s)[:0] // reset slice, keep allocated capacity - - return s -} - -func (p splittersPool) BorrowSplitter(options ...splitterOption) *splitter { - s := p.Get().(*splitter) - s.postSplitInitialismCheck = false // reset options - for _, apply := range options { - apply(s) + if s.replaceFunc == nil { + s.replaceFunc = defaultReplaceTable } return s } -func (p matchesPool) RedeemMatches(s *initialismMatches) { - p.Put(s) -} - -func (p buffersPool) RedeemBuffer(s *bytes.Buffer) { - p.Put(s) -} - -func (p lexemsPool) RedeemLexems(s *[]nameLexem) { - p.Put(s) -} - -func (p splittersPool) RedeemSplitter(s *splitter) { - p.Put(s) -} - -func (m initialismMatch) isZero() bool { - return m.start == 0 && m.end == 0 -} - func (s splitter) split(name string) *[]nameLexem { nameRunes := []rune(name) matches := s.gatherInitialismMatches(nameRunes) @@ -242,25 +96,68 @@ func (s splitter) gatherInitialismMatches(nameRunes []rune) *initialismMatches { for _, match := range *matches { if keepCompleteMatch := match.complete; keepCompleteMatch { *newMatches = append(*newMatches, match) + + // the match is complete: keep it then move on to next rune continue } - // drop failed match currentMatchRune := match.body[currentRunePosition-match.start] if currentMatchRune != currentRune { + // failed match, move on to next rune continue } // try to complete ongoing match if currentRunePosition-match.start == len(match.body)-1 { // we are close; the next step is to check the symbol ahead - // if it is a small letter, then it is not the end of match - // but beginning of the next word + // if it is a lowercase letter, then it is not the end of match + // but the beginning of the next word. + // + // NOTE(fredbi): this heuristic sometimes leads to counterintuitive splits and + // perhaps (not sure yet) we should check against case _alternance_. + // + // Example: + // + // In the current version, in the sentence "IDS initialism", "ID" is recognized as an initialism, + // leading to a split like "id_s_initialism" (or IDSInitialism), + // whereas in the sentence "IDx initialism", it is not and produces something like + // "i_d_x_initialism" (or IDxInitialism). The generated file name is not great. + // + // Both go identifiers are tolerated by linters. + // + // Notice that the slightly different input "IDs initialism" is correctly detected + // as a pluralized initialism and produces something like "ids_initialism" (or IDsInitialism). if currentRunePosition < len(nameRunes)-1 { nextRune := nameRunes[currentRunePosition+1] + + // recognize a plural form for this initialism (only simple pluralization is supported) + if nextRune == 's' && match.hasPlural == simplePlural { + // detected a pluralized initialism + match.body = append(match.body, nextRune) + currentRunePosition++ + if currentRunePosition < len(nameRunes)-1 { + nextRune = nameRunes[currentRunePosition+1] + if newWord := unicode.IsLower(nextRune); newWord { + // it is the start of a new word. + // Match is only partial and the initialism is not recognized : move on + continue + } + } + + // this is a pluralized match: keep it + match.complete = true + match.hasPlural = simplePlural + match.end = currentRunePosition + *newMatches = append(*newMatches, match) + + // match is complete: keep it then move on to next rune + continue + } + if newWord := unicode.IsLower(nextRune); newWord { - // oh ok, it was the start of a new word + // it is the start of a new word + // Match is only partial and the initialism is not recognized : move on continue } } @@ -269,18 +166,19 @@ func (s splitter) gatherInitialismMatches(nameRunes []rune) *initialismMatches { match.end = currentRunePosition } + // append the ongoing matching attempt (not necessarily complete) *newMatches = append(*newMatches, match) } } // check for new initialism matches - for i := range s.initialisms { - initialismRunes := s.initialismsRunes[i] - if initialismRunes[0] == currentRune { + for i, r := range s.initialismsRunes { + if r[0] == currentRune { *newMatches = append(*newMatches, initialismMatch{ - start: currentRunePosition, - body: initialismRunes, - complete: false, + start: currentRunePosition, + body: r, + complete: false, + hasPlural: s.initialismsPluralForm[i], }) } } @@ -373,8 +271,10 @@ func (s splitter) appendBrokenDownCasualString(segments *[]nameLexem, str []rune addNameLexem = addCasualNameLexem } + // NOTE: (performance). The few remaining non-amortized allocations + // lay in the code below: using String() forces for _, rn := range str { - if replace, found := nameReplaceTable(rn); found { + if replace, found := s.replaceFunc(rn); found { if currentSegment.Len() > 0 { addNameLexem(currentSegment.String()) currentSegment.Reset() @@ -410,99 +310,3 @@ func (s splitter) appendBrokenDownCasualString(segments *[]nameLexem, str []rune addNameLexem(currentSegment.String()) } } - -// isEqualFoldIgnoreSpace is the same as strings.EqualFold, but -// it ignores leading and trailing blank spaces in the compared -// string. -// -// base is assumed to be composed of upper-cased runes, and be already -// trimmed. -// -// This code is heavily inspired from strings.EqualFold. -func isEqualFoldIgnoreSpace(base []rune, str string) bool { - var i, baseIndex int - // equivalent to b := []byte(str), but without data copy - b := hackStringBytes(str) - - for i < len(b) { - if c := b[i]; c < utf8.RuneSelf { - // fast path for ASCII - if c != ' ' && c != '\t' { - break - } - i++ - - continue - } - - // unicode case - r, size := utf8.DecodeRune(b[i:]) - if !unicode.IsSpace(r) { - break - } - i += size - } - - if i >= len(b) { - return len(base) == 0 - } - - for _, baseRune := range base { - if i >= len(b) { - break - } - - if c := b[i]; c < utf8.RuneSelf { - // single byte rune case (ASCII) - if baseRune >= utf8.RuneSelf { - return false - } - - baseChar := byte(baseRune) - if c != baseChar && - !('a' <= c && c <= 'z' && c-'a'+'A' == baseChar) { - return false - } - - baseIndex++ - i++ - - continue - } - - // unicode case - r, size := utf8.DecodeRune(b[i:]) - if unicode.ToUpper(r) != baseRune { - return false - } - baseIndex++ - i += size - } - - if baseIndex != len(base) { - return false - } - - // all passed: now we should only have blanks - for i < len(b) { - if c := b[i]; c < utf8.RuneSelf { - // fast path for ASCII - if c != ' ' && c != '\t' { - return false - } - i++ - - continue - } - - // unicode case - r, size := utf8.DecodeRune(b[i:]) - if !unicode.IsSpace(r) { - return false - } - - i += size - } - - return true -} diff --git a/vendor/github.com/go-openapi/swag/mangling/string_bytes.go b/vendor/github.com/go-openapi/swag/mangling/string_bytes.go new file mode 100644 index 000000000..06351434d --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/string_bytes.go @@ -0,0 +1,22 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mangling + +import "unsafe" + +// hackStringBytes returns the (unsafe) underlying bytes slice of a string. +func hackStringBytes(str string) []byte { + return unsafe.Slice(unsafe.StringData(str), len(str)) +} diff --git a/vendor/github.com/go-openapi/swag/mangling/util.go b/vendor/github.com/go-openapi/swag/mangling/util.go new file mode 100644 index 000000000..c289dc6bd --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling/util.go @@ -0,0 +1,129 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mangling + +import ( + "strings" + "unicode" + "unicode/utf8" +) + +// Removes leading whitespaces +func trim(str string) string { return strings.TrimSpace(str) } + +// upper is strings.ToUpper() combined with trim +func upper(str string) string { + return strings.ToUpper(trim(str)) +} + +// lower is strings.ToLower() combined with trim +func lower(str string) string { + return strings.ToLower(trim(str)) +} + +// isEqualFoldIgnoreSpace is the same as strings.EqualFold, but +// it ignores leading and trailing blank spaces in the compared +// string. +// +// base is assumed to be composed of upper-cased runes, and be already +// trimmed. +// +// This code is heavily inspired from strings.EqualFold. +func isEqualFoldIgnoreSpace(base []rune, str string) bool { + var i, baseIndex int + // equivalent to b := []byte(str), but without data copy + b := hackStringBytes(str) + + for i < len(b) { + if c := b[i]; c < utf8.RuneSelf { + // fast path for ASCII + if c != ' ' && c != '\t' { + break + } + i++ + + continue + } + + // unicode case + r, size := utf8.DecodeRune(b[i:]) + if !unicode.IsSpace(r) { + break + } + i += size + } + + if i >= len(b) { + return len(base) == 0 + } + + for _, baseRune := range base { + if i >= len(b) { + break + } + + if c := b[i]; c < utf8.RuneSelf { + // single byte rune case (ASCII) + if baseRune >= utf8.RuneSelf { + return false + } + + baseChar := byte(baseRune) + if c != baseChar && ((c < 'a') || (c > 'z') || (c-'a'+'A' != baseChar)) { + return false + } + + baseIndex++ + i++ + + continue + } + + // unicode case + r, size := utf8.DecodeRune(b[i:]) + if unicode.ToUpper(r) != baseRune { + return false + } + baseIndex++ + i += size + } + + if baseIndex != len(base) { + return false + } + + // all passed: now we should only have blanks + for i < len(b) { + if c := b[i]; c < utf8.RuneSelf { + // fast path for ASCII + if c != ' ' && c != '\t' { + return false + } + i++ + + continue + } + + // unicode case + r, size := utf8.DecodeRune(b[i:]) + if !unicode.IsSpace(r) { + return false + } + + i += size + } + + return true +} diff --git a/vendor/github.com/go-openapi/swag/mangling_iface.go b/vendor/github.com/go-openapi/swag/mangling_iface.go new file mode 100644 index 000000000..2d0d07ddb --- /dev/null +++ b/vendor/github.com/go-openapi/swag/mangling_iface.go @@ -0,0 +1,80 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import "github.com/go-openapi/swag/mangling" + +// GoNamePrefixFunc sets an optional rule to prefix go names +// which do not start with a letter. +// +// GoNamePrefixFunc should not be written to while concurrently using the other mangling functions of this package. +// +// Deprecated: use [mangling.WithGoNamePrefixFunc] instead. +var GoNamePrefixFunc mangling.PrefixFunc + +// swagNameMangler is a global instance of the name mangler specifically alloted +// to support deprecated functions. +var swagNameMangler = mangling.NewNameMangler( + mangling.WithGoNamePrefixFuncPtr(&GoNamePrefixFunc), +) + +// AddInitialisms adds additional initialisms to the default list (see [mangling.DefaultInitialisms]). +// +// AddInitialisms is not safe to be called concurrently. +// +// Deprecated: use [mangling.WithAdditionalInitialisms] instead. +func AddInitialisms(words ...string) { + swagNameMangler.AddInitialisms(words...) +} + +// Camelize a single word. +// +// Deprecated: use [mangling.NameMangler.Camelize] instead. +func Camelize(word string) string { return swagNameMangler.Camelize(word) } + +// ToFileName lowercases and underscores a go type name. +// +// Deprecated: use [mangling.NameMangler.ToFileName] instead. +func ToFileName(name string) string { return swagNameMangler.ToFileName(name) } + +// ToCommandName lowercases and underscores a go type name. +// +// Deprecated: use [mangling.NameMangler.ToCommandName] instead. +func ToCommandName(name string) string { return swagNameMangler.ToCommandName(name) } + +// ToHumanNameLower represents a code name as a human series of words. +// +// Deprecated: use [mangling.NameMangler.ToHumanNameLower] instead. +func ToHumanNameLower(name string) string { return swagNameMangler.ToHumanNameLower(name) } + +// ToHumanNameTitle represents a code name as a human series of words with the first letters titleized. +// +// Deprecated: use [mangling.NameMangler.ToHumanNameTitle] instead. +func ToHumanNameTitle(name string) string { return swagNameMangler.ToHumanNameTitle(name) } + +// ToJSONName camel-cases a name which can be underscored or pascal-cased. +// +// Deprecated: use [mangling.NameMangler.ToJSONName] instead. +func ToJSONName(name string) string { return swagNameMangler.ToJSONName(name) } + +// ToVarName camel-cases a name which can be underscored or pascal-cased. +// +// Deprecated: use [mangling.NameMangler.ToVarName] instead. +func ToVarName(name string) string { return swagNameMangler.ToVarName(name) } + +// ToGoName translates a swagger name which can be underscored or camel cased to a name that golint likes. +// +// Deprecated: use [mangling.NameMangler.ToGoName] instead. +func ToGoName(name string) string { return swagNameMangler.ToGoName(name) } diff --git a/vendor/github.com/go-openapi/swag/name_lexem.go b/vendor/github.com/go-openapi/swag/name_lexem.go deleted file mode 100644 index 8bb64ac32..000000000 --- a/vendor/github.com/go-openapi/swag/name_lexem.go +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package swag - -import ( - "unicode" - "unicode/utf8" -) - -type ( - lexemKind uint8 - - nameLexem struct { - original string - matchedInitialism string - kind lexemKind - } -) - -const ( - lexemKindCasualName lexemKind = iota - lexemKindInitialismName -) - -func newInitialismNameLexem(original, matchedInitialism string) nameLexem { - return nameLexem{ - kind: lexemKindInitialismName, - original: original, - matchedInitialism: matchedInitialism, - } -} - -func newCasualNameLexem(original string) nameLexem { - return nameLexem{ - kind: lexemKindCasualName, - original: original, - } -} - -func (l nameLexem) GetUnsafeGoName() string { - if l.kind == lexemKindInitialismName { - return l.matchedInitialism - } - - var ( - first rune - rest string - ) - - for i, orig := range l.original { - if i == 0 { - first = orig - continue - } - - if i > 0 { - rest = l.original[i:] - break - } - } - - if len(l.original) > 1 { - b := poolOfBuffers.BorrowBuffer(utf8.UTFMax + len(rest)) - defer func() { - poolOfBuffers.RedeemBuffer(b) - }() - b.WriteRune(unicode.ToUpper(first)) - b.WriteString(lower(rest)) - return b.String() - } - - return l.original -} - -func (l nameLexem) GetOriginal() string { - return l.original -} - -func (l nameLexem) IsInitialism() bool { - return l.kind == lexemKindInitialismName -} diff --git a/vendor/github.com/go-openapi/swag/netutils/LICENSE b/vendor/github.com/go-openapi/swag/netutils/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/netutils/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/netutils/doc.go b/vendor/github.com/go-openapi/swag/netutils/doc.go new file mode 100644 index 000000000..ed6d8a022 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/netutils/doc.go @@ -0,0 +1,16 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package netutils provides helpers for network-related tasks. +package netutils diff --git a/vendor/github.com/go-openapi/swag/net.go b/vendor/github.com/go-openapi/swag/netutils/net.go similarity index 85% rename from vendor/github.com/go-openapi/swag/net.go rename to vendor/github.com/go-openapi/swag/netutils/net.go index 821235f84..3d0182fc5 100644 --- a/vendor/github.com/go-openapi/swag/net.go +++ b/vendor/github.com/go-openapi/swag/netutils/net.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package swag +package netutils import ( "net" @@ -20,7 +20,10 @@ import ( ) // SplitHostPort splits a network address into a host and a port. -// The port is -1 when there is no port to be found +// +// The difference with the standard net.SplitHostPort is that the port is converted to an int. +// +// The port is -1 when there is no port to be found. func SplitHostPort(addr string) (host string, port int, err error) { h, p, err := net.SplitHostPort(addr) if err != nil { @@ -34,5 +37,6 @@ func SplitHostPort(addr string) (host string, port int, err error) { if err != nil { return "", -1, err } + return h, pi, nil } diff --git a/vendor/github.com/go-openapi/swag/netutils_iface.go b/vendor/github.com/go-openapi/swag/netutils_iface.go new file mode 100644 index 000000000..537314e36 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/netutils_iface.go @@ -0,0 +1,24 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import "github.com/go-openapi/swag/netutils" + +// SplitHostPort splits a network address into a host and a port. +// +// Deprecated: use [netutils.SplitHostPort] instead. +func SplitHostPort(addr string) (host string, port int, err error) { + return netutils.SplitHostPort(addr) +} diff --git a/vendor/github.com/go-openapi/swag/string_bytes.go b/vendor/github.com/go-openapi/swag/string_bytes.go deleted file mode 100644 index 90745d5ca..000000000 --- a/vendor/github.com/go-openapi/swag/string_bytes.go +++ /dev/null @@ -1,8 +0,0 @@ -package swag - -import "unsafe" - -// hackStringBytes returns the (unsafe) underlying bytes slice of a string. -func hackStringBytes(str string) []byte { - return unsafe.Slice(unsafe.StringData(str), len(str)) -} diff --git a/vendor/github.com/go-openapi/swag/stringutils/LICENSE b/vendor/github.com/go-openapi/swag/stringutils/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/stringutils/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/stringutils/collection_formats.go b/vendor/github.com/go-openapi/swag/stringutils/collection_formats.go new file mode 100644 index 000000000..1ff96dcbd --- /dev/null +++ b/vendor/github.com/go-openapi/swag/stringutils/collection_formats.go @@ -0,0 +1,85 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package stringutils + +import "strings" + +const ( + // collectionFormatComma = "csv" + collectionFormatSpace = "ssv" + collectionFormatTab = "tsv" + collectionFormatPipe = "pipes" + collectionFormatMulti = "multi" + + collectionFormatDefaultSep = "," +) + +// JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute): +// +// ssv: space separated value +// tsv: tab separated value +// pipes: pipe (|) separated value +// csv: comma separated value (default) +func JoinByFormat(data []string, format string) []string { + if len(data) == 0 { + return data + } + var sep string + switch format { + case collectionFormatSpace: + sep = " " + case collectionFormatTab: + sep = "\t" + case collectionFormatPipe: + sep = "|" + case collectionFormatMulti: + return data + default: + sep = collectionFormatDefaultSep + } + return []string{strings.Join(data, sep)} +} + +// SplitByFormat splits a string by a known format: +// +// ssv: space separated value +// tsv: tab separated value +// pipes: pipe (|) separated value +// csv: comma separated value (default) +func SplitByFormat(data, format string) []string { + if data == "" { + return nil + } + var sep string + switch format { + case collectionFormatSpace: + sep = " " + case collectionFormatTab: + sep = "\t" + case collectionFormatPipe: + sep = "|" + case collectionFormatMulti: + return nil + default: + sep = collectionFormatDefaultSep + } + var result []string + for _, s := range strings.Split(data, sep) { + if ts := strings.TrimSpace(s); ts != "" { + result = append(result, ts) + } + } + return result +} diff --git a/vendor/github.com/go-openapi/swag/stringutils/doc.go b/vendor/github.com/go-openapi/swag/stringutils/doc.go new file mode 100644 index 000000000..b5d18e517 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/stringutils/doc.go @@ -0,0 +1,16 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package stringutils exposes helpers to search and process strings. +package stringutils diff --git a/vendor/github.com/go-openapi/swag/stringutils/strings.go b/vendor/github.com/go-openapi/swag/stringutils/strings.go new file mode 100644 index 000000000..086592317 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/stringutils/strings.go @@ -0,0 +1,34 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package stringutils + +import ( + "slices" + "strings" +) + +// ContainsStrings searches a slice of strings for a case-sensitive match +// +// Now equivalent to the standard library [slice.Contains]. +func ContainsStrings(coll []string, item string) bool { + return slices.Contains(coll, item) +} + +// ContainsStringsCI searches a slice of strings for a case-insensitive match +func ContainsStringsCI(coll []string, item string) bool { + return slices.ContainsFunc(coll, func(e string) bool { + return strings.EqualFold(e, item) + }) +} diff --git a/vendor/github.com/go-openapi/swag/stringutils_iface.go b/vendor/github.com/go-openapi/swag/stringutils_iface.go new file mode 100644 index 000000000..00d7e0212 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/stringutils_iface.go @@ -0,0 +1,45 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import "github.com/go-openapi/swag/stringutils" + +// ContainsStrings searches a slice of strings for a case-sensitive match. +// +// Deprecated: use [slices.Contains] or [stringutils.ContainsStrings] instead. +func ContainsStrings(coll []string, item string) bool { + return stringutils.ContainsStrings(coll, item) +} + +// ContainsStringsCI searches a slice of strings for a case-insensitive match. +// +// Deprecated: use [stringutils.ContainsStringsCI] instead. +func ContainsStringsCI(coll []string, item string) bool { + return stringutils.ContainsStringsCI(coll, item) +} + +// JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute). +// +// Deprecated: use [stringutils.JoinByFormat] instead. +func JoinByFormat(data []string, format string) []string { + return stringutils.JoinByFormat(data, format) +} + +// SplitByFormat splits a string by a known format. +// +// Deprecated: use [stringutils.SplitByFormat] instead. +func SplitByFormat(data, format string) []string { + return stringutils.SplitByFormat(data, format) +} diff --git a/vendor/github.com/go-openapi/swag/typeutils/LICENSE b/vendor/github.com/go-openapi/swag/typeutils/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/typeutils/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/typeutils/doc.go b/vendor/github.com/go-openapi/swag/typeutils/doc.go new file mode 100644 index 000000000..67e49d12e --- /dev/null +++ b/vendor/github.com/go-openapi/swag/typeutils/doc.go @@ -0,0 +1,16 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package typeutils exposes utilities to inspect generic types. +package typeutils diff --git a/vendor/github.com/go-openapi/swag/typeutils/types.go b/vendor/github.com/go-openapi/swag/typeutils/types.go new file mode 100644 index 000000000..8a29aa9c2 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/typeutils/types.go @@ -0,0 +1,59 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package typeutils + +import "reflect" + +type zeroable interface { + IsZero() bool +} + +// IsZero returns true when the value passed into the function is a zero value. +// This allows for safer checking of interface values. +func IsZero(data interface{}) bool { + v := reflect.ValueOf(data) + // check for nil data + switch v.Kind() { //nolint:exhaustive + case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + if v.IsNil() { + return true + } + } + + // check for things that have an IsZero method instead + if vv, ok := data.(zeroable); ok { + return vv.IsZero() + } + + // continue with slightly more complex reflection + switch v.Kind() { //nolint:exhaustive + case reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Struct, reflect.Array: + return reflect.DeepEqual(data, reflect.Zero(v.Type()).Interface()) + case reflect.Invalid: + return true + default: + return false + } +} diff --git a/vendor/github.com/go-openapi/swag/typeutils_iface.go b/vendor/github.com/go-openapi/swag/typeutils_iface.go new file mode 100644 index 000000000..b104a8040 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/typeutils_iface.go @@ -0,0 +1,23 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import "github.com/go-openapi/swag/typeutils" + +// IsZero returns true when the value passed into the function is a zero value. +// This allows for safer checking of interface values. +// +// Deprecated: use [typeutils.IsZero] instead. +func IsZero(data interface{}) bool { return typeutils.IsZero(data) } diff --git a/vendor/github.com/go-openapi/swag/util.go b/vendor/github.com/go-openapi/swag/util.go deleted file mode 100644 index 5051401c4..000000000 --- a/vendor/github.com/go-openapi/swag/util.go +++ /dev/null @@ -1,364 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package swag - -import ( - "reflect" - "strings" - "unicode" - "unicode/utf8" -) - -// GoNamePrefixFunc sets an optional rule to prefix go names -// which do not start with a letter. -// -// The prefix function is assumed to return a string that starts with an upper case letter. -// -// e.g. to help convert "123" into "{prefix}123" -// -// The default is to prefix with "X" -var GoNamePrefixFunc func(string) string - -func prefixFunc(name, in string) string { - if GoNamePrefixFunc == nil { - return "X" + in - } - - return GoNamePrefixFunc(name) + in -} - -const ( - // collectionFormatComma = "csv" - collectionFormatSpace = "ssv" - collectionFormatTab = "tsv" - collectionFormatPipe = "pipes" - collectionFormatMulti = "multi" -) - -// JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute): -// -// ssv: space separated value -// tsv: tab separated value -// pipes: pipe (|) separated value -// csv: comma separated value (default) -func JoinByFormat(data []string, format string) []string { - if len(data) == 0 { - return data - } - var sep string - switch format { - case collectionFormatSpace: - sep = " " - case collectionFormatTab: - sep = "\t" - case collectionFormatPipe: - sep = "|" - case collectionFormatMulti: - return data - default: - sep = "," - } - return []string{strings.Join(data, sep)} -} - -// SplitByFormat splits a string by a known format: -// -// ssv: space separated value -// tsv: tab separated value -// pipes: pipe (|) separated value -// csv: comma separated value (default) -func SplitByFormat(data, format string) []string { - if data == "" { - return nil - } - var sep string - switch format { - case collectionFormatSpace: - sep = " " - case collectionFormatTab: - sep = "\t" - case collectionFormatPipe: - sep = "|" - case collectionFormatMulti: - return nil - default: - sep = "," - } - var result []string - for _, s := range strings.Split(data, sep) { - if ts := strings.TrimSpace(s); ts != "" { - result = append(result, ts) - } - } - return result -} - -// Removes leading whitespaces -func trim(str string) string { - return strings.TrimSpace(str) -} - -// Shortcut to strings.ToUpper() -func upper(str string) string { - return strings.ToUpper(trim(str)) -} - -// Shortcut to strings.ToLower() -func lower(str string) string { - return strings.ToLower(trim(str)) -} - -// Camelize an uppercased word -func Camelize(word string) string { - camelized := poolOfBuffers.BorrowBuffer(len(word)) - defer func() { - poolOfBuffers.RedeemBuffer(camelized) - }() - - for pos, ru := range []rune(word) { - if pos > 0 { - camelized.WriteRune(unicode.ToLower(ru)) - } else { - camelized.WriteRune(unicode.ToUpper(ru)) - } - } - return camelized.String() -} - -// ToFileName lowercases and underscores a go type name -func ToFileName(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for _, w := range in { - out = append(out, lower(w)) - } - - return strings.Join(out, "_") -} - -// ToCommandName lowercases and underscores a go type name -func ToCommandName(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for _, w := range in { - out = append(out, lower(w)) - } - return strings.Join(out, "-") -} - -// ToHumanNameLower represents a code name as a human series of words -func ToHumanNameLower(name string) string { - s := poolOfSplitters.BorrowSplitter(withPostSplitInitialismCheck) - in := s.split(name) - poolOfSplitters.RedeemSplitter(s) - out := make([]string, 0, len(*in)) - - for _, w := range *in { - if !w.IsInitialism() { - out = append(out, lower(w.GetOriginal())) - } else { - out = append(out, trim(w.GetOriginal())) - } - } - poolOfLexems.RedeemLexems(in) - - return strings.Join(out, " ") -} - -// ToHumanNameTitle represents a code name as a human series of words with the first letters titleized -func ToHumanNameTitle(name string) string { - s := poolOfSplitters.BorrowSplitter(withPostSplitInitialismCheck) - in := s.split(name) - poolOfSplitters.RedeemSplitter(s) - - out := make([]string, 0, len(*in)) - for _, w := range *in { - original := trim(w.GetOriginal()) - if !w.IsInitialism() { - out = append(out, Camelize(original)) - } else { - out = append(out, original) - } - } - poolOfLexems.RedeemLexems(in) - - return strings.Join(out, " ") -} - -// ToJSONName camelcases a name which can be underscored or pascal cased -func ToJSONName(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for i, w := range in { - if i == 0 { - out = append(out, lower(w)) - continue - } - out = append(out, Camelize(trim(w))) - } - return strings.Join(out, "") -} - -// ToVarName camelcases a name which can be underscored or pascal cased -func ToVarName(name string) string { - res := ToGoName(name) - if isInitialism(res) { - return lower(res) - } - if len(res) <= 1 { - return lower(res) - } - return lower(res[:1]) + res[1:] -} - -// ToGoName translates a swagger name which can be underscored or camel cased to a name that golint likes -func ToGoName(name string) string { - s := poolOfSplitters.BorrowSplitter(withPostSplitInitialismCheck) - lexems := s.split(name) - poolOfSplitters.RedeemSplitter(s) - defer func() { - poolOfLexems.RedeemLexems(lexems) - }() - lexemes := *lexems - - if len(lexemes) == 0 { - return "" - } - - result := poolOfBuffers.BorrowBuffer(len(name)) - defer func() { - poolOfBuffers.RedeemBuffer(result) - }() - - // check if not starting with a letter, upper case - firstPart := lexemes[0].GetUnsafeGoName() - if lexemes[0].IsInitialism() { - firstPart = upper(firstPart) - } - - if c := firstPart[0]; c < utf8.RuneSelf { - // ASCII - switch { - case 'A' <= c && c <= 'Z': - result.WriteString(firstPart) - case 'a' <= c && c <= 'z': - result.WriteByte(c - 'a' + 'A') - result.WriteString(firstPart[1:]) - default: - result.WriteString(prefixFunc(name, firstPart)) - // NOTE: no longer check if prefixFunc returns a string that starts with uppercase: - // assume this is always the case - } - } else { - // unicode - firstRune, _ := utf8.DecodeRuneInString(firstPart) - switch { - case !unicode.IsLetter(firstRune): - result.WriteString(prefixFunc(name, firstPart)) - case !unicode.IsUpper(firstRune): - result.WriteString(prefixFunc(name, firstPart)) - /* - result.WriteRune(unicode.ToUpper(firstRune)) - result.WriteString(firstPart[offset:]) - */ - default: - result.WriteString(firstPart) - } - } - - for _, lexem := range lexemes[1:] { - goName := lexem.GetUnsafeGoName() - - // to support old behavior - if lexem.IsInitialism() { - goName = upper(goName) - } - result.WriteString(goName) - } - - return result.String() -} - -// ContainsStrings searches a slice of strings for a case-sensitive match -func ContainsStrings(coll []string, item string) bool { - for _, a := range coll { - if a == item { - return true - } - } - return false -} - -// ContainsStringsCI searches a slice of strings for a case-insensitive match -func ContainsStringsCI(coll []string, item string) bool { - for _, a := range coll { - if strings.EqualFold(a, item) { - return true - } - } - return false -} - -type zeroable interface { - IsZero() bool -} - -// IsZero returns true when the value passed into the function is a zero value. -// This allows for safer checking of interface values. -func IsZero(data interface{}) bool { - v := reflect.ValueOf(data) - // check for nil data - switch v.Kind() { //nolint:exhaustive - case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: - if v.IsNil() { - return true - } - } - - // check for things that have an IsZero method instead - if vv, ok := data.(zeroable); ok { - return vv.IsZero() - } - - // continue with slightly more complex reflection - switch v.Kind() { //nolint:exhaustive - case reflect.String: - return v.Len() == 0 - case reflect.Bool: - return !v.Bool() - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - return v.Int() == 0 - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - return v.Uint() == 0 - case reflect.Float32, reflect.Float64: - return v.Float() == 0 - case reflect.Struct, reflect.Array: - return reflect.DeepEqual(data, reflect.Zero(v.Type()).Interface()) - case reflect.Invalid: - return true - default: - return false - } -} - -// CommandLineOptionsGroup represents a group of user-defined command line options -type CommandLineOptionsGroup struct { - ShortDescription string - LongDescription string - Options interface{} -} diff --git a/vendor/github.com/go-openapi/swag/yaml.go b/vendor/github.com/go-openapi/swag/yaml.go deleted file mode 100644 index 575346539..000000000 --- a/vendor/github.com/go-openapi/swag/yaml.go +++ /dev/null @@ -1,481 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package swag - -import ( - "encoding/json" - "fmt" - "path/filepath" - "reflect" - "sort" - "strconv" - - "github.com/mailru/easyjson/jlexer" - "github.com/mailru/easyjson/jwriter" - yaml "gopkg.in/yaml.v3" -) - -// YAMLMatcher matches yaml -func YAMLMatcher(path string) bool { - ext := filepath.Ext(path) - return ext == ".yaml" || ext == ".yml" -} - -// YAMLToJSON converts YAML unmarshaled data into json compatible data -func YAMLToJSON(data interface{}) (json.RawMessage, error) { - jm, err := transformData(data) - if err != nil { - return nil, err - } - b, err := WriteJSON(jm) - return json.RawMessage(b), err -} - -// BytesToYAMLDoc converts a byte slice into a YAML document -func BytesToYAMLDoc(data []byte) (interface{}, error) { - var document yaml.Node // preserve order that is present in the document - if err := yaml.Unmarshal(data, &document); err != nil { - return nil, err - } - if document.Kind != yaml.DocumentNode || len(document.Content) != 1 || document.Content[0].Kind != yaml.MappingNode { - return nil, fmt.Errorf("only YAML documents that are objects are supported: %w", ErrYAML) - } - return &document, nil -} - -func yamlNode(root *yaml.Node) (interface{}, error) { - switch root.Kind { - case yaml.DocumentNode: - return yamlDocument(root) - case yaml.SequenceNode: - return yamlSequence(root) - case yaml.MappingNode: - return yamlMapping(root) - case yaml.ScalarNode: - return yamlScalar(root) - case yaml.AliasNode: - return yamlNode(root.Alias) - default: - return nil, fmt.Errorf("unsupported YAML node type: %v: %w", root.Kind, ErrYAML) - } -} - -func yamlDocument(node *yaml.Node) (interface{}, error) { - if len(node.Content) != 1 { - return nil, fmt.Errorf("unexpected YAML Document node content length: %d: %w", len(node.Content), ErrYAML) - } - return yamlNode(node.Content[0]) -} - -func yamlMapping(node *yaml.Node) (interface{}, error) { - const sensibleAllocDivider = 2 - m := make(JSONMapSlice, len(node.Content)/sensibleAllocDivider) - - var j int - for i := 0; i < len(node.Content); i += 2 { - var nmi JSONMapItem - k, err := yamlStringScalarC(node.Content[i]) - if err != nil { - return nil, fmt.Errorf("unable to decode YAML map key: %w: %w", err, ErrYAML) - } - nmi.Key = k - v, err := yamlNode(node.Content[i+1]) - if err != nil { - return nil, fmt.Errorf("unable to process YAML map value for key %q: %w: %w", k, err, ErrYAML) - } - nmi.Value = v - m[j] = nmi - j++ - } - return m, nil -} - -func yamlSequence(node *yaml.Node) (interface{}, error) { - s := make([]interface{}, 0) - - for i := 0; i < len(node.Content); i++ { - - v, err := yamlNode(node.Content[i]) - if err != nil { - return nil, fmt.Errorf("unable to decode YAML sequence value: %w: %w", err, ErrYAML) - } - s = append(s, v) - } - return s, nil -} - -const ( // See https://yaml.org/type/ - yamlStringScalar = "tag:yaml.org,2002:str" - yamlIntScalar = "tag:yaml.org,2002:int" - yamlBoolScalar = "tag:yaml.org,2002:bool" - yamlFloatScalar = "tag:yaml.org,2002:float" - yamlTimestamp = "tag:yaml.org,2002:timestamp" - yamlNull = "tag:yaml.org,2002:null" -) - -func yamlScalar(node *yaml.Node) (interface{}, error) { - switch node.LongTag() { - case yamlStringScalar: - return node.Value, nil - case yamlBoolScalar: - b, err := strconv.ParseBool(node.Value) - if err != nil { - return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting bool content: %w: %w", node.Value, err, ErrYAML) - } - return b, nil - case yamlIntScalar: - i, err := strconv.ParseInt(node.Value, 10, 64) - if err != nil { - return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting integer content: %w: %w", node.Value, err, ErrYAML) - } - return i, nil - case yamlFloatScalar: - f, err := strconv.ParseFloat(node.Value, 64) - if err != nil { - return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting float content: %w: %w", node.Value, err, ErrYAML) - } - return f, nil - case yamlTimestamp: - return node.Value, nil - case yamlNull: - return nil, nil //nolint:nilnil - default: - return nil, fmt.Errorf("YAML tag %q is not supported: %w", node.LongTag(), ErrYAML) - } -} - -func yamlStringScalarC(node *yaml.Node) (string, error) { - if node.Kind != yaml.ScalarNode { - return "", fmt.Errorf("expecting a string scalar but got %q: %w", node.Kind, ErrYAML) - } - switch node.LongTag() { - case yamlStringScalar, yamlIntScalar, yamlFloatScalar: - return node.Value, nil - default: - return "", fmt.Errorf("YAML tag %q is not supported as map key: %w", node.LongTag(), ErrYAML) - } -} - -// JSONMapSlice represent a JSON object, with the order of keys maintained -type JSONMapSlice []JSONMapItem - -// MarshalJSON renders a JSONMapSlice as JSON -func (s JSONMapSlice) MarshalJSON() ([]byte, error) { - w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} - s.MarshalEasyJSON(w) - return w.BuildBytes() -} - -// MarshalEasyJSON renders a JSONMapSlice as JSON, using easyJSON -func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer) { - w.RawByte('{') - - ln := len(s) - last := ln - 1 - for i := 0; i < ln; i++ { - s[i].MarshalEasyJSON(w) - if i != last { // last item - w.RawByte(',') - } - } - - w.RawByte('}') -} - -// UnmarshalJSON makes a JSONMapSlice from JSON -func (s *JSONMapSlice) UnmarshalJSON(data []byte) error { - l := jlexer.Lexer{Data: data} - s.UnmarshalEasyJSON(&l) - return l.Error() -} - -// UnmarshalEasyJSON makes a JSONMapSlice from JSON, using easyJSON -func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer) { - if in.IsNull() { - in.Skip() - return - } - - var result JSONMapSlice - in.Delim('{') - for !in.IsDelim('}') { - var mi JSONMapItem - mi.UnmarshalEasyJSON(in) - result = append(result, mi) - } - *s = result -} - -func (s JSONMapSlice) MarshalYAML() (interface{}, error) { - var n yaml.Node - n.Kind = yaml.DocumentNode - var nodes []*yaml.Node - for _, item := range s { - nn, err := json2yaml(item.Value) - if err != nil { - return nil, err - } - ns := []*yaml.Node{ - { - Kind: yaml.ScalarNode, - Tag: yamlStringScalar, - Value: item.Key, - }, - nn, - } - nodes = append(nodes, ns...) - } - - n.Content = []*yaml.Node{ - { - Kind: yaml.MappingNode, - Content: nodes, - }, - } - - return yaml.Marshal(&n) -} - -func isNil(input interface{}) bool { - if input == nil { - return true - } - kind := reflect.TypeOf(input).Kind() - switch kind { //nolint:exhaustive - case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan: - return reflect.ValueOf(input).IsNil() - default: - return false - } -} - -func json2yaml(item interface{}) (*yaml.Node, error) { - if isNil(item) { - return &yaml.Node{ - Kind: yaml.ScalarNode, - Value: "null", - }, nil - } - - switch val := item.(type) { - case JSONMapSlice: - var n yaml.Node - n.Kind = yaml.MappingNode - for i := range val { - childNode, err := json2yaml(&val[i].Value) - if err != nil { - return nil, err - } - n.Content = append(n.Content, &yaml.Node{ - Kind: yaml.ScalarNode, - Tag: yamlStringScalar, - Value: val[i].Key, - }, childNode) - } - return &n, nil - case map[string]interface{}: - var n yaml.Node - n.Kind = yaml.MappingNode - keys := make([]string, 0, len(val)) - for k := range val { - keys = append(keys, k) - } - sort.Strings(keys) - - for _, k := range keys { - v := val[k] - childNode, err := json2yaml(v) - if err != nil { - return nil, err - } - n.Content = append(n.Content, &yaml.Node{ - Kind: yaml.ScalarNode, - Tag: yamlStringScalar, - Value: k, - }, childNode) - } - return &n, nil - case []interface{}: - var n yaml.Node - n.Kind = yaml.SequenceNode - for i := range val { - childNode, err := json2yaml(val[i]) - if err != nil { - return nil, err - } - n.Content = append(n.Content, childNode) - } - return &n, nil - case string: - return &yaml.Node{ - Kind: yaml.ScalarNode, - Tag: yamlStringScalar, - Value: val, - }, nil - case float64: - return &yaml.Node{ - Kind: yaml.ScalarNode, - Tag: yamlFloatScalar, - Value: strconv.FormatFloat(val, 'f', -1, 64), - }, nil - case int64: - return &yaml.Node{ - Kind: yaml.ScalarNode, - Tag: yamlIntScalar, - Value: strconv.FormatInt(val, 10), - }, nil - case uint64: - return &yaml.Node{ - Kind: yaml.ScalarNode, - Tag: yamlIntScalar, - Value: strconv.FormatUint(val, 10), - }, nil - case bool: - return &yaml.Node{ - Kind: yaml.ScalarNode, - Tag: yamlBoolScalar, - Value: strconv.FormatBool(val), - }, nil - default: - return nil, fmt.Errorf("unhandled type: %T: %w", val, ErrYAML) - } -} - -// JSONMapItem represents the value of a key in a JSON object held by JSONMapSlice -type JSONMapItem struct { - Key string - Value interface{} -} - -// MarshalJSON renders a JSONMapItem as JSON -func (s JSONMapItem) MarshalJSON() ([]byte, error) { - w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} - s.MarshalEasyJSON(w) - return w.BuildBytes() -} - -// MarshalEasyJSON renders a JSONMapItem as JSON, using easyJSON -func (s JSONMapItem) MarshalEasyJSON(w *jwriter.Writer) { - w.String(s.Key) - w.RawByte(':') - w.Raw(WriteJSON(s.Value)) -} - -// UnmarshalJSON makes a JSONMapItem from JSON -func (s *JSONMapItem) UnmarshalJSON(data []byte) error { - l := jlexer.Lexer{Data: data} - s.UnmarshalEasyJSON(&l) - return l.Error() -} - -// UnmarshalEasyJSON makes a JSONMapItem from JSON, using easyJSON -func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer) { - key := in.UnsafeString() - in.WantColon() - value := in.Interface() - in.WantComma() - s.Key = key - s.Value = value -} - -func transformData(input interface{}) (out interface{}, err error) { - format := func(t interface{}) (string, error) { - switch k := t.(type) { - case string: - return k, nil - case uint: - return strconv.FormatUint(uint64(k), 10), nil - case uint8: - return strconv.FormatUint(uint64(k), 10), nil - case uint16: - return strconv.FormatUint(uint64(k), 10), nil - case uint32: - return strconv.FormatUint(uint64(k), 10), nil - case uint64: - return strconv.FormatUint(k, 10), nil - case int: - return strconv.Itoa(k), nil - case int8: - return strconv.FormatInt(int64(k), 10), nil - case int16: - return strconv.FormatInt(int64(k), 10), nil - case int32: - return strconv.FormatInt(int64(k), 10), nil - case int64: - return strconv.FormatInt(k, 10), nil - default: - return "", fmt.Errorf("unexpected map key type, got: %T: %w", k, ErrYAML) - } - } - - switch in := input.(type) { - case yaml.Node: - return yamlNode(&in) - case *yaml.Node: - return yamlNode(in) - case map[interface{}]interface{}: - o := make(JSONMapSlice, 0, len(in)) - for ke, va := range in { - var nmi JSONMapItem - if nmi.Key, err = format(ke); err != nil { - return nil, err - } - - v, ert := transformData(va) - if ert != nil { - return nil, ert - } - nmi.Value = v - o = append(o, nmi) - } - return o, nil - case []interface{}: - len1 := len(in) - o := make([]interface{}, len1) - for i := 0; i < len1; i++ { - o[i], err = transformData(in[i]) - if err != nil { - return nil, err - } - } - return o, nil - } - return input, nil -} - -// YAMLDoc loads a yaml document from either http or a file and converts it to json -func YAMLDoc(path string) (json.RawMessage, error) { - yamlDoc, err := YAMLData(path) - if err != nil { - return nil, err - } - - data, err := YAMLToJSON(yamlDoc) - if err != nil { - return nil, err - } - - return data, nil -} - -// YAMLData loads a yaml document from either http or a file -func YAMLData(path string) (interface{}, error) { - data, err := LoadFromFileOrHTTP(path) - if err != nil { - return nil, err - } - - return BytesToYAMLDoc(data) -} diff --git a/vendor/github.com/go-openapi/swag/yamlutils/LICENSE b/vendor/github.com/go-openapi/swag/yamlutils/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/yamlutils/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/yamlutils/doc.go b/vendor/github.com/go-openapi/swag/yamlutils/doc.go new file mode 100644 index 000000000..c8454c95f --- /dev/null +++ b/vendor/github.com/go-openapi/swag/yamlutils/doc.go @@ -0,0 +1,16 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package yamlutils provides utilities to work with YAML documents. +package yamlutils diff --git a/vendor/github.com/go-openapi/swag/yamlutils/errors.go b/vendor/github.com/go-openapi/swag/yamlutils/errors.go new file mode 100644 index 000000000..014f227d9 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/yamlutils/errors.go @@ -0,0 +1,26 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yamlutils + +type yamlError string + +const ( + // ErrYAML is an error raised by YAML utilities + ErrYAML yamlError = "yaml error" +) + +func (e yamlError) Error() string { + return string(e) +} diff --git a/vendor/github.com/go-openapi/swag/yamlutils/ordered_map.go b/vendor/github.com/go-openapi/swag/yamlutils/ordered_map.go new file mode 100644 index 000000000..c12bcc19b --- /dev/null +++ b/vendor/github.com/go-openapi/swag/yamlutils/ordered_map.go @@ -0,0 +1,210 @@ +package yamlutils + +import ( + "fmt" + "reflect" + "sort" + "strconv" + + "github.com/go-openapi/swag/jsonutils" + yaml "gopkg.in/yaml.v3" +) + +var ( + _ yaml.Marshaler = YAMLMapSlice{} + // _ yaml.Unmarshaler = &YAMLMapSlice{} // TODO: implement yaml.Unmarshaler +) + +// YAMLMapSlice represents a YAML object, with the order of keys maintained. +// +// It is similar to [jsonutils.JSONMapSlice] and also knows how to marshal and unmarshal YAML. +type YAMLMapSlice []YAMLMapItem + +// YAMLMapItem represents the value of a key in a YAML object held by [YAMLMapSlice]. +// +// It is entirely equivalent to [jsonutils.JSONMapItem], with the same limitation that +// you should not Marshal or Unmarshal directly this type, outside of a [YAMLMapSlice]. +type YAMLMapItem = jsonutils.JSONMapItem + +// MarshalJSON renders this YAML object as JSON bytes. +func (s YAMLMapSlice) MarshalJSON() ([]byte, error) { + return jsonutils.JSONMapSlice(s).MarshalJSON() +} + +// UnmarshalJSON builds this YAML object from JSON bytes. +func (s *YAMLMapSlice) UnmarshalJSON(data []byte) error { + js := jsonutils.JSONMapSlice(*s) + + if err := js.UnmarshalJSON(data); err != nil { + return err + } + + *s = YAMLMapSlice(js) + + return nil +} + +// MarshalYAML produces a YAML document as bytes +func (s YAMLMapSlice) MarshalYAML() (interface{}, error) { + var n yaml.Node + n.Kind = yaml.DocumentNode + var nodes []*yaml.Node + + for _, item := range s { + nn, err := json2yaml(item.Value) + if err != nil { + return nil, err + } + + ns := []*yaml.Node{ + { + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: item.Key, + }, + nn, + } + nodes = append(nodes, ns...) + } + + n.Content = []*yaml.Node{ + { + Kind: yaml.MappingNode, + Content: nodes, + }, + } + + return yaml.Marshal(&n) +} + +/* +// UnmarshalYAML builds a YAMLMapSlice object from a YAML document [yaml.Node]. +func (s *YAMLMapSlice) UnmarshalYAML(value *yaml.Node) error { + panic("not implemented") + + return nil +} +*/ + +func isNil(input interface{}) bool { + if input == nil { + return true + } + kind := reflect.TypeOf(input).Kind() + switch kind { //nolint:exhaustive + case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan: + return reflect.ValueOf(input).IsNil() + default: + return false + } +} + +func json2yaml(item interface{}) (*yaml.Node, error) { + if isNil(item) { + return &yaml.Node{ + Kind: yaml.ScalarNode, + Value: "null", + }, nil + } + + switch val := item.(type) { + case YAMLMapSlice: + var n yaml.Node + n.Kind = yaml.MappingNode + for i := range val { + childNode, err := json2yaml(val[i].Value) + if err != nil { + return nil, err + } + n.Content = append(n.Content, &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: val[i].Key, + }, childNode) + } + return &n, nil + + case jsonutils.JSONMapSlice: + var n yaml.Node + n.Kind = yaml.MappingNode + for i := range val { + childNode, err := json2yaml(val[i].Value) + if err != nil { + return nil, err + } + n.Content = append(n.Content, &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: val[i].Key, + }, childNode) + } + return &n, nil + + case map[string]interface{}: + var n yaml.Node + n.Kind = yaml.MappingNode + keys := make([]string, 0, len(val)) + for k := range val { + keys = append(keys, k) + } + sort.Strings(keys) + + for _, k := range keys { + v := val[k] + childNode, err := json2yaml(v) + if err != nil { + return nil, err + } + n.Content = append(n.Content, &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: k, + }, childNode) + } + return &n, nil + + case []interface{}: + var n yaml.Node + n.Kind = yaml.SequenceNode + for i := range val { + childNode, err := json2yaml(val[i]) + if err != nil { + return nil, err + } + n.Content = append(n.Content, childNode) + } + return &n, nil + case string: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: val, + }, nil + case float64: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlFloatScalar, + Value: strconv.FormatFloat(val, 'f', -1, 64), + }, nil + case int64: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlIntScalar, + Value: strconv.FormatInt(val, 10), + }, nil + case uint64: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlIntScalar, + Value: strconv.FormatUint(val, 10), + }, nil + case bool: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlBoolScalar, + Value: strconv.FormatBool(val), + }, nil + default: + return nil, fmt.Errorf("unhandled type: %T: %w", val, ErrYAML) + } +} diff --git a/vendor/github.com/go-openapi/swag/yamlutils/yaml.go b/vendor/github.com/go-openapi/swag/yamlutils/yaml.go new file mode 100644 index 000000000..c7e88255f --- /dev/null +++ b/vendor/github.com/go-openapi/swag/yamlutils/yaml.go @@ -0,0 +1,233 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yamlutils + +import ( + json "encoding/json" + "fmt" + "strconv" + + "github.com/go-openapi/swag/jsonutils" + yaml "gopkg.in/yaml.v3" +) + +// YAMLToJSON converts a YAML document into JSON bytes. +// +// Note: a YAML document is the output from a [yaml.Marshaler], e.g a pointer to a [yaml.Node]. +func YAMLToJSON(value interface{}) (json.RawMessage, error) { + jm, err := transformData(value) + if err != nil { + return nil, err + } + + b, err := jsonutils.WriteJSON(jm) + + return json.RawMessage(b), err +} + +// BytesToYAMLDoc converts a byte slice into a YAML document. +// +// This function only supports root documents that are objects. +// +// A YAML document is a pointer to a [yaml.Node]. +func BytesToYAMLDoc(data []byte) (interface{}, error) { + var document yaml.Node // preserve order that is present in the document + if err := yaml.Unmarshal(data, &document); err != nil { + return nil, err + } + if document.Kind != yaml.DocumentNode || len(document.Content) != 1 || document.Content[0].Kind != yaml.MappingNode { + return nil, fmt.Errorf("only YAML documents that are objects are supported: %w", ErrYAML) + } + return &document, nil +} + +func yamlNode(root *yaml.Node) (interface{}, error) { + switch root.Kind { + case yaml.DocumentNode: + return yamlDocument(root) + case yaml.SequenceNode: + return yamlSequence(root) + case yaml.MappingNode: + return yamlMapping(root) + case yaml.ScalarNode: + return yamlScalar(root) + case yaml.AliasNode: + return yamlNode(root.Alias) + default: + return nil, fmt.Errorf("unsupported YAML node type: %v: %w", root.Kind, ErrYAML) + } +} + +func yamlDocument(node *yaml.Node) (interface{}, error) { + if len(node.Content) != 1 { + return nil, fmt.Errorf("unexpected YAML Document node content length: %d: %w", len(node.Content), ErrYAML) + } + return yamlNode(node.Content[0]) +} + +func yamlMapping(node *yaml.Node) (interface{}, error) { + const sensibleAllocDivider = 2 + m := make(YAMLMapSlice, len(node.Content)/sensibleAllocDivider) + + var j int + for i := 0; i < len(node.Content); i += 2 { + var nmi YAMLMapItem + k, err := yamlStringScalarC(node.Content[i]) + if err != nil { + return nil, fmt.Errorf("unable to decode YAML map key: %w: %w", err, ErrYAML) + } + nmi.Key = k + v, err := yamlNode(node.Content[i+1]) + if err != nil { + return nil, fmt.Errorf("unable to process YAML map value for key %q: %w: %w", k, err, ErrYAML) + } + nmi.Value = v + m[j] = nmi + j++ + } + return m, nil +} + +func yamlSequence(node *yaml.Node) (interface{}, error) { + s := make([]interface{}, 0) + + for i := 0; i < len(node.Content); i++ { + + v, err := yamlNode(node.Content[i]) + if err != nil { + return nil, fmt.Errorf("unable to decode YAML sequence value: %w: %w", err, ErrYAML) + } + s = append(s, v) + } + return s, nil +} + +const ( // See https://yaml.org/type/ + yamlStringScalar = "tag:yaml.org,2002:str" + yamlIntScalar = "tag:yaml.org,2002:int" + yamlBoolScalar = "tag:yaml.org,2002:bool" + yamlFloatScalar = "tag:yaml.org,2002:float" + yamlTimestamp = "tag:yaml.org,2002:timestamp" + yamlNull = "tag:yaml.org,2002:null" +) + +func yamlScalar(node *yaml.Node) (interface{}, error) { + switch node.LongTag() { + case yamlStringScalar: + return node.Value, nil + case yamlBoolScalar: + b, err := strconv.ParseBool(node.Value) + if err != nil { + return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting bool content: %w: %w", node.Value, err, ErrYAML) + } + return b, nil + case yamlIntScalar: + i, err := strconv.ParseInt(node.Value, 10, 64) + if err != nil { + return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting integer content: %w: %w", node.Value, err, ErrYAML) + } + return i, nil + case yamlFloatScalar: + f, err := strconv.ParseFloat(node.Value, 64) + if err != nil { + return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting float content: %w: %w", node.Value, err, ErrYAML) + } + return f, nil + case yamlTimestamp: + // YAML timestamp is marshaled as string, not time + return node.Value, nil + case yamlNull: + return nil, nil //nolint:nilnil + default: + return nil, fmt.Errorf("YAML tag %q is not supported: %w", node.LongTag(), ErrYAML) + } +} + +func yamlStringScalarC(node *yaml.Node) (string, error) { + if node.Kind != yaml.ScalarNode { + return "", fmt.Errorf("expecting a string scalar but got %q: %w", node.Kind, ErrYAML) + } + switch node.LongTag() { + case yamlStringScalar, yamlIntScalar, yamlFloatScalar: + return node.Value, nil + default: + return "", fmt.Errorf("YAML tag %q is not supported as map key: %w", node.LongTag(), ErrYAML) + } +} + +func transformData(input interface{}) (out interface{}, err error) { + format := func(t interface{}) (string, error) { + switch k := t.(type) { + case string: + return k, nil + case uint: + return strconv.FormatUint(uint64(k), 10), nil + case uint8: + return strconv.FormatUint(uint64(k), 10), nil + case uint16: + return strconv.FormatUint(uint64(k), 10), nil + case uint32: + return strconv.FormatUint(uint64(k), 10), nil + case uint64: + return strconv.FormatUint(k, 10), nil + case int: + return strconv.Itoa(k), nil + case int8: + return strconv.FormatInt(int64(k), 10), nil + case int16: + return strconv.FormatInt(int64(k), 10), nil + case int32: + return strconv.FormatInt(int64(k), 10), nil + case int64: + return strconv.FormatInt(k, 10), nil + default: + return "", fmt.Errorf("unexpected map key type, got: %T: %w", k, ErrYAML) + } + } + + switch in := input.(type) { + case yaml.Node: + return yamlNode(&in) + case *yaml.Node: + return yamlNode(in) + case map[interface{}]interface{}: + o := make(YAMLMapSlice, 0, len(in)) + for ke, va := range in { + var nmi YAMLMapItem + if nmi.Key, err = format(ke); err != nil { + return nil, err + } + + v, ert := transformData(va) + if ert != nil { + return nil, ert + } + nmi.Value = v + o = append(o, nmi) + } + return o, nil + case []interface{}: + len1 := len(in) + o := make([]interface{}, len1) + for i := 0; i < len1; i++ { + o[i], err = transformData(in[i]) + if err != nil { + return nil, err + } + } + return o, nil + } + return input, nil +} diff --git a/vendor/github.com/go-openapi/swag/yamlutils_iface.go b/vendor/github.com/go-openapi/swag/yamlutils_iface.go new file mode 100644 index 000000000..49e646486 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/yamlutils_iface.go @@ -0,0 +1,31 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "encoding/json" + + "github.com/go-openapi/swag/yamlutils" +) + +// YAMLToJSON converts YAML unmarshaled data into json compatible data +// +// Deprecated: use [yamlutils.YAMLToJSON] instead. +func YAMLToJSON(data interface{}) (json.RawMessage, error) { return yamlutils.YAMLToJSON(data) } + +// BytesToYAMLDoc converts a byte slice into a YAML document +// +// Deprecated: use [yamlutils.BytesToYAMLDoc] instead. +func BytesToYAMLDoc(data []byte) (interface{}, error) { return yamlutils.BytesToYAMLDoc(data) } diff --git a/vendor/github.com/google/go-jsonnet/.bazelignore b/vendor/github.com/google/go-jsonnet/.bazelignore new file mode 100644 index 000000000..88a364c81 --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/.bazelignore @@ -0,0 +1,2 @@ +cpp-jsonnet +examples/bazel diff --git a/vendor/github.com/google/go-jsonnet/.bazelversion b/vendor/github.com/google/go-jsonnet/.bazelversion new file mode 100644 index 000000000..18bb4182d --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/.bazelversion @@ -0,0 +1 @@ +7.5.0 diff --git a/vendor/github.com/google/go-jsonnet/.gitignore b/vendor/github.com/google/go-jsonnet/.gitignore index 1cbc83e6a..ee38818a6 100644 --- a/vendor/github.com/google/go-jsonnet/.gitignore +++ b/vendor/github.com/google/go-jsonnet/.gitignore @@ -8,11 +8,7 @@ coverage.out build/ dist/ gojsonnet.egg-info/ -/bazel-bin -/bazel-genfiles -/bazel-go-jsonnet -/bazel-out -/bazel-testlogs +bazel-* /dumpstdlibast # built binaries diff --git a/vendor/github.com/google/go-jsonnet/.golangci.yml b/vendor/github.com/google/go-jsonnet/.golangci.yml index 99f9de434..485299994 100644 --- a/vendor/github.com/google/go-jsonnet/.golangci.yml +++ b/vendor/github.com/google/go-jsonnet/.golangci.yml @@ -1,5 +1,3 @@ -run: - skip-files: ast/identifier_set.go linters: enable: - stylecheck diff --git a/vendor/github.com/google/go-jsonnet/.goreleaser.yml b/vendor/github.com/google/go-jsonnet/.goreleaser.yml index 4faaaf0e3..97da9b7ef 100644 --- a/vendor/github.com/google/go-jsonnet/.goreleaser.yml +++ b/vendor/github.com/google/go-jsonnet/.goreleaser.yml @@ -1,5 +1,6 @@ -# This is an example goreleaser.yaml file with some sane defaults. -# Make sure to check the documentation at http://goreleaser.com +# yaml-language-server: $schema=https://goreleaser.com/static/schema.json + +version: 2 builds: - env: @@ -9,13 +10,13 @@ builds: - windows - darwin goarch: - - 386 + - "386" - amd64 - arm - arm64 ignore: - goos: darwin - goarch: 386 + goarch: "386" id: jsonnet main: ./cmd/jsonnet @@ -30,13 +31,13 @@ builds: - windows - darwin goarch: - - 386 + - "386" - amd64 - arm - arm64 ignore: - goos: darwin - goarch: 386 + goarch: "386" id: jsonnetfmt main: ./cmd/jsonnetfmt @@ -49,13 +50,13 @@ builds: - windows - darwin goarch: - - 386 + - "386" - amd64 - arm - arm64 ignore: - goos: darwin - goarch: 386 + goarch: "386" id: jsonnet-lint main: ./cmd/jsonnet-lint @@ -68,29 +69,35 @@ builds: - windows - darwin goarch: - - 386 + - "386" - amd64 - arm - arm64 ignore: - goos: darwin - goarch: 386 + goarch: "386" id: jsonnet-deps main: ./cmd/jsonnet-deps binary: jsonnet-deps - archives: - - replacements: - darwin: Darwin - linux: Linux - windows: Windows - 386: i386 - amd64: x86_64 + - name_template: >- + {{- .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else if eq .Arch "386" }}i386 + {{- else }}{{ .Arch }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end -}} + checksum: name_template: "checksums.txt" +release: + draft: true + skip_upload: false + target_commitish: "{{ .Env.FROM_COMMITISH }}" + nfpms: - id: jsonnet package_name: jsonnet-go @@ -142,7 +149,7 @@ nfpms: # See: https://packages.ubuntu.com/jsonnet - jsonnet-lint - id: jsonnet-deps - package_name: jsonnet-deps-go + package_name: jsonnet-deps-go builds: - jsonnet-deps homepage: https://github.com/google/go-jsonnet diff --git a/vendor/github.com/google/go-jsonnet/.tool-versions b/vendor/github.com/google/go-jsonnet/.tool-versions deleted file mode 100644 index 41f7186d8..000000000 --- a/vendor/github.com/google/go-jsonnet/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -bazel 1.2.1 diff --git a/vendor/github.com/google/go-jsonnet/.travis.yml b/vendor/github.com/google/go-jsonnet/.travis.yml deleted file mode 100644 index e10ce0869..000000000 --- a/vendor/github.com/google/go-jsonnet/.travis.yml +++ /dev/null @@ -1,57 +0,0 @@ -language: go -sudo: false -matrix: - include: - - go: 1.x - - go: 1.13.x - - go: 1.x - arch: amd64 - - name: "arch: arm64" - go: 1.x - arch: arm64 - env: - - PYTHON_COMMAND=python3 - - name: "arch: i686" - go: 1.x - arch: amd64 - env: - - PYTHON_COMMAND=python3 - - GOARCH=386 - - CGO_ENABLED=1 - - SKIP_PYTHON_BINDINGS_TESTS=1 - - name: "arch: ppc64le" - go: 1.x - arch: ppc64le - env: - - PYTHON_COMMAND=python3 - - name: "Bazel Check" - go: 1.x - script: ./travisBazel.sh - before_install: - - echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list - - curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add - - - sudo apt-get update && sudo apt-get install bazel - - name: "Make Check go 1.x" - go: 1.x - before_install: - - echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list - - curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add - - - sudo apt-get update && sudo apt-get install bazel make - - sudo apt install python3-dev - - pip install -U pytest --user - script: make all - -before_install: - - sudo apt install python3-dev - - pip install -U pytest --user - - go get github.com/axw/gocov/gocov - - go get github.com/mattn/goveralls - - go get github.com/fatih/color - - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.27.0 - - if ! go get github.com/golang/tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi - - go get github.com/sergi/go-diff/diffmatchpatch - -script: ./travisBuild.sh - -env: - - PYTHON_COMMAND=python diff --git a/vendor/github.com/google/go-jsonnet/BUILD.bazel b/vendor/github.com/google/go-jsonnet/BUILD.bazel index 57fab299b..1e3279403 100644 --- a/vendor/github.com/google/go-jsonnet/BUILD.bazel +++ b/vendor/github.com/google/go-jsonnet/BUILD.bazel @@ -1,8 +1,8 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") load( "@bazel_gazelle//:def.bzl", "gazelle", ) +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") # gazelle:prefix github.com/google/go-jsonnet gazelle( @@ -13,6 +13,7 @@ go_library( name = "go_default_library", srcs = [ "builtins.go", + "debugger.go", "doc.go", "error_formatter.go", "imports.go", @@ -32,7 +33,9 @@ go_library( "//internal/errors:go_default_library", "//internal/parser:go_default_library", "//internal/program:go_default_library", + "//toolutils:go_default_library", "@io_k8s_sigs_yaml//:go_default_library", + "@org_golang_x_crypto//sha3:go_default_library", ], ) diff --git a/vendor/github.com/google/go-jsonnet/MODULE.bazel b/vendor/github.com/google/go-jsonnet/MODULE.bazel new file mode 100644 index 000000000..daacd76a0 --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/MODULE.bazel @@ -0,0 +1,46 @@ +module(name = "jsonnet_go", version = "0.21.0") + +http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +# NB: update_cpp_jsonnet.sh looks for these. +CPP_JSONNET_SHA256 = "f3b0bb65445568382ed7a5a985d1c950dad69415949bd7ee24938c5872da8685" +CPP_JSONNET_GITHASH = "bbb38f1020be1f5aed560928fb839b2c448cefb4" +CPP_JSONNET_RELEASE_VERSION = "v0.21.0" + +CPP_JSONNET_STRIP_PREFIX = ( + "jsonnet-" + ( + CPP_JSONNET_RELEASE_VERSION if CPP_JSONNET_RELEASE_VERSION else CPP_JSONNET_GITHASH + ) +) +CPP_JSONNET_URL = ( + "https://github.com/google/jsonnet/releases/download/%s/jsonnet-%s.tar.gz" % ( + CPP_JSONNET_RELEASE_VERSION, + CPP_JSONNET_RELEASE_VERSION, + ) if CPP_JSONNET_RELEASE_VERSION else "https://github.com/google/jsonnet/archive/%s.tar.gz" % CPP_JSONNET_GITHASH +) + +# We don't use a normal bazel_dep reference for the cpp_jsonnet module, +# because we want to pin to the specific jsonnet commit (which might not +# even exactly match a released version). +http_archive( + name = "cpp_jsonnet", + sha256 = CPP_JSONNET_SHA256, + strip_prefix = CPP_JSONNET_STRIP_PREFIX, + urls = [CPP_JSONNET_URL], +) + +bazel_dep(name = "gazelle", version = "0.42.0", repo_name = "bazel_gazelle") +bazel_dep(name = "rules_go", version = "0.53.0", repo_name = "io_bazel_rules_go") + +go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk") +go_sdk.download(version = "1.23.7") + +go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps") +go_deps.from_file(go_mod = "@jsonnet_go//:go.mod") +use_repo( + go_deps, + "com_github_fatih_color", + "com_github_sergi_go_diff", + "io_k8s_sigs_yaml", + "org_golang_x_crypto", +) diff --git a/vendor/github.com/google/go-jsonnet/MODULE.bazel.lock b/vendor/github.com/google/go-jsonnet/MODULE.bazel.lock new file mode 100644 index 000000000..f52f3de1b --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/MODULE.bazel.lock @@ -0,0 +1,1656 @@ +{ + "lockFileVersion": 13, + "registryFileHashes": { + "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", + "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/source.json": "7e3a9adf473e9af076ae485ed649d5641ad50ec5c11718103f34de03170d94ad", + "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", + "https://bcr.bazel.build/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", + "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", + "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", + "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", + "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", + "https://bcr.bazel.build/modules/bazel_features/1.18.0/source.json": "cde886d88c8164b50b9b97dba7c0a64ca24d257b72ca3a2fcb06bee1fdb47ee4", + "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", + "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", + "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", + "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", + "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", + "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", + "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", + "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", + "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", + "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", + "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", + "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", + "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", + "https://bcr.bazel.build/modules/gazelle/0.42.0/MODULE.bazel": "fa140a7c019f3a22779ba7c6132ffff9d2d10a51dba2f3304dee61523d11fef4", + "https://bcr.bazel.build/modules/gazelle/0.42.0/source.json": "eb6f7b0cb76c52d2679164910a01fa6ddcee409e6a7fee06e602ef259f65165c", + "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", + "https://bcr.bazel.build/modules/googletest/1.11.0/source.json": "c73d9ef4268c91bd0c1cd88f1f9dfa08e814b1dbe89b5f594a9f08ba0244d206", + "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", + "https://bcr.bazel.build/modules/platforms/0.0.10/source.json": "f22828ff4cf021a6b577f1bf6341cb9dcd7965092a439f64fc1bb3b7a5ae4bd5", + "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", + "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", + "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", + "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", + "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", + "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", + "https://bcr.bazel.build/modules/protobuf/21.7/source.json": "bbe500720421e582ff2d18b0802464205138c06056f443184de39fbb8187b09b", + "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", + "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", + "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", + "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", + "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", + "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", + "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", + "https://bcr.bazel.build/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", + "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", + "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", + "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", + "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", + "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", + "https://bcr.bazel.build/modules/rules_go/0.53.0/source.json": "c6dc34fb5bb8838652221a167d8f35ca3c8fdcbff8568f13cc75719802f95cff", + "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", + "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", + "https://bcr.bazel.build/modules/rules_java/7.6.5/source.json": "a805b889531d1690e3c72a7a7e47a870d00323186a9904b36af83aa3d053ee8d", + "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", + "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/source.json": "a075731e1b46bc8425098512d038d416e966ab19684a10a34f4741295642fc35", + "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", + "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", + "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", + "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", + "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", + "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", + "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", + "https://bcr.bazel.build/modules/rules_proto/6.0.0/source.json": "de77e10ff0ab16acbf54e6b46eecd37a99c5b290468ea1aee6e95eb1affdaed7", + "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", + "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", + "https://bcr.bazel.build/modules/rules_python/0.22.1/source.json": "57226905e783bae7c37c2dd662be078728e48fa28ee4324a7eabcafb5a43d014", + "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", + "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", + "https://bcr.bazel.build/modules/rules_shell/0.3.0/source.json": "c55ed591aa5009401ddf80ded9762ac32c358d2517ee7820be981e2de9756cf3", + "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", + "https://bcr.bazel.build/modules/stardoc/0.5.1/source.json": "a96f95e02123320aa015b956f29c00cb818fa891ef823d55148e1a362caacf29", + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/source.json": "f1ef7d3f9e0e26d4b23d1c39b5f5de71f584dd7d1b4ef83d9bbba6ec7a6a6459", + "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", + "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d" + }, + "selectedYankedVersions": {}, + "moduleExtensions": { + "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { + "general": { + "bzlTransitiveDigest": "PjIds3feoYE8SGbbIq2SFTZy3zmxeO2tQevJZNDo7iY=", + "usagesDigest": "+hz7IHWN6A1oVJJWNDB6yZRG+RYhF76wAYItpAeIUIg=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_apple_cc_toolchains": { + "bzlFile": "@@apple_support~//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf_toolchains", + "attributes": {} + }, + "local_config_apple_cc": { + "bzlFile": "@@apple_support~//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf", + "attributes": {} + } + }, + "recordedRepoMappingEntries": [ + [ + "apple_support~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@platforms//host:extension.bzl%host_platform": { + "general": { + "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", + "usagesDigest": "hgylFkgWSg0ulUwWZzEM1aIftlUnbmw2ynWLdEfHnZc=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "host_platform": { + "bzlFile": "@@platforms//host:extension.bzl", + "ruleClassName": "host_platform_repo", + "attributes": {} + } + }, + "recordedRepoMappingEntries": [] + } + }, + "@@rules_jvm_external~//:extensions.bzl%maven": { + "general": { + "bzlTransitiveDigest": "VW3qd5jCZXYbR9xpSwrhGQ04GCmEIIFPVERY34HHvFE=", + "usagesDigest": "LrHQqpB5iw7+xvJG0erQ0h4vkSrdvObnMfY7Zbx7qhY=", + "recordedFileInputs": { + "@@rules_jvm_external~//rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06" + }, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "maven": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": { + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "artifacts": [ + "{\"artifact\":\"jsr305\",\"group\":\"com.google.code.findbugs\",\"version\":\"3.0.2\"}", + "{\"artifact\":\"gson\",\"group\":\"com.google.code.gson\",\"version\":\"2.8.9\"}", + "{\"artifact\":\"error_prone_annotations\",\"group\":\"com.google.errorprone\",\"version\":\"2.3.2\"}", + "{\"artifact\":\"j2objc-annotations\",\"group\":\"com.google.j2objc\",\"version\":\"1.3\"}", + "{\"artifact\":\"guava\",\"group\":\"com.google.guava\",\"version\":\"31.1-jre\"}", + "{\"artifact\":\"guava-testlib\",\"group\":\"com.google.guava\",\"version\":\"31.1-jre\"}", + "{\"artifact\":\"truth\",\"group\":\"com.google.truth\",\"version\":\"1.1.2\"}", + "{\"artifact\":\"junit\",\"group\":\"junit\",\"version\":\"4.13.2\"}", + "{\"artifact\":\"mockito-core\",\"group\":\"org.mockito\",\"version\":\"4.3.1\"}" + ], + "fail_on_missing_checksum": true, + "fetch_sources": true, + "fetch_javadoc": false, + "use_unsafe_shared_cache": false, + "excluded_artifacts": [], + "generate_compat_repositories": false, + "version_conflict_policy": "default", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "resolve_timeout": 600, + "jetify": false, + "jetify_include_list": [ + "*" + ], + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn" + } + }, + "unpinned_rules_jvm_external_deps": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": { + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "artifacts": [ + "{\"artifact\":\"google-cloud-core\",\"group\":\"com.google.cloud\",\"version\":\"1.93.10\"}", + "{\"artifact\":\"google-cloud-storage\",\"group\":\"com.google.cloud\",\"version\":\"1.113.4\"}", + "{\"artifact\":\"gson\",\"group\":\"com.google.code.gson\",\"version\":\"2.9.0\"}", + "{\"artifact\":\"maven-artifact\",\"group\":\"org.apache.maven\",\"version\":\"3.8.6\"}", + "{\"artifact\":\"s3\",\"group\":\"software.amazon.awssdk\",\"version\":\"2.17.183\"}" + ], + "fail_on_missing_checksum": true, + "fetch_sources": true, + "fetch_javadoc": false, + "use_unsafe_shared_cache": false, + "excluded_artifacts": [], + "generate_compat_repositories": false, + "version_conflict_policy": "default", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json", + "resolve_timeout": 600, + "jetify": false, + "jetify_include_list": [ + "*" + ], + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn" + } + }, + "com_fasterxml_jackson_core_jackson_core_2_11_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "78cd0a6b936232e06dd3e38da8a0345348a09cd1ff9c4d844c6ee72c75cfc402", + "urls": [ + "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar", + "https://maven.google.com/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar" + } + }, + "com_google_api_client_google_api_client_1_30_11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ee6f97865cc7de6c7c80955c3f37372cf3887bd75e4fc06f1058a6b4cd9bf4da", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar", + "https://maven.google.com/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar" + } + }, + "com_google_api_grpc_proto_google_common_protos_2_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5ce71656118618731e34a5d4c61aa3a031be23446dc7de8b5a5e77b66ebcd6ef", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar", + "https://maven.google.com/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar" + } + }, + "com_google_api_grpc_proto_google_iam_v1_1_0_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "64cee7383a97e846da8d8e160e6c8fe30561e507260552c59e6ccfc81301fdc8", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar", + "https://maven.google.com/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar" + } + }, + "com_google_api_api_common_1_10_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2a033f24bb620383eda440ad307cb8077cfec1c7eadc684d65216123a1b9613a", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/api-common/1.10.1/api-common-1.10.1.jar", + "https://maven.google.com/com/google/api/api-common/1.10.1/api-common-1.10.1.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/api-common/1.10.1/api-common-1.10.1.jar" + } + }, + "com_google_api_gax_httpjson_0_77_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fd4dae47fa016d3b26e8d90b67ddc6c23c4c06e8bcdf085c70310ab7ef324bd6", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar", + "https://maven.google.com/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar" + } + }, + "com_google_api_gax_1_60_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "02f37d4ff1a7b8d71dff8064cf9568aa4f4b61bcc4485085d16130f32afa5a79", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/gax/1.60.0/gax-1.60.0.jar", + "https://maven.google.com/com/google/api/gax/1.60.0/gax-1.60.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/gax/1.60.0/gax-1.60.0.jar" + } + }, + "com_google_apis_google_api_services_storage_v1_rev20200927_1_30_10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "52d26a9d105f8d8a0850807285f307a76cea8f3e0cdb2be4d3b15b1adfa77351", + "urls": [ + "https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar", + "https://maven.google.com/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar" + } + }, + "com_google_auth_google_auth_library_credentials_0_22_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "42c76031276de5b520909e9faf88c5b3c9a722d69ee9cfdafedb1c52c355dfc5", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar", + "https://maven.google.com/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar" + } + }, + "com_google_auth_google_auth_library_oauth2_http_0_22_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1722d895c42dc42ea1d1f392ddbec1fbb28f7a979022c3a6c29acc39cc777ad1", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar", + "https://maven.google.com/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar" + } + }, + "com_google_auto_value_auto_value_annotations_1_7_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar", + "https://maven.google.com/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar" + } + }, + "com_google_cloud_google_cloud_core_http_1_93_10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "81ac67c14c7c4244d2b7db2607ad352416aca8d3bb2adf338964e8fea25b1b3c", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar", + "https://maven.google.com/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar" + } + }, + "com_google_cloud_google_cloud_core_1_93_10": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "832d74eca66f4601e162a8460d6f59f50d1d23f93c18b02654423b6b0d67c6ea", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar", + "https://maven.google.com/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar" + } + }, + "com_google_cloud_google_cloud_storage_1_113_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "796833e9bdab80c40bbc820e65087eb8f28c6bfbca194d2e3e00d98cb5bc55d6", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar", + "https://maven.google.com/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar" + } + }, + "com_google_code_findbugs_jsr305_3_0_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7", + "urls": [ + "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar", + "https://maven.google.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" + } + }, + "com_google_code_gson_gson_2_9_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c96d60551331a196dac54b745aa642cd078ef89b6f267146b705f2c2cbef052d", + "urls": [ + "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar", + "https://maven.google.com/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar" + } + }, + "com_google_errorprone_error_prone_annotations_2_4_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5f2a0648230a662e8be049df308d583d7369f13af683e44ddf5829b6d741a228", + "urls": [ + "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar", + "https://maven.google.com/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar" + } + }, + "com_google_guava_failureaccess_1_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar", + "https://maven.google.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" + } + }, + "com_google_guava_guava_30_0_android": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3345c82c2cc70a0053e8db9031edc6d71625ef0dea6a2c8f5ebd6cb76d2bf843", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/guava/30.0-android/guava-30.0-android.jar", + "https://maven.google.com/com/google/guava/guava/30.0-android/guava-30.0-android.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/guava/guava/30.0-android/guava-30.0-android.jar" + } + }, + "com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar", + "https://maven.google.com/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" + } + }, + "com_google_http_client_google_http_client_appengine_1_38_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f97b495fd97ac3a3d59099eb2b55025f4948230da15a076f189b9cff37c6b4d2", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar", + "https://maven.google.com/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar" + } + }, + "com_google_http_client_google_http_client_jackson2_1_38_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e6504a82425fcc2168a4ca4175138ddcc085168daed8cdedb86d8f6fdc296e1e", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar", + "https://maven.google.com/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar" + } + }, + "com_google_http_client_google_http_client_1_38_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "411f4a42519b6b78bdc0fcfdf74c9edcef0ee97afa4a667abe04045a508d6302", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar", + "https://maven.google.com/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar" + } + }, + "com_google_j2objc_j2objc_annotations_1_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b", + "urls": [ + "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", + "https://maven.google.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" + } + }, + "com_google_oauth_client_google_oauth_client_1_31_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4ed4e2948251dbda66ce251bd7f3b32cd8570055e5cdb165a3c7aea8f43da0ff", + "urls": [ + "https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar", + "https://maven.google.com/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar" + } + }, + "com_google_protobuf_protobuf_java_util_3_13_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d9de66b8c9445905dfa7064f6d5213d47ce88a20d34e21d83c4a94a229e14e62", + "urls": [ + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar", + "https://maven.google.com/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar" + } + }, + "com_google_protobuf_protobuf_java_3_13_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "97d5b2758408690c0dc276238707492a0b6a4d71206311b6c442cdc26c5973ff", + "urls": [ + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar", + "https://maven.google.com/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar" + } + }, + "com_typesafe_netty_netty_reactive_streams_http_2_0_5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b39224751ad936758176e9d994230380ade5e9079e7c8ad778e3995779bcf303", + "urls": [ + "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar", + "https://maven.google.com/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar" + } + }, + "com_typesafe_netty_netty_reactive_streams_2_0_5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f949849fc8ee75fde468ba3a35df2e04577fa31a2940b83b2a7dc9d14dac13d6", + "urls": [ + "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar", + "https://maven.google.com/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar" + } + }, + "commons_codec_commons_codec_1_11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e599d5318e97aa48f42136a2927e6dfa4e8881dff0e6c8e3109ddbbff51d7b7d", + "urls": [ + "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar", + "https://maven.google.com/commons-codec/commons-codec/1.11/commons-codec-1.11.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar" + } + }, + "commons_logging_commons_logging_1_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636", + "urls": [ + "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar", + "https://maven.google.com/commons-logging/commons-logging/1.2/commons-logging-1.2.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar" + } + }, + "io_grpc_grpc_context_1_33_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "99b8aea2b614fe0e61c3676e681259dc43c2de7f64620998e1a8435eb2976496", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar", + "https://maven.google.com/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar" + } + }, + "io_netty_netty_buffer_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "568ff7cd9d8e2284ec980730c88924f686642929f8f219a74518b4e64755f3a1", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar" + } + }, + "io_netty_netty_codec_http2_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c89a70500f59e8563e720aaa808263a514bd9e2bd91ba84eab8c2ccb45f234b2", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar" + } + }, + "io_netty_netty_codec_http_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fa6fec88010bfaf6a7415b5364671b6b18ffb6b35a986ab97b423fd8c3a0174b", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar" + } + }, + "io_netty_netty_codec_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5d8591ca271a1e9c224e8de3873aa9936acb581ee0db514e7dc18523df36d16c", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar" + } + }, + "io_netty_netty_common_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8adb4c291260ceb2859a68c49f0adeed36bf49587608e2b81ecff6aaf06025e9", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar" + } + }, + "io_netty_netty_handler_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9cb6012af7e06361d738ac4e3bdc49a158f8cf87d9dee0f2744056b7d99c28d5", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar" + } + }, + "io_netty_netty_resolver_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6474598aab7cc9d8d6cfa06c05bd1b19adbf7f8451dbdd73070b33a6c60b1b90", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar" + } + }, + "io_netty_netty_tcnative_classes_2_0_46_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d3ec888dcc4ac7915bf88b417c5e04fd354f4311032a748a6882df09347eed9a", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar", + "https://maven.google.com/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar" + } + }, + "io_netty_netty_transport_classes_epoll_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e1528a9751c1285aa7beaf3a1eb0597151716426ce38598ac9bc0891209b9e68", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar" + } + }, + "io_netty_netty_transport_native_unix_common_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6f8f1cc29b5a234eeee9439a63eb3f03a5994aa540ff555cb0b2c88cefaf6877", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar" + } + }, + "io_netty_netty_transport_4_1_72_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c5fb68e9a65b6e8a516adfcb9fa323479ee7b4d9449d8a529d2ecab3d3711d5a", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar", + "https://maven.google.com/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar" + } + }, + "io_opencensus_opencensus_api_0_24_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f561b1cc2673844288e596ddf5bb6596868a8472fd2cb8993953fc5c034b2352", + "urls": [ + "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar", + "https://maven.google.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar" + } + }, + "io_opencensus_opencensus_contrib_http_util_0_24_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "7155273bbb1ed3d477ea33cf19d7bbc0b285ff395f43b29ae576722cf247000f", + "urls": [ + "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar", + "https://maven.google.com/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar" + } + }, + "javax_annotation_javax_annotation_api_1_3_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", + "urls": [ + "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar", + "https://maven.google.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" + } + }, + "org_apache_commons_commons_lang3_3_8_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar", + "https://maven.google.com/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar" + } + }, + "org_apache_httpcomponents_httpclient_4_5_13": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6fe9026a566c6a5001608cf3fc32196641f6c1e5e1986d1037ccdbd5f31ef743", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar", + "https://maven.google.com/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar" + } + }, + "org_apache_httpcomponents_httpcore_4_4_13": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e06e89d40943245fcfa39ec537cdbfce3762aecde8f9c597780d2b00c2b43424", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar", + "https://maven.google.com/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar" + } + }, + "org_apache_maven_maven_artifact_3_8_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "de22a4c6f54fe31276a823b1bbd3adfd6823529e732f431b5eff0852c2b9252b", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar", + "https://maven.google.com/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar" + } + }, + "org_checkerframework_checker_compat_qual_2_5_5": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a", + "urls": [ + "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar", + "https://maven.google.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar" + } + }, + "org_codehaus_plexus_plexus_utils_3_3_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4b570fcdbe5a894f249d2eb9b929358a9c88c3e548d227a80010461930222f2a", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar", + "https://maven.google.com/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar" + } + }, + "org_reactivestreams_reactive_streams_1_0_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1dee0481072d19c929b623e155e14d2f6085dc011529a0a0dbefc84cf571d865", + "urls": [ + "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar", + "https://maven.google.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar" + } + }, + "org_slf4j_slf4j_api_1_7_30": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar", + "https://maven.google.com/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar" + } + }, + "org_threeten_threetenbp_1_5_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "dcf9c0f940739f2a825cd8626ff27113459a2f6eb18797c7152f93fff69c264f", + "urls": [ + "https://repo1.maven.org/maven2/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar", + "https://maven.google.com/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar" + } + }, + "software_amazon_awssdk_annotations_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8e4d72361ca805a0bd8bbd9017cd7ff77c8d170f2dd469c7d52d5653330bb3fd", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar" + } + }, + "software_amazon_awssdk_apache_client_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "78ceae502fce6a97bbe5ff8f6a010a52ab7ea3ae66cb1a4122e18185fce45022", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar" + } + }, + "software_amazon_awssdk_arns_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "659a185e191d66c71de81209490e66abeaccae208ea7b2831a738670823447aa", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar" + } + }, + "software_amazon_awssdk_auth_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8820c6636e5c14efc29399fb5565ce50212b0c1f4ed720a025a2c402d54e0978", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar" + } + }, + "software_amazon_awssdk_aws_core_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "bccbdbea689a665a702ff19828662d87fb7fe81529df13f02ef1e4c474ea9f93", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar" + } + }, + "software_amazon_awssdk_aws_query_protocol_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4dace03c76f80f3dec920cb3dedb2a95984c4366ef4fda728660cb90bed74848", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar" + } + }, + "software_amazon_awssdk_aws_xml_protocol_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "566bba05d49256fa6994efd68fa625ae05a62ea45ee74bb9130d20ea20988363", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar" + } + }, + "software_amazon_awssdk_http_client_spi_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fe7120f175df9e47ebcc5d946d7f40110faf2ba0a30364f3b935d5b8a5a6c3c6", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar" + } + }, + "software_amazon_awssdk_json_utils_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "51ab7f550adc06afcb49f5270cdf690f1bfaaee243abaa5d978095e2a1e4e1a5", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar" + } + }, + "software_amazon_awssdk_metrics_spi_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "08a11dc8c4ba464beafbcc7ac05b8c724c1ccb93da99482e82a68540ac704e4a", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar" + } + }, + "software_amazon_awssdk_netty_nio_client_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a6d356f364c56d7b90006b0b7e503b8630010993a5587ce42e74b10b8dca2238", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar" + } + }, + "software_amazon_awssdk_profiles_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "78833b32fde3f1c5320373b9ea955c1bbc28f2c904010791c4784e610193ee56", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar" + } + }, + "software_amazon_awssdk_protocol_core_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "10e7c4faa1f05e2d73055d0390dbd0bb6450e2e6cb85beda051b1e4693c826ce", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar" + } + }, + "software_amazon_awssdk_regions_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d3079395f3ffc07d04ffcce16fca29fb5968197f6e9ea3dbff6be297102b40a5", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar" + } + }, + "software_amazon_awssdk_s3_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ab073b91107a9e4ed9f030314077d137fe627e055ad895fabb036980a050e360", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar" + } + }, + "software_amazon_awssdk_sdk_core_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "677e9cc90fdd82c1f40f97b99cb115b13ad6c3f58beeeab1c061af6954d64c77", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar" + } + }, + "software_amazon_awssdk_third_party_jackson_core_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1bc27c9960993c20e1ab058012dd1ae04c875eec9f0f08f2b2ca41e578dee9a4", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar" + } + }, + "software_amazon_awssdk_utils_2_17_183": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "7bd849bb5aa71bfdf6b849643736ecab3a7b3f204795804eefe5754104231ec6", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar", + "https://maven.google.com/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar" + } + }, + "software_amazon_eventstream_eventstream_1_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0c37d8e696117f02c302191b8110b0d0eb20fa412fce34c3a269ec73c16ce822", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar", + "https://maven.google.com/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar" + ], + "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar" + } + }, + "rules_jvm_external_deps": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "pinned_coursier_fetch", + "attributes": { + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "artifacts": [ + "{\"artifact\":\"google-cloud-core\",\"group\":\"com.google.cloud\",\"version\":\"1.93.10\"}", + "{\"artifact\":\"google-cloud-storage\",\"group\":\"com.google.cloud\",\"version\":\"1.113.4\"}", + "{\"artifact\":\"gson\",\"group\":\"com.google.code.gson\",\"version\":\"2.9.0\"}", + "{\"artifact\":\"maven-artifact\",\"group\":\"org.apache.maven\",\"version\":\"3.8.6\"}", + "{\"artifact\":\"s3\",\"group\":\"software.amazon.awssdk\",\"version\":\"2.17.183\"}" + ], + "fetch_sources": true, + "fetch_javadoc": false, + "generate_compat_repositories": false, + "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "jetify": false, + "jetify_include_list": [ + "*" + ], + "additional_netrc_lines": [], + "fail_if_repin_required": false, + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_jvm_external~", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_jvm_external~", + "rules_jvm_external", + "rules_jvm_external~" + ] + ] + } + }, + "@@rules_jvm_external~//:non-module-deps.bzl%non_module_deps": { + "general": { + "bzlTransitiveDigest": "ZOivBbbZUakRexeLO/N26oX4Bcph6HHnqNmfxt7yoCc=", + "usagesDigest": "Ccxo9D2Jf1yAMLB2+zS+9MGgnKIFhxCAxFkSqwdK/3c=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "io_bazel_rules_kotlin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "sha256": "946747acdbeae799b085d12b240ec346f775ac65236dfcf18aa0cd7300f6de78", + "urls": [ + "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.7.0-RC-2/rules_kotlin_release.tgz" + ] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_jvm_external~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@rules_python~//python/extensions:python.bzl%python": { + "general": { + "bzlTransitiveDigest": "lbXqTyC4ahBb81TIrIp+2d3sWnlurVNqSeAaLJknLUs=", + "usagesDigest": "1Y6kbygksx7wAtDStFoHnR90xr8Yeq00I91YcLMbxMI=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "pythons_hub": { + "bzlFile": "@@rules_python~//python/extensions/private:interpreter_hub.bzl", + "ruleClassName": "hub_repo", + "attributes": { + "toolchains": [] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_python~", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_python~", + "rules_python", + "rules_python~" + ] + ] + } + }, + "@@rules_python~//python/extensions/private:internal_deps.bzl%internal_deps": { + "general": { + "bzlTransitiveDigest": "b6FMQSdoZ1QOssw14AW8bWDn2BvywI4FVkLbO2nTMsE=", + "usagesDigest": "KPNj8wxzOk7dXY9StqZ91MCKEIJSEnAyV0Q/dGFP5sw=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "pypi__build": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/03/97/f58c723ff036a8d8b4d3115377c0a37ed05c1f68dd9a0d66dab5e82c5c1c/build-0.9.0-py3-none-any.whl", + "sha256": "38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__click": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/76/0a/b6c5f311e32aeb3b406e03c079ade51e905ea630fc19d1262a46249c1c86/click-8.0.1-py3-none-any.whl", + "sha256": "fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__colorama": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", + "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__installer": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl", + "sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__packaging": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/8f/7b/42582927d281d7cb035609cd3a543ffac89b74f3f4ee8e1c50914bcb57eb/packaging-22.0-py3-none-any.whl", + "sha256": "957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pep517": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/ee/2f/ef63e64e9429111e73d3d6cbee80591672d16f2725e648ebc52096f3d323/pep517-0.13.0-py3-none-any.whl", + "sha256": "4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pip": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/09/bd/2410905c76ee14c62baf69e3f4aa780226c1bbfc9485731ad018e35b0cb5/pip-22.3.1-py3-none-any.whl", + "sha256": "908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pip_tools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/5e/e8/f6d7d1847c7351048da870417724ace5c4506e816b38db02f4d7c675c189/pip_tools-6.12.1-py3-none-any.whl", + "sha256": "f0c0c0ec57b58250afce458e2e6058b1f30a4263db895b7d72fd6311bf1dc6f7", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__setuptools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/7c/5b/3d92b9f0f7ca1645cba48c080b54fe7d8b1033a4e5720091d1631c4266db/setuptools-60.10.0-py3-none-any.whl", + "sha256": "782ef48d58982ddb49920c11a0c5c9c0b02e7d7d1c2ad0aa44e1a1e133051c96", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__tomli": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", + "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__wheel": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/bd/7c/d38a0b30ce22fc26ed7dbc087c6d00851fb3395e9d0dac40bec1f905030c/wheel-0.38.4-py3-none-any.whl", + "sha256": "b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__importlib_metadata": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/d7/31/74dcb59a601b95fce3b0334e8fc9db758f78e43075f22aeb3677dfb19f4c/importlib_metadata-1.4.0-py2.py3-none-any.whl", + "sha256": "bdd9b7c397c273bcc9a11d6629a38487cd07154fa255a467bf704cd2c258e359", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__zipp": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/f4/50/cc72c5bcd48f6e98219fc4a88a5227e9e28b81637a99c49feba1d51f4d50/zipp-1.0.0-py2.py3-none-any.whl", + "sha256": "8dda78f06bd1674bd8720df8a50bb47b6e1233c503a4eed8e7810686bde37656", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__more_itertools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/bd/3f/c4b3dbd315e248f84c388bd4a72b131a29f123ecacc37ffb2b3834546e42/more_itertools-8.13.0-py3-none-any.whl", + "sha256": "c5122bffc5f104d37c1626b8615b511f3427aa5389b94d61e5ef8236bfbc3ddb", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__coverage_cp38_aarch64-apple-darwin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "2198ea6fc548de52adc826f62cb18554caedfb1d26548c1b7c88d8f7faa8f6ba", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/07/82/79fa21ceca9a9b091eb3c67e27eb648dade27b2c9e1eb23af47232a2a365/coverage-6.5.0-cp38-cp38-macosx_11_0_arm64.whl" + ] + } + }, + "pypi__coverage_cp38_aarch64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "6c4459b3de97b75e3bd6b7d4b7f0db13f17f504f3d13e2a7c623786289dd670e", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/40/3b/cd68cb278c4966df00158811ec1e357b9a7d132790c240fc65da57e10013/coverage-6.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + ] + } + }, + "pypi__coverage_cp38_x86_64-apple-darwin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "d900bb429fdfd7f511f868cedd03a6bbb142f3f9118c09b99ef8dc9bf9643c3c", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/05/63/a789b462075395d34f8152229dccf92b25ca73eac05b3f6cd75fa5017095/coverage-6.5.0-cp38-cp38-macosx_10_9_x86_64.whl" + ] + } + }, + "pypi__coverage_cp38_x86_64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "6b07130585d54fe8dff3d97b93b0e20290de974dc8177c320aeaf23459219c0b", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/bd/a0/e263b115808226fdb2658f1887808c06ac3f1b579ef5dda02309e0d54459/coverage-6.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + ] + } + }, + "pypi__coverage_cp39_aarch64-apple-darwin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "95203854f974e07af96358c0b261f1048d8e1083f2de9b1c565e1be4a3a48cfc", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/63/e9/f23e8664ec4032d7802a1cf920853196bcbdce7b56408e3efe1b2da08f3c/coverage-6.5.0-cp39-cp39-macosx_11_0_arm64.whl" + ] + } + }, + "pypi__coverage_cp39_aarch64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "b9023e237f4c02ff739581ef35969c3739445fb059b060ca51771e69101efffe", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/18/95/27f80dcd8273171b781a19d109aeaed7f13d78ef6d1e2f7134a5826fd1b4/coverage-6.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + ] + } + }, + "pypi__coverage_cp39_x86_64-apple-darwin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "633713d70ad6bfc49b34ead4060531658dc6dfc9b3eb7d8a716d5873377ab745", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/ea/52/c08080405329326a7ff16c0dfdb4feefaa8edd7446413df67386fe1bbfe0/coverage-6.5.0-cp39-cp39-macosx_10_9_x86_64.whl" + ] + } + }, + "pypi__coverage_cp39_x86_64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/6b/f2/919f0fdc93d3991ca074894402074d847be8ac1e1d78e7e9e1c371b69a6f/coverage-6.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + ] + } + }, + "pypi__coverage_cp310_aarch64-apple-darwin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "784f53ebc9f3fd0e2a3f6a78b2be1bd1f5575d7863e10c6e12504f240fd06660", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/89/a2/cbf599e50bb4be416e0408c4cf523c354c51d7da39935461a9687e039481/coverage-6.5.0-cp310-cp310-macosx_11_0_arm64.whl" + ] + } + }, + "pypi__coverage_cp310_aarch64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "b4a5be1748d538a710f87542f22c2cad22f80545a847ad91ce45e77417293eb4", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/15/b0/3639d84ee8a900da0cf6450ab46e22517e4688b6cec0ba8ab6f8166103a2/coverage-6.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + ] + } + }, + "pypi__coverage_cp310_x86_64-apple-darwin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/c4/8d/5ec7d08f4601d2d792563fe31db5e9322c306848fec1e65ec8885927f739/coverage-6.5.0-cp310-cp310-macosx_10_9_x86_64.whl" + ] + } + }, + "pypi__coverage_cp310_x86_64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/3c/7d/d5211ea782b193ab8064b06dc0cc042cf1a4ca9c93a530071459172c550f/coverage-6.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + ] + } + }, + "pypi__coverage_cp311_aarch64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "c4ed2820d919351f4167e52425e096af41bfabacb1857186c1ea32ff9983ed75", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/36/f3/5cbd79cf4cd059c80b59104aca33b8d05af4ad5bf5b1547645ecee716378/coverage-6.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + ] + } + }, + "pypi__coverage_cp311_x86_64-apple-darwin": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "4a5375e28c5191ac38cca59b38edd33ef4cc914732c916f2929029b4bfb50795", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/50/cf/455930004231fa87efe8be06d13512f34e070ddfee8b8bf5a050cdc47ab3/coverage-6.5.0-cp311-cp311-macosx_10_9_x86_64.whl" + ] + } + }, + "pypi__coverage_cp311_x86_64-unknown-linux-gnu": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nfilegroup(\n name = \"coverage\",\n srcs = [\"coverage/__main__.py\"],\n data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n visibility = [\"//visibility:public\"],\n)\n ", + "patch_args": [ + "-p1" + ], + "patches": [ + "@@rules_python~//python/private:coverage.patch" + ], + "sha256": "a8fb6cf131ac4070c9c5a3e21de0f7dc5a0fbe8bc77c9456ced896c12fcdad91", + "type": "zip", + "urls": [ + "https://files.pythonhosted.org/packages/6a/63/8e82513b7e4a1b8d887b4e85c1c2b6c9b754a581b187c0b084f3330ac479/coverage-6.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + ] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_python~", + "bazel_skylib", + "bazel_skylib~" + ], + [ + "rules_python~", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_python~", + "rules_python", + "rules_python~" + ] + ] + } + } + } +} diff --git a/vendor/github.com/google/go-jsonnet/Makefile b/vendor/github.com/google/go-jsonnet/Makefile index 0b119106f..cc20aa32b 100644 --- a/vendor/github.com/google/go-jsonnet/Makefile +++ b/vendor/github.com/google/go-jsonnet/Makefile @@ -1,15 +1,9 @@ all: install.dependencies generate generate.stdlib build.bazel test tidy .PHONY: all -# https://github.com/golang/go/issues/30515 -# We temporarily set GO111MODULE=off here to avoid adding these binaries to the go.mod|sum files -# As they are not needed during runtime -install.dependencies : export GO111MODULE=off install.dependencies: git submodule init git submodule update - go get github.com/clipperhouse/gen - go get github.com/clipperhouse/set .PHONY: install.dependencies build.bazel: diff --git a/vendor/github.com/google/go-jsonnet/README.md b/vendor/github.com/google/go-jsonnet/README.md index 21a1cdd8c..9e1895476 100644 --- a/vendor/github.com/google/go-jsonnet/README.md +++ b/vendor/github.com/google/go-jsonnet/README.md @@ -16,16 +16,12 @@ This code is known to work on Go 1.12 and above. We recommend always using the n ## Installation instructions ```shell -# go >= 1.17 # Using `go get` to install binaries is deprecated. # The version suffix is mandatory. go install github.com/google/go-jsonnet/cmd/jsonnet@latest # Or other tools in the 'cmd' directory go install github.com/google/go-jsonnet/cmd/jsonnet-lint@latest - -# go < 1.17 -go get github.com/google/go-jsonnet/cmd/jsonnet ``` It's also available on Homebrew: @@ -188,17 +184,6 @@ _replace the FILTER with the name of the test you are working on_ FILTER=Builtin_manifestJsonEx make benchmark ``` -## Implementation Notes - -We are generating some helper classes on types by using http://clipperhouse.github.io/gen/. Do the following to regenerate these if necessary: - -```bash -go get github.com/clipperhouse/gen -go get github.com/clipperhouse/set -export PATH=$PATH:$GOPATH/bin # If you haven't already -go generate -``` - ## Update cpp-jsonnet sub-repo This repo depends on [the original Jsonnet repo](https://github.com/google/jsonnet). Shared parts include the standard library, headers files for C API and some tests. diff --git a/vendor/github.com/google/go-jsonnet/ast/BUILD.bazel b/vendor/github.com/google/go-jsonnet/ast/BUILD.bazel index fe6fd873e..19169e3b1 100644 --- a/vendor/github.com/google/go-jsonnet/ast/BUILD.bazel +++ b/vendor/github.com/google/go-jsonnet/ast/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library") +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", @@ -6,10 +6,15 @@ go_library( "ast.go", "clone.go", "fodder.go", - "identifier_set.go", + "identifier.go", "location.go", - "util.go", ], importpath = "github.com/google/go-jsonnet/ast", visibility = ["//visibility:public"], ) + +go_test( + name = "go_default_test", + srcs = ["identifier_test.go"], + embed = [":go_default_library"], +) diff --git a/vendor/github.com/google/go-jsonnet/ast/ast.go b/vendor/github.com/google/go-jsonnet/ast/ast.go index 90e970f9b..8de21ca55 100644 --- a/vendor/github.com/google/go-jsonnet/ast/ast.go +++ b/vendor/github.com/google/go-jsonnet/ast/ast.go @@ -21,13 +21,6 @@ import ( "fmt" ) -// Identifier represents a variable / parameter / field name. -// +gen set -type Identifier string - -// Identifiers represents an Identifier slice. -type Identifiers []Identifier - // TODO(jbeda) implement interning of identifiers if necessary. The C++ // version does so. @@ -80,7 +73,7 @@ func NewNodeBase(loc LocationRange, fodder Fodder, freeVariables Identifiers) No // NewNodeBaseLoc creates a new NodeBase from an initial LocationRange. func NewNodeBaseLoc(loc LocationRange, fodder Fodder) NodeBase { - return NewNodeBase(loc, fodder, []Identifier{}) + return NewNodeBase(loc, fodder, Identifiers{}) } // Loc returns a NodeBase's loc. diff --git a/vendor/github.com/google/go-jsonnet/ast/identifier.go b/vendor/github.com/google/go-jsonnet/ast/identifier.go new file mode 100644 index 000000000..81c9e5a62 --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/ast/identifier.go @@ -0,0 +1,99 @@ +/* +Copyright 2016 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package ast + +import ( + "sort" +) + +// Identifier represents a variable / parameter / field name. +type Identifier string + +// Identifiers represents an Identifier slice. +type Identifiers []Identifier + +// IdentifierSet represents an Identifier set. +type IdentifierSet map[Identifier]struct{} + +// NewIdentifierSet creates a new IdentifierSet. +func NewIdentifierSet(idents ...Identifier) IdentifierSet { + set := make(IdentifierSet) + for _, ident := range idents { + set[ident] = struct{}{} + } + return set +} + +// Add adds an Identifier to the set. +func (set IdentifierSet) Add(ident Identifier) bool { + if _, ok := set[ident]; ok { + return false + } + set[ident] = struct{}{} + return true +} + +// AddIdentifiers adds a slice of identifiers to the set. +func (set IdentifierSet) AddIdentifiers(idents Identifiers) { + for _, ident := range idents { + set.Add(ident) + } +} + +// Contains returns true if an Identifier is in the set. +func (set IdentifierSet) Contains(ident Identifier) bool { + _, ok := set[ident] + return ok +} + +// Remove removes an Identifier from the set. +func (set IdentifierSet) Remove(ident Identifier) { + delete(set, ident) +} + +// ToSlice returns an Identifiers slice from the set. +func (set IdentifierSet) ToSlice() Identifiers { + idents := make(Identifiers, len(set)) + i := 0 + for ident := range set { + idents[i] = ident + i++ + } + return idents +} + +// ToOrderedSlice returns the elements of the current set as an ordered slice. +func (set IdentifierSet) ToOrderedSlice() []Identifier { + idents := set.ToSlice() + sort.Sort(identifierSorter(idents)) + return idents +} + +type identifierSorter []Identifier + +func (s identifierSorter) Len() int { return len(s) } +func (s identifierSorter) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s identifierSorter) Less(i, j int) bool { return s[i] < s[j] } + +// Clone returns a clone of the set. +func (set IdentifierSet) Clone() IdentifierSet { + newSet := make(IdentifierSet, len(set)) + for k, v := range set { + newSet[k] = v + } + return newSet +} diff --git a/vendor/github.com/google/go-jsonnet/ast/identifier_set.go b/vendor/github.com/google/go-jsonnet/ast/identifier_set.go deleted file mode 100644 index bc2efff51..000000000 --- a/vendor/github.com/google/go-jsonnet/ast/identifier_set.go +++ /dev/null @@ -1,174 +0,0 @@ -// Generated by: main -// TypeWriter: set -// Directive: +gen on identifier - -package ast - -// Set is a modification of https://github.com/deckarep/golang-set -// The MIT License (MIT) -// Copyright (c) 2013 Ralph Caraveo (deckarep@gmail.com) - -// IdentifierSet is the primary type that represents a set -type IdentifierSet map[Identifier]struct{} - -// NewIdentifierSet creates and returns a reference to an empty set. -func NewIdentifierSet(a ...Identifier) IdentifierSet { - s := make(IdentifierSet, len(a)) - for _, i := range a { - s.Add(i) - } - return s -} - -// ToSlice returns the elements of the current set as a slice -func (set IdentifierSet) ToSlice() []Identifier { - s := make([]Identifier, len(set), len(set)) - j := 0 - for v := range set { - s[j] = v - j++ - } - return s -} - -// Add adds an item to the current set if it doesn't already exist in the set. -func (set IdentifierSet) Add(i Identifier) bool { - _, found := set[i] - set[i] = struct{}{} - return !found //False if it existed already -} - -// Contains determines if a given item is already in the set. -func (set IdentifierSet) Contains(i Identifier) bool { - _, found := set[i] - return found -} - -// ContainsAll determines if the given items are all in the set -func (set IdentifierSet) ContainsAll(i ...Identifier) bool { - for _, v := range i { - if !set.Contains(v) { - return false - } - } - return true -} - -// IsSubset determines if every item in the other set is in this set. -func (set IdentifierSet) IsSubset(other IdentifierSet) bool { - for elem := range set { - if !other.Contains(elem) { - return false - } - } - return true -} - -// IsSuperset determines if every item of this set is in the other set. -func (set IdentifierSet) IsSuperset(other IdentifierSet) bool { - return other.IsSubset(set) -} - -// Union returns a new set with all items in both sets. -func (set IdentifierSet) Union(other IdentifierSet) IdentifierSet { - unionedSet := NewIdentifierSet() - - for elem := range set { - unionedSet.Add(elem) - } - for elem := range other { - unionedSet.Add(elem) - } - return unionedSet -} - -// Intersect returns a new set with items that exist only in both sets. -func (set IdentifierSet) Intersect(other IdentifierSet) IdentifierSet { - intersection := NewIdentifierSet() - // loop over smaller set - if set.Cardinality() < other.Cardinality() { - for elem := range set { - if other.Contains(elem) { - intersection.Add(elem) - } - } - } else { - for elem := range other { - if set.Contains(elem) { - intersection.Add(elem) - } - } - } - return intersection -} - -// Difference returns a new set with items in the current set but not in the other set -func (set IdentifierSet) Difference(other IdentifierSet) IdentifierSet { - differencedSet := NewIdentifierSet() - for elem := range set { - if !other.Contains(elem) { - differencedSet.Add(elem) - } - } - return differencedSet -} - -// SymmetricDifference returns a new set with items in the current set or the other set but not in both. -func (set IdentifierSet) SymmetricDifference(other IdentifierSet) IdentifierSet { - aDiff := set.Difference(other) - bDiff := other.Difference(set) - return aDiff.Union(bDiff) -} - -// Clear clears the entire set to be the empty set. -func (set *IdentifierSet) Clear() { - *set = make(IdentifierSet) -} - -// Remove allows the removal of a single item in the set. -func (set IdentifierSet) Remove(i Identifier) { - delete(set, i) -} - -// Cardinality returns how many items are currently in the set. -func (set IdentifierSet) Cardinality() int { - return len(set) -} - -// Iter returns a channel of type identifier that you can range over. -func (set IdentifierSet) Iter() <-chan Identifier { - ch := make(chan Identifier) - go func() { - for elem := range set { - ch <- elem - } - close(ch) - }() - - return ch -} - -// Equal determines if two sets are equal to each other. -// If they both are the same size and have the same items they are considered equal. -// Order of items is not relevent for sets to be equal. -func (set IdentifierSet) Equal(other IdentifierSet) bool { - if set.Cardinality() != other.Cardinality() { - return false - } - for elem := range set { - if !other.Contains(elem) { - return false - } - } - return true -} - -// Clone returns a clone of the set. -// Does NOT clone the underlying elements. -func (set IdentifierSet) Clone() IdentifierSet { - clonedSet := NewIdentifierSet() - for elem := range set { - clonedSet.Add(elem) - } - return clonedSet -} diff --git a/vendor/github.com/google/go-jsonnet/ast/util.go b/vendor/github.com/google/go-jsonnet/ast/util.go deleted file mode 100644 index 45e99451f..000000000 --- a/vendor/github.com/google/go-jsonnet/ast/util.go +++ /dev/null @@ -1,46 +0,0 @@ -/* -Copyright 2016 Google Inc. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package ast - -import ( - "sort" -) - -// AddIdentifiers adds a slice of identifiers to an identifier set. -func (i IdentifierSet) AddIdentifiers(idents Identifiers) { - for _, ident := range idents { - i.Add(ident) - } -} - -// ToOrderedSlice returns the elements of the current set as an ordered slice. -func (i IdentifierSet) ToOrderedSlice() []Identifier { - s := make([]Identifier, len(i)) - j := 0 - for v := range i { - s[j] = v - j++ - } - sort.Sort(identifierSorter(s)) - return s -} - -type identifierSorter []Identifier - -func (s identifierSorter) Len() int { return len(s) } -func (s identifierSorter) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -func (s identifierSorter) Less(i, j int) bool { return s[i] < s[j] } diff --git a/vendor/github.com/google/go-jsonnet/astgen/stdast.go b/vendor/github.com/google/go-jsonnet/astgen/stdast.go index 292e69a52..34477e4b7 100644 --- a/vendor/github.com/google/go-jsonnet/astgen/stdast.go +++ b/vendor/github.com/google/go-jsonnet/astgen/stdast.go @@ -365,2564 +365,2700 @@ var p2194Var = "function " var p2194 = &p2194Var var p2212Var = "object " var p2212 = &p2212Var -var p2242Var = "thunk from >" -var p2242 = &p2242Var -var p2272Var = "thunk from >" -var p2272 = &p2272Var -var p2284Var = "thunk from >" -var p2284 = &p2284Var -var p2289Var = "thunk from >" -var p2289 = &p2289Var -var p2295Var = "function " -var p2295 = &p2295Var -var p2337Var = "thunk from >" -var p2337 = &p2337Var -var p2348Var = "thunk from >" -var p2348 = &p2348Var -var p2362Var = "function " -var p2362 = &p2362Var -var p2388Var = "thunk from >" -var p2388 = &p2388Var -var p2417Var = "thunk from >>" -var p2417 = &p2417Var -var p2446Var = "thunk from >" -var p2446 = &p2446Var -var p2456Var = "thunk from >" -var p2456 = &p2456Var -var p2491Var = "thunk from >" -var p2491 = &p2491Var -var p2526Var = "thunk from >" -var p2526 = &p2526Var -var p2554Var = "function " -var p2554 = &p2554Var -var p2558Var = "thunk from >" -var p2558 = &p2558Var -var p2572Var = "thunk from >" -var p2572 = &p2572Var -var p2587Var = "thunk from >" -var p2587 = &p2587Var -var p2605Var = "thunk from >" -var p2605 = &p2605Var -var p2609Var = "thunk from >>" -var p2609 = &p2609Var -var p2632Var = "function " -var p2632 = &p2632Var -var p2640Var = "thunk from >" -var p2640 = &p2640Var -var p2646Var = "function " -var p2646 = &p2646Var +var p2236Var = "thunk from >" +var p2236 = &p2236Var +var p2248Var = "thunk from >>" +var p2248 = &p2248Var +var p2278Var = "thunk from >" +var p2278 = &p2278Var +var p2298Var = "thunk from >" +var p2298 = &p2298Var +var p2335Var = "thunk from >" +var p2335 = &p2335Var +var p2347Var = "thunk from >" +var p2347 = &p2347Var +var p2352Var = "thunk from >" +var p2352 = &p2352Var +var p2357Var = "function " +var p2357 = &p2357Var +var p2380Var = "thunk from >" +var p2380 = &p2380Var +var p2391Var = "thunk from >" +var p2391 = &p2391Var +var p2405Var = "function " +var p2405 = &p2405Var +var p2431Var = "thunk from >" +var p2431 = &p2431Var +var p2460Var = "thunk from >>" +var p2460 = &p2460Var +var p2489Var = "thunk from >" +var p2489 = &p2489Var +var p2499Var = "thunk from >" +var p2499 = &p2499Var +var p2534Var = "thunk from >" +var p2534 = &p2534Var +var p2569Var = "thunk from >" +var p2569 = &p2569Var +var p2597Var = "function " +var p2597 = &p2597Var +var p2601Var = "thunk from >" +var p2601 = &p2601Var +var p2615Var = "thunk from >" +var p2615 = &p2615Var +var p2630Var = "thunk from >" +var p2630 = &p2630Var +var p2648Var = "thunk from >" +var p2648 = &p2648Var var p2652Var = "thunk from >>" var p2652 = &p2652Var -var p2669Var = "function " -var p2669 = &p2669Var -var p2673Var = "thunk from >" -var p2673 = &p2673Var -var p2684Var = "thunk from >" -var p2684 = &p2684Var -var p2697Var = "thunk from >" -var p2697 = &p2697Var -var p2711Var = "thunk from >" -var p2711 = &p2711Var -var p2723Var = "thunk from >" -var p2723 = &p2723Var +var p2675Var = "function " +var p2675 = &p2675Var +var p2683Var = "thunk from >" +var p2683 = &p2683Var +var p2689Var = "function " +var p2689 = &p2689Var +var p2695Var = "thunk from >>" +var p2695 = &p2695Var +var p2712Var = "function " +var p2712 = &p2712Var +var p2716Var = "thunk from >" +var p2716 = &p2716Var +var p2727Var = "thunk from >" +var p2727 = &p2727Var var p2740Var = "thunk from >" var p2740 = &p2740Var var p2754Var = "thunk from >" var p2754 = &p2754Var -var p2780Var = "function " -var p2780 = &p2780Var -var p2784Var = "thunk from >" -var p2784 = &p2784Var -var p2798Var = "thunk from >" -var p2798 = &p2798Var -var p2816Var = "thunk from >" -var p2816 = &p2816Var -var p2829Var = "thunk from >" -var p2829 = &p2829Var -var p2844Var = "thunk from >" -var p2844 = &p2844Var -var p2864Var = "thunk from >" -var p2864 = &p2864Var -var p2868Var = "thunk from >>" -var p2868 = &p2868Var -var p2874Var = "function " -var p2874 = &p2874Var -var p2879Var = "thunk from >" -var p2879 = &p2879Var -var p2904Var = "function " -var p2904 = &p2904Var -var p2908Var = "thunk from >" -var p2908 = &p2908Var -var p2922Var = "thunk from >" -var p2922 = &p2922Var -var p2940Var = "thunk from >" -var p2940 = &p2940Var -var p2953Var = "thunk from >" -var p2953 = &p2953Var -var p2968Var = "thunk from >" -var p2968 = &p2968Var -var p2988Var = "thunk from >" -var p2988 = &p2988Var -var p2992Var = "thunk from >>" -var p2992 = &p2992Var -var p2998Var = "function " -var p2998 = &p2998Var -var p3002Var = "thunk from >" -var p3002 = &p3002Var -var p3030Var = "function " -var p3030 = &p3030Var -var p3034Var = "thunk from >" -var p3034 = &p3034Var -var p3048Var = "thunk from >" -var p3048 = &p3048Var -var p3065Var = "thunk from >" -var p3065 = &p3065Var -var p3079Var = "thunk from >" -var p3079 = &p3079Var -var p3109Var = "object " -var p3109 = &p3109Var -var p3113Var = "thunk from >" -var p3113 = &p3113Var -var p3135Var = "thunk from >" -var p3135 = &p3135Var -var p3156Var = "function " -var p3156 = &p3156Var -var p3160Var = "thunk from >" -var p3160 = &p3160Var -var p3174Var = "thunk from >" -var p3174 = &p3174Var -var p3190Var = "thunk from >" -var p3190 = &p3190Var -var p3206Var = "thunk from >" -var p3206 = &p3206Var -var p3214Var = "thunk from >>" +var p2766Var = "thunk from >" +var p2766 = &p2766Var +var p2783Var = "thunk from >" +var p2783 = &p2783Var +var p2797Var = "thunk from >" +var p2797 = &p2797Var +var p2820Var = "function " +var p2820 = &p2820Var +var p2840Var = "function " +var p2840 = &p2840Var +var p2858Var = "function " +var p2858 = &p2858Var +var p2862Var = "thunk from >" +var p2862 = &p2862Var +var p2872Var = "thunk from >" +var p2872 = &p2872Var +var p2886Var = "function " +var p2886 = &p2886Var +var p2890Var = "thunk from >" +var p2890 = &p2890Var +var p2900Var = "thunk from >" +var p2900 = &p2900Var +var p2915Var = "function " +var p2915 = &p2915Var +var p2919Var = "thunk from >" +var p2919 = &p2919Var +var p2933Var = "thunk from >" +var p2933 = &p2933Var +var p2951Var = "thunk from >" +var p2951 = &p2951Var +var p2964Var = "thunk from >" +var p2964 = &p2964Var +var p2979Var = "thunk from >" +var p2979 = &p2979Var +var p2999Var = "thunk from >" +var p2999 = &p2999Var +var p3003Var = "thunk from >>" +var p3003 = &p3003Var +var p3009Var = "function " +var p3009 = &p3009Var +var p3014Var = "thunk from >" +var p3014 = &p3014Var +var p3039Var = "function " +var p3039 = &p3039Var +var p3043Var = "thunk from >" +var p3043 = &p3043Var +var p3057Var = "thunk from >" +var p3057 = &p3057Var +var p3075Var = "thunk from >" +var p3075 = &p3075Var +var p3088Var = "thunk from >" +var p3088 = &p3088Var +var p3103Var = "thunk from >" +var p3103 = &p3103Var +var p3123Var = "thunk from >" +var p3123 = &p3123Var +var p3127Var = "thunk from >>" +var p3127 = &p3127Var +var p3133Var = "function " +var p3133 = &p3133Var +var p3137Var = "thunk from >" +var p3137 = &p3137Var +var p3165Var = "function " +var p3165 = &p3165Var +var p3169Var = "thunk from >" +var p3169 = &p3169Var +var p3183Var = "thunk from >" +var p3183 = &p3183Var +var p3200Var = "thunk from >" +var p3200 = &p3200Var +var p3214Var = "thunk from >" var p3214 = &p3214Var -var p3218Var = "thunk from >>>" -var p3218 = &p3218Var -var p3224Var = "function " -var p3224 = &p3224Var -var p3229Var = "thunk from >" -var p3229 = &p3229Var -var p3248Var = "thunk from >" +var p3244Var = "object " +var p3244 = &p3244Var +var p3248Var = "thunk from >" var p3248 = &p3248Var -var p3260Var = "thunk from >" -var p3260 = &p3260Var -var p3273Var = "thunk from >>" -var p3273 = &p3273Var -var p3277Var = "thunk from >>>" -var p3277 = &p3277Var -var p3283Var = "function " -var p3283 = &p3283Var -var p3288Var = "thunk from >" -var p3288 = &p3288Var -var p3308Var = "thunk from >" -var p3308 = &p3308Var -var p3335Var = "function " -var p3335 = &p3335Var -var p3339Var = "thunk from >" -var p3339 = &p3339Var -var p3364Var = "thunk from >" +var p3270Var = "thunk from >" +var p3270 = &p3270Var +var p3291Var = "function " +var p3291 = &p3291Var +var p3295Var = "thunk from >" +var p3295 = &p3295Var +var p3309Var = "thunk from >" +var p3309 = &p3309Var +var p3325Var = "thunk from >" +var p3325 = &p3325Var +var p3341Var = "thunk from >" +var p3341 = &p3341Var +var p3349Var = "thunk from >>" +var p3349 = &p3349Var +var p3353Var = "thunk from >>>" +var p3353 = &p3353Var +var p3359Var = "function " +var p3359 = &p3359Var +var p3364Var = "thunk from >" var p3364 = &p3364Var -var p3386Var = "thunk from >" -var p3386 = &p3386Var -var p3398Var = "thunk from >" -var p3398 = &p3398Var -var p3421Var = "thunk from >" -var p3421 = &p3421Var -var p3425Var = "thunk from >>" -var p3425 = &p3425Var -var p3439Var = "thunk from >>" -var p3439 = &p3439Var -var p3458Var = "thunk from >" -var p3458 = &p3458Var -var p3483Var = "thunk from >" -var p3483 = &p3483Var -var p3516Var = "thunk from >" -var p3516 = &p3516Var -var p3525Var = "function " -var p3525 = &p3525Var -var p3529Var = "thunk from >" -var p3529 = &p3529Var -var p3543Var = "thunk from >" -var p3543 = &p3543Var -var p3559Var = "thunk from >" -var p3559 = &p3559Var -var p3568Var = "thunk from >" -var p3568 = &p3568Var -var p3583Var = "thunk from >" -var p3583 = &p3583Var -var p3592Var = "thunk from >" -var p3592 = &p3592Var -var p3608Var = "thunk from >" -var p3608 = &p3608Var -var p3634Var = "function " -var p3634 = &p3634Var -var p3638Var = "thunk from >" -var p3638 = &p3638Var -var p3643Var = "thunk from >>" -var p3643 = &p3643Var -var p3658Var = "function " -var p3658 = &p3658Var -var p3662Var = "thunk from >" -var p3662 = &p3662Var -var p3677Var = "thunk from >" -var p3677 = &p3677Var -var p3689Var = "thunk from >" -var p3689 = &p3689Var -var p3705Var = "thunk from >>" -var p3705 = &p3705Var -var p3709Var = "thunk from >>>" -var p3709 = &p3709Var -var p3736Var = "thunk from >" -var p3736 = &p3736Var -var p3761Var = "function " -var p3761 = &p3761Var -var p3765Var = "thunk from >" -var p3765 = &p3765Var -var p3775Var = "thunk from >" -var p3775 = &p3775Var -var p3796Var = "function " -var p3796 = &p3796Var -var p3800Var = "thunk from >" -var p3800 = &p3800Var -var p3813Var = "thunk from >" -var p3813 = &p3813Var -var p3830Var = "thunk from >" -var p3830 = &p3830Var -var p3849Var = "object " -var p3849 = &p3849Var -var p3867Var = "thunk from >" -var p3867 = &p3867Var -var p3875Var = "thunk from >" -var p3875 = &p3875Var -var p3890Var = "object " -var p3890 = &p3890Var -var p3905Var = "thunk from >" -var p3905 = &p3905Var -var p3920Var = "function " -var p3920 = &p3920Var -var p3924Var = "thunk from >" -var p3924 = &p3924Var -var p3934Var = "thunk from >" -var p3934 = &p3934Var -var p3951Var = "thunk from >" -var p3951 = &p3951Var -var p3963Var = "object " -var p3963 = &p3963Var -var p3980Var = "thunk from >" -var p3980 = &p3980Var -var p3992Var = "object " -var p3992 = &p3992Var -var p4009Var = "thunk from >" -var p4009 = &p4009Var -var p4021Var = "object " -var p4021 = &p4021Var -var p4038Var = "thunk from >" -var p4038 = &p4038Var -var p4050Var = "object " -var p4050 = &p4050Var -var p4067Var = "thunk from >" -var p4067 = &p4067Var -var p4079Var = "object " -var p4079 = &p4079Var -var p4088Var = "object " -var p4088 = &p4088Var -var p4112Var = "thunk from >" -var p4112 = &p4112Var -var p4117Var = "function " -var p4117 = &p4117Var -var p4121Var = "thunk from >" -var p4121 = &p4121Var -var p4129Var = "object " -var p4129 = &p4129Var -var p4142Var = "thunk from >" -var p4142 = &p4142Var -var p4151Var = "function " -var p4151 = &p4151Var -var p4168Var = "thunk from >" -var p4168 = &p4168Var -var p4180Var = "object " -var p4180 = &p4180Var -var p4198Var = "function " -var p4198 = &p4198Var +var p3383Var = "thunk from >" +var p3383 = &p3383Var +var p3395Var = "thunk from >" +var p3395 = &p3395Var +var p3408Var = "thunk from >>" +var p3408 = &p3408Var +var p3412Var = "thunk from >>>" +var p3412 = &p3412Var +var p3418Var = "function " +var p3418 = &p3418Var +var p3423Var = "thunk from >" +var p3423 = &p3423Var +var p3443Var = "thunk from >" +var p3443 = &p3443Var +var p3470Var = "function " +var p3470 = &p3470Var +var p3474Var = "thunk from >" +var p3474 = &p3474Var +var p3499Var = "thunk from >" +var p3499 = &p3499Var +var p3521Var = "thunk from >" +var p3521 = &p3521Var +var p3533Var = "thunk from >" +var p3533 = &p3533Var +var p3556Var = "thunk from >" +var p3556 = &p3556Var +var p3560Var = "thunk from >>" +var p3560 = &p3560Var +var p3574Var = "thunk from >>" +var p3574 = &p3574Var +var p3593Var = "thunk from >" +var p3593 = &p3593Var +var p3618Var = "thunk from >" +var p3618 = &p3618Var +var p3651Var = "thunk from >" +var p3651 = &p3651Var +var p3660Var = "function " +var p3660 = &p3660Var +var p3664Var = "thunk from >" +var p3664 = &p3664Var +var p3678Var = "thunk from >" +var p3678 = &p3678Var +var p3694Var = "thunk from >" +var p3694 = &p3694Var +var p3703Var = "thunk from >" +var p3703 = &p3703Var +var p3718Var = "thunk from >" +var p3718 = &p3718Var +var p3727Var = "thunk from >" +var p3727 = &p3727Var +var p3743Var = "thunk from >" +var p3743 = &p3743Var +var p3769Var = "function " +var p3769 = &p3769Var +var p3773Var = "thunk from >" +var p3773 = &p3773Var +var p3778Var = "thunk from >>" +var p3778 = &p3778Var +var p3793Var = "function " +var p3793 = &p3793Var +var p3797Var = "thunk from >" +var p3797 = &p3797Var +var p3812Var = "thunk from >" +var p3812 = &p3812Var +var p3824Var = "thunk from >" +var p3824 = &p3824Var +var p3840Var = "thunk from >>" +var p3840 = &p3840Var +var p3844Var = "thunk from >>>" +var p3844 = &p3844Var +var p3871Var = "thunk from >" +var p3871 = &p3871Var +var p3896Var = "function " +var p3896 = &p3896Var +var p3900Var = "thunk from >" +var p3900 = &p3900Var +var p3910Var = "thunk from >" +var p3910 = &p3910Var +var p3931Var = "function " +var p3931 = &p3931Var +var p3935Var = "thunk from >" +var p3935 = &p3935Var +var p3948Var = "thunk from >" +var p3948 = &p3948Var +var p3965Var = "thunk from >" +var p3965 = &p3965Var +var p3984Var = "object " +var p3984 = &p3984Var +var p4002Var = "thunk from >" +var p4002 = &p4002Var +var p4010Var = "thunk from >" +var p4010 = &p4010Var +var p4025Var = "object " +var p4025 = &p4025Var +var p4040Var = "thunk from >" +var p4040 = &p4040Var +var p4055Var = "function " +var p4055 = &p4055Var +var p4059Var = "thunk from >" +var p4059 = &p4059Var +var p4069Var = "thunk from >" +var p4069 = &p4069Var +var p4086Var = "thunk from >" +var p4086 = &p4086Var +var p4098Var = "object " +var p4098 = &p4098Var +var p4115Var = "thunk from >" +var p4115 = &p4115Var +var p4127Var = "object " +var p4127 = &p4127Var +var p4144Var = "thunk from >" +var p4144 = &p4144Var +var p4156Var = "object " +var p4156 = &p4156Var +var p4173Var = "thunk from >" +var p4173 = &p4173Var +var p4185Var = "object " +var p4185 = &p4185Var var p4202Var = "thunk from >" var p4202 = &p4202Var -var p4212Var = "thunk from >" -var p4212 = &p4212Var -var p4229Var = "thunk from >" -var p4229 = &p4229Var -var p4257Var = "thunk from >" -var p4257 = &p4257Var -var p4285Var = "thunk from >" -var p4285 = &p4285Var -var p4313Var = "thunk from >" -var p4313 = &p4313Var -var p4341Var = "thunk from >" -var p4341 = &p4341Var -var p4369Var = "thunk from >" -var p4369 = &p4369Var -var p4397Var = "thunk from >" -var p4397 = &p4397Var -var p4425Var = "thunk from >" -var p4425 = &p4425Var -var p4453Var = "thunk from >" -var p4453 = &p4453Var -var p4481Var = "thunk from >" -var p4481 = &p4481Var -var p4501Var = "object " -var p4501 = &p4501Var -var p4535Var = "thunk from >" -var p4535 = &p4535Var -var p4543Var = "thunk from >" -var p4543 = &p4543Var -var p4555Var = "thunk from >" -var p4555 = &p4555Var -var p4567Var = "function " -var p4567 = &p4567Var -var p4571Var = "thunk from >" -var p4571 = &p4571Var -var p4581Var = "thunk from >" -var p4581 = &p4581Var -var p4598Var = "thunk from >" -var p4598 = &p4598Var -var p4610Var = "object " -var p4610 = &p4610Var -var p4625Var = "thunk from >" -var p4625 = &p4625Var -var p4637Var = "function " -var p4637 = &p4637Var -var p4641Var = "thunk from >" -var p4641 = &p4641Var -var p4651Var = "thunk from >" -var p4651 = &p4651Var -var p4694Var = "thunk from >" -var p4694 = &p4694Var -var p4706Var = "function " +var p4214Var = "object " +var p4214 = &p4214Var +var p4223Var = "object " +var p4223 = &p4223Var +var p4247Var = "thunk from >" +var p4247 = &p4247Var +var p4252Var = "function " +var p4252 = &p4252Var +var p4256Var = "thunk from >" +var p4256 = &p4256Var +var p4264Var = "object " +var p4264 = &p4264Var +var p4277Var = "thunk from >" +var p4277 = &p4277Var +var p4286Var = "function " +var p4286 = &p4286Var +var p4303Var = "thunk from >" +var p4303 = &p4303Var +var p4315Var = "object " +var p4315 = &p4315Var +var p4333Var = "function " +var p4333 = &p4333Var +var p4337Var = "thunk from >" +var p4337 = &p4337Var +var p4347Var = "thunk from >" +var p4347 = &p4347Var +var p4364Var = "thunk from >" +var p4364 = &p4364Var +var p4392Var = "thunk from >" +var p4392 = &p4392Var +var p4420Var = "thunk from >" +var p4420 = &p4420Var +var p4448Var = "thunk from >" +var p4448 = &p4448Var +var p4476Var = "thunk from >" +var p4476 = &p4476Var +var p4504Var = "thunk from >" +var p4504 = &p4504Var +var p4532Var = "thunk from >" +var p4532 = &p4532Var +var p4560Var = "thunk from >" +var p4560 = &p4560Var +var p4588Var = "thunk from >" +var p4588 = &p4588Var +var p4616Var = "thunk from >" +var p4616 = &p4616Var +var p4636Var = "object " +var p4636 = &p4636Var +var p4670Var = "thunk from >" +var p4670 = &p4670Var +var p4678Var = "thunk from >" +var p4678 = &p4678Var +var p4690Var = "thunk from >" +var p4690 = &p4690Var +var p4702Var = "function " +var p4702 = &p4702Var +var p4706Var = "thunk from >" var p4706 = &p4706Var -var p4710Var = "thunk from >" -var p4710 = &p4710Var -var p4720Var = "thunk from >" -var p4720 = &p4720Var -var p4750Var = "object " -var p4750 = &p4750Var -var p4771Var = "object " -var p4771 = &p4771Var -var p4792Var = "object " -var p4792 = &p4792Var -var p4813Var = "object " -var p4813 = &p4813Var -var p4834Var = "object " -var p4834 = &p4834Var -var p4855Var = "object " +var p4716Var = "thunk from >" +var p4716 = &p4716Var +var p4733Var = "thunk from >" +var p4733 = &p4733Var +var p4745Var = "object " +var p4745 = &p4745Var +var p4760Var = "thunk from >" +var p4760 = &p4760Var +var p4772Var = "function " +var p4772 = &p4772Var +var p4776Var = "thunk from >" +var p4776 = &p4776Var +var p4786Var = "thunk from >" +var p4786 = &p4786Var +var p4829Var = "thunk from >" +var p4829 = &p4829Var +var p4841Var = "function " +var p4841 = &p4841Var +var p4845Var = "thunk from >" +var p4845 = &p4845Var +var p4855Var = "thunk from >" var p4855 = &p4855Var -var p4876Var = "object " -var p4876 = &p4876Var -var p4897Var = "object " -var p4897 = &p4897Var -var p4918Var = "object " -var p4918 = &p4918Var -var p4939Var = "object " -var p4939 = &p4939Var -var p4960Var = "object " -var p4960 = &p4960Var -var p4981Var = "object " -var p4981 = &p4981Var -var p5002Var = "object " -var p5002 = &p5002Var -var p5053Var = "thunk from >" +var p4885Var = "object " +var p4885 = &p4885Var +var p4906Var = "object " +var p4906 = &p4906Var +var p4927Var = "object " +var p4927 = &p4927Var +var p4948Var = "object " +var p4948 = &p4948Var +var p4969Var = "object " +var p4969 = &p4969Var +var p4990Var = "object " +var p4990 = &p4990Var +var p5011Var = "object " +var p5011 = &p5011Var +var p5032Var = "object " +var p5032 = &p5032Var +var p5053Var = "object " var p5053 = &p5053Var -var p5065Var = "function " -var p5065 = &p5065Var -var p5069Var = "thunk from >" -var p5069 = &p5069Var -var p5079Var = "thunk from >" -var p5079 = &p5079Var -var p5083Var = "thunk from from >>" -var p5083 = &p5083Var -var p5092Var = "thunk from >" -var p5092 = &p5092Var -var p5096Var = "thunk from from >>" -var p5096 = &p5096Var -var p5108Var = "thunk from >" -var p5108 = &p5108Var -var p5112Var = "thunk from from >>" -var p5112 = &p5112Var -var p5124Var = "thunk from >" -var p5124 = &p5124Var -var p5128Var = "thunk from from >>" -var p5128 = &p5128Var -var p5140Var = "thunk from >" -var p5140 = &p5140Var -var p5144Var = "thunk from from >>" -var p5144 = &p5144Var -var p5156Var = "thunk from >" -var p5156 = &p5156Var -var p5160Var = "thunk from from >>" -var p5160 = &p5160Var -var p5172Var = "object " -var p5172 = &p5172Var -var p5182Var = "object " -var p5182 = &p5182Var -var p5233Var = "thunk from >" -var p5233 = &p5233Var -var p5245Var = "function " -var p5245 = &p5245Var -var p5249Var = "thunk from >" -var p5249 = &p5249Var -var p5259Var = "thunk from >" +var p5074Var = "object " +var p5074 = &p5074Var +var p5095Var = "object " +var p5095 = &p5095Var +var p5116Var = "object " +var p5116 = &p5116Var +var p5137Var = "object " +var p5137 = &p5137Var +var p5188Var = "thunk from >" +var p5188 = &p5188Var +var p5200Var = "function " +var p5200 = &p5200Var +var p5204Var = "thunk from >" +var p5204 = &p5204Var +var p5214Var = "thunk from >" +var p5214 = &p5214Var +var p5218Var = "thunk from from >>" +var p5218 = &p5218Var +var p5227Var = "thunk from >" +var p5227 = &p5227Var +var p5231Var = "thunk from from >>" +var p5231 = &p5231Var +var p5243Var = "thunk from >" +var p5243 = &p5243Var +var p5247Var = "thunk from from >>" +var p5247 = &p5247Var +var p5259Var = "thunk from >" var p5259 = &p5259Var -var p5270Var = "thunk from >" -var p5270 = &p5270Var -var p5285Var = "thunk from >" -var p5285 = &p5285Var -var p5289Var = "thunk from from >>" -var p5289 = &p5289Var -var p5303Var = "thunk from >" -var p5303 = &p5303Var -var p5314Var = "thunk from >>" -var p5314 = &p5314Var -var p5335Var = "thunk from >" -var p5335 = &p5335Var -var p5360Var = "thunk from >" -var p5360 = &p5360Var -var p5366Var = "thunk from >" -var p5366 = &p5366Var -var p5370Var = "thunk from from >>" -var p5370 = &p5370Var -var p5385Var = "function " -var p5385 = &p5385Var -var p5399Var = "thunk from >" -var p5399 = &p5399Var -var p5414Var = "thunk from >" -var p5414 = &p5414Var -var p5419Var = "function " -var p5419 = &p5419Var -var p5423Var = "thunk from >" -var p5423 = &p5423Var -var p5430Var = "thunk from >" -var p5430 = &p5430Var -var p5436Var = "function " -var p5436 = &p5436Var -var p5449Var = "thunk from >" +var p5263Var = "thunk from from >>" +var p5263 = &p5263Var +var p5275Var = "thunk from >" +var p5275 = &p5275Var +var p5279Var = "thunk from from >>" +var p5279 = &p5279Var +var p5291Var = "thunk from >" +var p5291 = &p5291Var +var p5295Var = "thunk from from >>" +var p5295 = &p5295Var +var p5307Var = "object " +var p5307 = &p5307Var +var p5317Var = "object " +var p5317 = &p5317Var +var p5368Var = "thunk from >" +var p5368 = &p5368Var +var p5380Var = "function " +var p5380 = &p5380Var +var p5384Var = "thunk from >" +var p5384 = &p5384Var +var p5394Var = "thunk from >" +var p5394 = &p5394Var +var p5405Var = "thunk from >" +var p5405 = &p5405Var +var p5420Var = "thunk from >" +var p5420 = &p5420Var +var p5424Var = "thunk from from >>" +var p5424 = &p5424Var +var p5438Var = "thunk from >" +var p5438 = &p5438Var +var p5449Var = "thunk from >>" var p5449 = &p5449Var -var p5453Var = "thunk from >>" -var p5453 = &p5453Var -var p5464Var = "thunk from >" -var p5464 = &p5464Var -var p5472Var = "function " -var p5472 = &p5472Var -var p5481Var = "thunk from >" -var p5481 = &p5481Var -var p5485Var = "thunk from >>" -var p5485 = &p5485Var -var p5499Var = "thunk from >" -var p5499 = &p5499Var -var p5509Var = "thunk from >" -var p5509 = &p5509Var -var p5521Var = "function " -var p5521 = &p5521Var -var p5551Var = "thunk from >" -var p5551 = &p5551Var -var p5556Var = "thunk from >>" -var p5556 = &p5556Var -var p5568Var = "thunk from from >>" -var p5568 = &p5568Var -var p5576Var = "thunk from from >>" -var p5576 = &p5576Var -var p5590Var = "thunk from >" -var p5590 = &p5590Var -var p5612Var = "thunk from >" -var p5612 = &p5612Var -var p5616Var = "thunk from from >>" +var p5470Var = "thunk from >" +var p5470 = &p5470Var +var p5495Var = "thunk from >" +var p5495 = &p5495Var +var p5501Var = "thunk from >" +var p5501 = &p5501Var +var p5505Var = "thunk from from >>" +var p5505 = &p5505Var +var p5520Var = "function " +var p5520 = &p5520Var +var p5534Var = "thunk from >" +var p5534 = &p5534Var +var p5549Var = "thunk from >" +var p5549 = &p5549Var +var p5554Var = "function " +var p5554 = &p5554Var +var p5558Var = "thunk from >" +var p5558 = &p5558Var +var p5565Var = "thunk from >" +var p5565 = &p5565Var +var p5571Var = "function " +var p5571 = &p5571Var +var p5584Var = "thunk from >" +var p5584 = &p5584Var +var p5588Var = "thunk from >>" +var p5588 = &p5588Var +var p5599Var = "thunk from >" +var p5599 = &p5599Var +var p5607Var = "function " +var p5607 = &p5607Var +var p5616Var = "thunk from >" var p5616 = &p5616Var -var p5625Var = "thunk from >" -var p5625 = &p5625Var -var p5629Var = "thunk from from >>" -var p5629 = &p5629Var -var p5637Var = "function " -var p5637 = &p5637Var -var p5666Var = "thunk from >" -var p5666 = &p5666Var -var p5676Var = "thunk from >" -var p5676 = &p5676Var -var p5681Var = "thunk from from >>" -var p5681 = &p5681Var -var p5690Var = "thunk from from >>" -var p5690 = &p5690Var -var p5701Var = "thunk from from >>" -var p5701 = &p5701Var -var p5720Var = "thunk from >" -var p5720 = &p5720Var -var p5724Var = "thunk from from >>" -var p5724 = &p5724Var -var p5733Var = "function " -var p5733 = &p5733Var -var p5765Var = "thunk from >" -var p5765 = &p5765Var -var p5770Var = "thunk from >>" -var p5770 = &p5770Var -var p5781Var = "thunk from >" -var p5781 = &p5781Var -var p5788Var = "thunk from >" -var p5788 = &p5788Var -var p5797Var = "thunk from from >>" -var p5797 = &p5797Var -var p5811Var = "thunk from from >>" +var p5620Var = "thunk from >>" +var p5620 = &p5620Var +var p5634Var = "thunk from >" +var p5634 = &p5634Var +var p5644Var = "thunk from >" +var p5644 = &p5644Var +var p5656Var = "function " +var p5656 = &p5656Var +var p5686Var = "thunk from >" +var p5686 = &p5686Var +var p5691Var = "thunk from >>" +var p5691 = &p5691Var +var p5703Var = "thunk from from >>" +var p5703 = &p5703Var +var p5711Var = "thunk from from >>" +var p5711 = &p5711Var +var p5725Var = "thunk from >" +var p5725 = &p5725Var +var p5747Var = "thunk from >" +var p5747 = &p5747Var +var p5751Var = "thunk from from >>" +var p5751 = &p5751Var +var p5760Var = "thunk from >" +var p5760 = &p5760Var +var p5764Var = "thunk from from >>" +var p5764 = &p5764Var +var p5772Var = "function " +var p5772 = &p5772Var +var p5801Var = "thunk from >" +var p5801 = &p5801Var +var p5811Var = "thunk from >" var p5811 = &p5811Var -var p5815Var = "thunk from from >>>" -var p5815 = &p5815Var -var p5824Var = "thunk from >" -var p5824 = &p5824Var -var p5833Var = "thunk from >" -var p5833 = &p5833Var -var p5865Var = "thunk from >" -var p5865 = &p5865Var -var p5869Var = "thunk from from >>" -var p5869 = &p5869Var -var p5879Var = "thunk from >" -var p5879 = &p5879Var -var p5883Var = "thunk from from >>" -var p5883 = &p5883Var -var p5904Var = "function " -var p5904 = &p5904Var -var p5940Var = "thunk from >" -var p5940 = &p5940Var -var p5951Var = "function " -var p5951 = &p5951Var -var p5973Var = "thunk from >" -var p5973 = &p5973Var -var p5990Var = "thunk from >" -var p5990 = &p5990Var -var p6006Var = "thunk from >" -var p6006 = &p6006Var -var p6011Var = "function " -var p6011 = &p6011Var -var p6015Var = "thunk from >" -var p6015 = &p6015Var -var p6027Var = "thunk from >>" -var p6027 = &p6027Var -var p6035Var = "thunk from >" -var p6035 = &p6035Var -var p6047Var = "thunk from >" -var p6047 = &p6047Var -var p6051Var = "thunk from from >>" -var p6051 = &p6051Var -var p6061Var = "thunk from >" -var p6061 = &p6061Var -var p6065Var = "thunk from from >>" -var p6065 = &p6065Var -var p6075Var = "thunk from >" +var p5816Var = "thunk from from >>" +var p5816 = &p5816Var +var p5825Var = "thunk from from >>" +var p5825 = &p5825Var +var p5836Var = "thunk from from >>" +var p5836 = &p5836Var +var p5855Var = "thunk from >" +var p5855 = &p5855Var +var p5859Var = "thunk from from >>" +var p5859 = &p5859Var +var p5868Var = "function " +var p5868 = &p5868Var +var p5900Var = "thunk from >" +var p5900 = &p5900Var +var p5905Var = "thunk from >>" +var p5905 = &p5905Var +var p5916Var = "thunk from >" +var p5916 = &p5916Var +var p5923Var = "thunk from >" +var p5923 = &p5923Var +var p5932Var = "thunk from from >>" +var p5932 = &p5932Var +var p5946Var = "thunk from from >>" +var p5946 = &p5946Var +var p5950Var = "thunk from from >>>" +var p5950 = &p5950Var +var p5959Var = "thunk from >" +var p5959 = &p5959Var +var p5968Var = "thunk from >" +var p5968 = &p5968Var +var p6000Var = "thunk from >" +var p6000 = &p6000Var +var p6004Var = "thunk from from >>" +var p6004 = &p6004Var +var p6014Var = "thunk from >" +var p6014 = &p6014Var +var p6018Var = "thunk from from >>" +var p6018 = &p6018Var +var p6039Var = "function " +var p6039 = &p6039Var +var p6075Var = "thunk from >" var p6075 = &p6075Var -var p6079Var = "thunk from from >>" -var p6079 = &p6079Var -var p6087Var = "thunk from >" -var p6087 = &p6087Var -var p6099Var = "thunk from from >>" -var p6099 = &p6099Var -var p6112Var = "thunk from >" -var p6112 = &p6112Var -var p6117Var = "thunk from from >>" -var p6117 = &p6117Var -var p6131Var = "thunk from from >>" -var p6131 = &p6131Var -var p6149Var = "thunk from >" -var p6149 = &p6149Var -var p6153Var = "thunk from from >>" -var p6153 = &p6153Var -var p6165Var = "thunk from >" -var p6165 = &p6165Var -var p6181Var = "thunk from >" -var p6181 = &p6181Var -var p6194Var = "thunk from >" -var p6194 = &p6194Var -var p6199Var = "thunk from from >>" -var p6199 = &p6199Var -var p6218Var = "function " -var p6218 = &p6218Var -var p6247Var = "thunk from >" +var p6086Var = "function " +var p6086 = &p6086Var +var p6108Var = "thunk from >" +var p6108 = &p6108Var +var p6125Var = "thunk from >" +var p6125 = &p6125Var +var p6141Var = "thunk from >" +var p6141 = &p6141Var +var p6146Var = "function " +var p6146 = &p6146Var +var p6150Var = "thunk from >" +var p6150 = &p6150Var +var p6162Var = "thunk from >>" +var p6162 = &p6162Var +var p6170Var = "thunk from >" +var p6170 = &p6170Var +var p6182Var = "thunk from >" +var p6182 = &p6182Var +var p6186Var = "thunk from from >>" +var p6186 = &p6186Var +var p6196Var = "thunk from >" +var p6196 = &p6196Var +var p6200Var = "thunk from from >>" +var p6200 = &p6200Var +var p6210Var = "thunk from >" +var p6210 = &p6210Var +var p6214Var = "thunk from from >>" +var p6214 = &p6214Var +var p6222Var = "thunk from >" +var p6222 = &p6222Var +var p6234Var = "thunk from from >>" +var p6234 = &p6234Var +var p6247Var = "thunk from >" var p6247 = &p6247Var -var p6251Var = "thunk from from >>" -var p6251 = &p6251Var -var p6273Var = "thunk from >" -var p6273 = &p6273Var -var p6320Var = "thunk from >" -var p6320 = &p6320Var -var p6330Var = "thunk from >" -var p6330 = &p6330Var -var p6348Var = "thunk from from >>" -var p6348 = &p6348Var -var p6352Var = "thunk from from >>>" -var p6352 = &p6352Var -var p6366Var = "thunk from from >>>" -var p6366 = &p6366Var -var p6370Var = "thunk from from >>>>" -var p6370 = &p6370Var -var p6382Var = "thunk from >" +var p6252Var = "thunk from from >>" +var p6252 = &p6252Var +var p6266Var = "thunk from from >>" +var p6266 = &p6266Var +var p6284Var = "thunk from >" +var p6284 = &p6284Var +var p6288Var = "thunk from from >>" +var p6288 = &p6288Var +var p6300Var = "thunk from >" +var p6300 = &p6300Var +var p6316Var = "thunk from >" +var p6316 = &p6316Var +var p6329Var = "thunk from >" +var p6329 = &p6329Var +var p6334Var = "thunk from from >>" +var p6334 = &p6334Var +var p6353Var = "function " +var p6353 = &p6353Var +var p6382Var = "thunk from >" var p6382 = &p6382Var -var p6387Var = "thunk from from >>" -var p6387 = &p6387Var -var p6399Var = "thunk from from >>>" -var p6399 = &p6399Var -var p6423Var = "thunk from >" -var p6423 = &p6423Var -var p6436Var = "thunk from from >>" -var p6436 = &p6436Var -var p6461Var = "thunk from from >>" -var p6461 = &p6461Var -var p6479Var = "thunk from >" -var p6479 = &p6479Var -var p6483Var = "thunk from from >>" +var p6386Var = "thunk from from >>" +var p6386 = &p6386Var +var p6408Var = "thunk from >" +var p6408 = &p6408Var +var p6455Var = "thunk from >" +var p6455 = &p6455Var +var p6465Var = "thunk from >" +var p6465 = &p6465Var +var p6483Var = "thunk from from >>" var p6483 = &p6483Var -var p6491Var = "function " -var p6491 = &p6491Var -var p6499Var = "thunk from >" -var p6499 = &p6499Var -var p6524Var = "thunk from >" -var p6524 = &p6524Var -var p6535Var = "thunk from >" -var p6535 = &p6535Var -var p6542Var = "thunk from >" -var p6542 = &p6542Var -var p6555Var = "thunk from >" -var p6555 = &p6555Var -var p6572Var = "thunk from >" -var p6572 = &p6572Var -var p6588Var = "function " -var p6588 = &p6588Var -var p6604Var = "thunk from >" -var p6604 = &p6604Var -var p6627Var = "thunk from >" -var p6627 = &p6627Var -var p6641Var = "thunk from >" -var p6641 = &p6641Var -var p6664Var = "thunk from >" -var p6664 = &p6664Var -var p6680Var = "thunk from >>" -var p6680 = &p6680Var -var p6684Var = "thunk from >>>" -var p6684 = &p6684Var -var p6728Var = "thunk from >" -var p6728 = &p6728Var -var p6742Var = "thunk from >" -var p6742 = &p6742Var -var p6764Var = "thunk from >" -var p6764 = &p6764Var -var p6777Var = "thunk from >" -var p6777 = &p6777Var -var p6793Var = "thunk from >>" -var p6793 = &p6793Var -var p6797Var = "thunk from >>>" -var p6797 = &p6797Var -var p6844Var = "thunk from >" -var p6844 = &p6844Var -var p6858Var = "thunk from >" -var p6858 = &p6858Var -var p6883Var = "thunk from >" -var p6883 = &p6883Var -var p6887Var = "thunk from >>" -var p6887 = &p6887Var -var p6944Var = "thunk from >" -var p6944 = &p6944Var -var p6958Var = "thunk from >" -var p6958 = &p6958Var +var p6487Var = "thunk from from >>>" +var p6487 = &p6487Var +var p6501Var = "thunk from from >>>" +var p6501 = &p6501Var +var p6505Var = "thunk from from >>>>" +var p6505 = &p6505Var +var p6517Var = "thunk from >" +var p6517 = &p6517Var +var p6522Var = "thunk from from >>" +var p6522 = &p6522Var +var p6534Var = "thunk from from >>>" +var p6534 = &p6534Var +var p6558Var = "thunk from >" +var p6558 = &p6558Var +var p6571Var = "thunk from from >>" +var p6571 = &p6571Var +var p6596Var = "thunk from from >>" +var p6596 = &p6596Var +var p6614Var = "thunk from >" +var p6614 = &p6614Var +var p6618Var = "thunk from from >>" +var p6618 = &p6618Var +var p6626Var = "function " +var p6626 = &p6626Var +var p6634Var = "thunk from >" +var p6634 = &p6634Var +var p6659Var = "thunk from >" +var p6659 = &p6659Var +var p6670Var = "thunk from >" +var p6670 = &p6670Var +var p6677Var = "thunk from >" +var p6677 = &p6677Var +var p6690Var = "thunk from >" +var p6690 = &p6690Var +var p6707Var = "thunk from >" +var p6707 = &p6707Var +var p6723Var = "function " +var p6723 = &p6723Var +var p6739Var = "thunk from >" +var p6739 = &p6739Var +var p6762Var = "thunk from >" +var p6762 = &p6762Var +var p6776Var = "thunk from >" +var p6776 = &p6776Var +var p6799Var = "thunk from >" +var p6799 = &p6799Var +var p6815Var = "thunk from >>" +var p6815 = &p6815Var +var p6819Var = "thunk from >>>" +var p6819 = &p6819Var +var p6863Var = "thunk from >" +var p6863 = &p6863Var +var p6877Var = "thunk from >" +var p6877 = &p6877Var +var p6899Var = "thunk from >" +var p6899 = &p6899Var +var p6912Var = "thunk from >" +var p6912 = &p6912Var +var p6928Var = "thunk from >>" +var p6928 = &p6928Var +var p6932Var = "thunk from >>>" +var p6932 = &p6932Var var p6979Var = "thunk from >" var p6979 = &p6979Var -var p7031Var = "thunk from >" -var p7031 = &p7031Var -var p7045Var = "thunk from >" -var p7045 = &p7045Var -var p7066Var = "thunk from >" -var p7066 = &p7066Var -var p7124Var = "thunk from >" -var p7124 = &p7124Var -var p7138Var = "thunk from >" -var p7138 = &p7138Var -var p7160Var = "thunk from >" -var p7160 = &p7160Var -var p7169Var = "thunk from from >>" -var p7169 = &p7169Var -var p7173Var = "thunk from from >>>" -var p7173 = &p7173Var -var p7187Var = "thunk from from >>>" -var p7187 = &p7187Var -var p7191Var = "thunk from from >>>>" -var p7191 = &p7191Var -var p7218Var = "thunk from >" -var p7218 = &p7218Var -var p7267Var = "thunk from >" -var p7267 = &p7267Var -var p7271Var = "thunk from from >>" -var p7271 = &p7271Var -var p7284Var = "thunk from >" -var p7284 = &p7284Var -var p7351Var = "thunk from >" -var p7351 = &p7351Var -var p7364Var = "thunk from >" -var p7364 = &p7364Var -var p7378Var = "thunk from >" -var p7378 = &p7378Var -var p7393Var = "thunk from >" -var p7393 = &p7393Var -var p7410Var = "thunk from >" +var p6993Var = "thunk from >" +var p6993 = &p6993Var +var p7018Var = "thunk from >" +var p7018 = &p7018Var +var p7022Var = "thunk from >>" +var p7022 = &p7022Var +var p7079Var = "thunk from >" +var p7079 = &p7079Var +var p7093Var = "thunk from >" +var p7093 = &p7093Var +var p7114Var = "thunk from >" +var p7114 = &p7114Var +var p7166Var = "thunk from >" +var p7166 = &p7166Var +var p7180Var = "thunk from >" +var p7180 = &p7180Var +var p7201Var = "thunk from >" +var p7201 = &p7201Var +var p7259Var = "thunk from >" +var p7259 = &p7259Var +var p7273Var = "thunk from >" +var p7273 = &p7273Var +var p7293Var = "thunk from >" +var p7293 = &p7293Var +var p7310Var = "thunk from from >>" +var p7310 = &p7310Var +var p7314Var = "thunk from from >>>" +var p7314 = &p7314Var +var p7328Var = "thunk from from >>>" +var p7328 = &p7328Var +var p7332Var = "thunk from from >>>>" +var p7332 = &p7332Var +var p7361Var = "thunk from >" +var p7361 = &p7361Var +var p7410Var = "thunk from >" var p7410 = &p7410Var -var p7430Var = "thunk from >" -var p7430 = &p7430Var -var p7479Var = "thunk from >" -var p7479 = &p7479Var -var p7491Var = "function " -var p7491 = &p7491Var -var p7495Var = "thunk from >" -var p7495 = &p7495Var -var p7511Var = "thunk from >" -var p7511 = &p7511Var -var p7532Var = "thunk from >" -var p7532 = &p7532Var -var p7551Var = "thunk from >" -var p7551 = &p7551Var -var p7567Var = "thunk from >" -var p7567 = &p7567Var -var p7577Var = "thunk from >" -var p7577 = &p7577Var -var p7600Var = "thunk from >" -var p7600 = &p7600Var -var p7612Var = "object " -var p7612 = &p7612Var -var p7627Var = "thunk from >" -var p7627 = &p7627Var -var p7648Var = "thunk from >" -var p7648 = &p7648Var -var p7671Var = "object " -var p7671 = &p7671Var -var p7686Var = "thunk from >" -var p7686 = &p7686Var -var p7698Var = "object " -var p7698 = &p7698Var -var p7716Var = "thunk from >" -var p7716 = &p7716Var -var p7743Var = "thunk from >" +var p7414Var = "thunk from from >>" +var p7414 = &p7414Var +var p7427Var = "thunk from >" +var p7427 = &p7427Var +var p7494Var = "thunk from >" +var p7494 = &p7494Var +var p7507Var = "thunk from >" +var p7507 = &p7507Var +var p7521Var = "thunk from >" +var p7521 = &p7521Var +var p7536Var = "thunk from >" +var p7536 = &p7536Var +var p7553Var = "thunk from >" +var p7553 = &p7553Var +var p7573Var = "thunk from >" +var p7573 = &p7573Var +var p7622Var = "thunk from >" +var p7622 = &p7622Var +var p7634Var = "function " +var p7634 = &p7634Var +var p7638Var = "thunk from >" +var p7638 = &p7638Var +var p7654Var = "thunk from >" +var p7654 = &p7654Var +var p7675Var = "thunk from >" +var p7675 = &p7675Var +var p7694Var = "thunk from >" +var p7694 = &p7694Var +var p7710Var = "thunk from >" +var p7710 = &p7710Var +var p7720Var = "thunk from >" +var p7720 = &p7720Var +var p7743Var = "thunk from >" var p7743 = &p7743Var -var p7772Var = "object " -var p7772 = &p7772Var -var p7788Var = "thunk from >" -var p7788 = &p7788Var -var p7799Var = "thunk from >" -var p7799 = &p7799Var -var p7803Var = "thunk from from >>" -var p7803 = &p7803Var -var p7831Var = "thunk from from >>" -var p7831 = &p7831Var -var p7848Var = "thunk from >" -var p7848 = &p7848Var -var p7863Var = "thunk from from >>" -var p7863 = &p7863Var -var p7893Var = "thunk from >" -var p7893 = &p7893Var -var p7901Var = "thunk from from >>" -var p7901 = &p7901Var -var p7916Var = "thunk from from >>" -var p7916 = &p7916Var -var p7933Var = "thunk from >" -var p7933 = &p7933Var -var p7958Var = "thunk from >" -var p7958 = &p7958Var -var p7999Var = "thunk from >" -var p7999 = &p7999Var -var p8011Var = "function " -var p8011 = &p8011Var -var p8015Var = "thunk from >" -var p8015 = &p8015Var -var p8028Var = "thunk from >" -var p8028 = &p8028Var -var p8044Var = "thunk from >" +var p7755Var = "object " +var p7755 = &p7755Var +var p7770Var = "thunk from >" +var p7770 = &p7770Var +var p7791Var = "thunk from >" +var p7791 = &p7791Var +var p7814Var = "object " +var p7814 = &p7814Var +var p7829Var = "thunk from >" +var p7829 = &p7829Var +var p7841Var = "object " +var p7841 = &p7841Var +var p7859Var = "thunk from >" +var p7859 = &p7859Var +var p7886Var = "thunk from >" +var p7886 = &p7886Var +var p7915Var = "object " +var p7915 = &p7915Var +var p7931Var = "thunk from >" +var p7931 = &p7931Var +var p7942Var = "thunk from >" +var p7942 = &p7942Var +var p7946Var = "thunk from from >>" +var p7946 = &p7946Var +var p7974Var = "thunk from from >>" +var p7974 = &p7974Var +var p7991Var = "thunk from >" +var p7991 = &p7991Var +var p8006Var = "thunk from from >>" +var p8006 = &p8006Var +var p8036Var = "thunk from >" +var p8036 = &p8036Var +var p8044Var = "thunk from from >>" var p8044 = &p8044Var -var p8054Var = "thunk from >" -var p8054 = &p8054Var -var p8075Var = "thunk from >" -var p8075 = &p8075Var -var p8099Var = "thunk from >" -var p8099 = &p8099Var -var p8123Var = "thunk from >" -var p8123 = &p8123Var -var p8150Var = "thunk from >" -var p8150 = &p8150Var -var p8154Var = "thunk from from >>" +var p8059Var = "thunk from from >>" +var p8059 = &p8059Var +var p8076Var = "thunk from >" +var p8076 = &p8076Var +var p8101Var = "thunk from >" +var p8101 = &p8101Var +var p8142Var = "thunk from >" +var p8142 = &p8142Var +var p8154Var = "function " var p8154 = &p8154Var -var p8182Var = "thunk from >" -var p8182 = &p8182Var -var p8197Var = "thunk from from >>" +var p8158Var = "thunk from >" +var p8158 = &p8158Var +var p8171Var = "thunk from >" +var p8171 = &p8171Var +var p8187Var = "thunk from >" +var p8187 = &p8187Var +var p8197Var = "thunk from >" var p8197 = &p8197Var -var p8221Var = "thunk from >" -var p8221 = &p8221Var -var p8229Var = "thunk from from >>" -var p8229 = &p8229Var -var p8241Var = "thunk from from >>" -var p8241 = &p8241Var -var p8256Var = "thunk from >" -var p8256 = &p8256Var -var p8293Var = "thunk from >" +var p8218Var = "thunk from >" +var p8218 = &p8218Var +var p8242Var = "thunk from >" +var p8242 = &p8242Var +var p8266Var = "thunk from >" +var p8266 = &p8266Var +var p8293Var = "thunk from >" var p8293 = &p8293Var -var p8301Var = "function " -var p8301 = &p8301Var -var p8305Var = "thunk from >" -var p8305 = &p8305Var -var p8314Var = "thunk from >" -var p8314 = &p8314Var -var p8331Var = "thunk from >" -var p8331 = &p8331Var -var p8340Var = "thunk from >" +var p8297Var = "thunk from from >>" +var p8297 = &p8297Var +var p8325Var = "thunk from >" +var p8325 = &p8325Var +var p8340Var = "thunk from from >>" var p8340 = &p8340Var -var p8353Var = "thunk from >" -var p8353 = &p8353Var -var p8358Var = "thunk from >>" -var p8358 = &p8358Var -var p8451Var = "function " -var p8451 = &p8451Var -var p8464Var = "thunk from >" -var p8464 = &p8464Var -var p8474Var = "thunk from >>" +var p8364Var = "thunk from >" +var p8364 = &p8364Var +var p8372Var = "thunk from from >>" +var p8372 = &p8372Var +var p8384Var = "thunk from from >>" +var p8384 = &p8384Var +var p8399Var = "thunk from >" +var p8399 = &p8399Var +var p8436Var = "thunk from >" +var p8436 = &p8436Var +var p8444Var = "function " +var p8444 = &p8444Var +var p8448Var = "thunk from >" +var p8448 = &p8448Var +var p8457Var = "thunk from >" +var p8457 = &p8457Var +var p8474Var = "thunk from >" var p8474 = &p8474Var -var p8492Var = "thunk from >" -var p8492 = &p8492Var -var p8497Var = "function " -var p8497 = &p8497Var -var p8501Var = "thunk from >" +var p8483Var = "thunk from >" +var p8483 = &p8483Var +var p8496Var = "thunk from >" +var p8496 = &p8496Var +var p8501Var = "thunk from >>" var p8501 = &p8501Var -var p8517Var = "thunk from >>" -var p8517 = &p8517Var -var p8538Var = "function " -var p8538 = &p8538Var -var p8542Var = "thunk from >" -var p8542 = &p8542Var -var p8557Var = "thunk from >" -var p8557 = &p8557Var -var p8566Var = "thunk from >>" -var p8566 = &p8566Var -var p8585Var = "thunk from >" -var p8585 = &p8585Var -var p8590Var = "function " -var p8590 = &p8590Var -var p8594Var = "thunk from >" +var p8594Var = "function " var p8594 = &p8594Var -var p8615Var = "function " -var p8615 = &p8615Var -var p8619Var = "thunk from >" -var p8619 = &p8619Var -var p8633Var = "thunk from >" -var p8633 = &p8633Var -var p8650Var = "thunk from >" -var p8650 = &p8650Var -var p8664Var = "thunk from >" -var p8664 = &p8664Var -var p8681Var = "thunk from >" +var p8607Var = "thunk from >" +var p8607 = &p8607Var +var p8617Var = "thunk from >>" +var p8617 = &p8617Var +var p8635Var = "thunk from >" +var p8635 = &p8635Var +var p8640Var = "function " +var p8640 = &p8640Var +var p8644Var = "thunk from >" +var p8644 = &p8644Var +var p8660Var = "thunk from >>" +var p8660 = &p8660Var +var p8681Var = "function " var p8681 = &p8681Var -var p8695Var = "thunk from >" -var p8695 = &p8695Var -var p8711Var = "thunk from >" -var p8711 = &p8711Var -var p8721Var = "thunk from >>" -var p8721 = &p8721Var -var p8741Var = "function " -var p8741 = &p8741Var -var p8776Var = "function " +var p8685Var = "thunk from >" +var p8685 = &p8685Var +var p8700Var = "thunk from >" +var p8700 = &p8700Var +var p8709Var = "thunk from >>" +var p8709 = &p8709Var +var p8728Var = "thunk from >" +var p8728 = &p8728Var +var p8733Var = "function " +var p8733 = &p8733Var +var p8737Var = "thunk from >" +var p8737 = &p8737Var +var p8758Var = "function " +var p8758 = &p8758Var +var p8762Var = "thunk from >" +var p8762 = &p8762Var +var p8776Var = "thunk from >" var p8776 = &p8776Var -var p8780Var = "thunk from >" -var p8780 = &p8780Var -var p8794Var = "thunk from >" -var p8794 = &p8794Var -var p8829Var = "function " -var p8829 = &p8829Var -var p8833Var = "thunk from >" -var p8833 = &p8833Var -var p8847Var = "thunk from >" -var p8847 = &p8847Var -var p8891Var = "function " -var p8891 = &p8891Var -var p8895Var = "thunk from >" +var p8793Var = "thunk from >" +var p8793 = &p8793Var +var p8807Var = "thunk from >" +var p8807 = &p8807Var +var p8824Var = "thunk from >" +var p8824 = &p8824Var +var p8838Var = "thunk from >" +var p8838 = &p8838Var +var p8854Var = "thunk from >" +var p8854 = &p8854Var +var p8864Var = "thunk from >>" +var p8864 = &p8864Var +var p8886Var = "thunk from >" +var p8886 = &p8886Var +var p8895Var = "thunk from from >>" var p8895 = &p8895Var -var p8909Var = "thunk from >" -var p8909 = &p8909Var -var p8926Var = "thunk from >" -var p8926 = &p8926Var -var p8940Var = "thunk from >" -var p8940 = &p8940Var -var p8976Var = "function " -var p8976 = &p8976Var -var p8980Var = "thunk from >" -var p8980 = &p8980Var +var p8907Var = "thunk from from >>" +var p8907 = &p8907Var +var p8918Var = "thunk from >" +var p8918 = &p8918Var +var p8927Var = "thunk from from >>" +var p8927 = &p8927Var +var p8939Var = "thunk from from >>" +var p8939 = &p8939Var +var p8948Var = "function " +var p8948 = &p8948Var +var p8990Var = "function " +var p8990 = &p8990Var var p8994Var = "thunk from >" var p8994 = &p8994Var -var p9011Var = "thunk from >" -var p9011 = &p9011Var -var p9025Var = "thunk from >" -var p9025 = &p9025Var -var p9057Var = "function " -var p9057 = &p9057Var -var p9089Var = "function " -var p9089 = &p9089Var -var p9095Var = "function " -var p9095 = &p9095Var -var p9101Var = "thunk from >" -var p9101 = &p9101Var -var p9119Var = "function " -var p9119 = &p9119Var -var p9123Var = "thunk from >" +var p9008Var = "thunk from >" +var p9008 = &p9008Var +var p9043Var = "function " +var p9043 = &p9043Var +var p9047Var = "thunk from >" +var p9047 = &p9047Var +var p9061Var = "thunk from >" +var p9061 = &p9061Var +var p9105Var = "function " +var p9105 = &p9105Var +var p9109Var = "thunk from >" +var p9109 = &p9109Var +var p9123Var = "thunk from >" var p9123 = &p9123Var -var p9138Var = "thunk from >>>" -var p9138 = &p9138Var -var p9149Var = "thunk from >>" -var p9149 = &p9149Var -var p9153Var = "thunk from >>>" -var p9153 = &p9153Var -var p9174Var = "thunk from >>>" -var p9174 = &p9174Var -var p9178Var = "thunk from >>>>" -var p9178 = &p9178Var -var p9200Var = "thunk from >>>" -var p9200 = &p9200Var -var p9204Var = "thunk from >>>>" -var p9204 = &p9204Var -var p9228Var = "thunk from >>" -var p9228 = &p9228Var -var p9234Var = "thunk from >" -var p9234 = &p9234Var -var p9242Var = "function " -var p9242 = &p9242Var -var p9246Var = "thunk from >" -var p9246 = &p9246Var -var p9259Var = "thunk from >" -var p9259 = &p9259Var -var p9263Var = "thunk from >>" -var p9263 = &p9263Var -var p9270Var = "thunk from >" -var p9270 = &p9270Var -var p9279Var = "thunk from >" -var p9279 = &p9279Var -var p9283Var = "thunk from from >>" -var p9283 = &p9283Var -var p9295Var = "thunk from from >>" -var p9295 = &p9295Var -var p9314Var = "thunk from from >>" -var p9314 = &p9314Var -var p9318Var = "thunk from from >>>" -var p9318 = &p9318Var -var p9338Var = "thunk from >" -var p9338 = &p9338Var -var p9345Var = "thunk from from >>" -var p9345 = &p9345Var -var p9355Var = "function " -var p9355 = &p9355Var -var p9359Var = "thunk from >" -var p9359 = &p9359Var -var p9364Var = "thunk from >>" -var p9364 = &p9364Var -var p9374Var = "thunk from >>" -var p9374 = &p9374Var -var p9395Var = "function " -var p9395 = &p9395Var -var p9399Var = "thunk from >" -var p9399 = &p9399Var -var p9414Var = "thunk from >" -var p9414 = &p9414Var -var p9424Var = "thunk from >" -var p9424 = &p9424Var -var p9432Var = "thunk from from >>" -var p9432 = &p9432Var -var p9436Var = "thunk from from >>>" -var p9436 = &p9436Var -var p9442Var = "function " -var p9442 = &p9442Var -var p9456Var = "thunk from >" -var p9456 = &p9456Var -var p9464Var = "thunk from >>" -var p9464 = &p9464Var -var p9468Var = "thunk from >>>" -var p9468 = &p9468Var -var p9483Var = "thunk from >" -var p9483 = &p9483Var -var p9491Var = "thunk from >" -var p9491 = &p9491Var -var p9500Var = "function " -var p9500 = &p9500Var -var p9508Var = "thunk from >" -var p9508 = &p9508Var -var p9515Var = "thunk from >>" +var p9140Var = "thunk from >" +var p9140 = &p9140Var +var p9154Var = "thunk from >" +var p9154 = &p9154Var +var p9190Var = "function " +var p9190 = &p9190Var +var p9194Var = "thunk from >" +var p9194 = &p9194Var +var p9208Var = "thunk from >" +var p9208 = &p9208Var +var p9225Var = "thunk from >" +var p9225 = &p9225Var +var p9239Var = "thunk from >" +var p9239 = &p9239Var +var p9271Var = "function " +var p9271 = &p9271Var +var p9303Var = "function " +var p9303 = &p9303Var +var p9309Var = "function " +var p9309 = &p9309Var +var p9315Var = "thunk from >" +var p9315 = &p9315Var +var p9330Var = "function " +var p9330 = &p9330Var +var p9334Var = "thunk from >" +var p9334 = &p9334Var +var p9356Var = "thunk from >" +var p9356 = &p9356Var +var p9368Var = "thunk from >" +var p9368 = &p9368Var +var p9380Var = "thunk from >" +var p9380 = &p9380Var +var p9400Var = "function " +var p9400 = &p9400Var +var p9404Var = "thunk from >" +var p9404 = &p9404Var +var p9419Var = "thunk from >>>" +var p9419 = &p9419Var +var p9430Var = "thunk from >>" +var p9430 = &p9430Var +var p9434Var = "thunk from >>>" +var p9434 = &p9434Var +var p9455Var = "thunk from >>>" +var p9455 = &p9455Var +var p9459Var = "thunk from >>>>" +var p9459 = &p9459Var +var p9481Var = "thunk from >>>" +var p9481 = &p9481Var +var p9485Var = "thunk from >>>>" +var p9485 = &p9485Var +var p9509Var = "thunk from >>" +var p9509 = &p9509Var +var p9515Var = "thunk from >" var p9515 = &p9515Var -var p9532Var = "thunk from >" -var p9532 = &p9532Var -var p9544Var = "thunk from >" +var p9523Var = "function " +var p9523 = &p9523Var +var p9527Var = "thunk from >" +var p9527 = &p9527Var +var p9540Var = "thunk from >" +var p9540 = &p9540Var +var p9544Var = "thunk from >>" var p9544 = &p9544Var -var p9550Var = "thunk from >" -var p9550 = &p9550Var -var p9556Var = "function " -var p9556 = &p9556Var -var p9560Var = "thunk from >" +var p9551Var = "thunk from >" +var p9551 = &p9551Var +var p9560Var = "thunk from >" var p9560 = &p9560Var -var p9571Var = "thunk from >" -var p9571 = &p9571Var -var p9576Var = "thunk from >" +var p9564Var = "thunk from from >>" +var p9564 = &p9564Var +var p9576Var = "thunk from from >>" var p9576 = &p9576Var -var p9582Var = "function " -var p9582 = &p9582Var -var p9619Var = "thunk from >" +var p9595Var = "thunk from from >>" +var p9595 = &p9595Var +var p9599Var = "thunk from from >>>" +var p9599 = &p9599Var +var p9619Var = "thunk from >" var p9619 = &p9619Var -var p9637Var = "thunk from >" -var p9637 = &p9637Var -var p9646Var = "thunk from >" -var p9646 = &p9646Var -var p9658Var = "thunk from >" -var p9658 = &p9658Var -var p9678Var = "thunk from >" -var p9678 = &p9678Var -var p9692Var = "thunk from >" -var p9692 = &p9692Var -var p9705Var = "thunk from >" +var p9626Var = "thunk from from >>" +var p9626 = &p9626Var +var p9636Var = "function " +var p9636 = &p9636Var +var p9640Var = "thunk from >" +var p9640 = &p9640Var +var p9645Var = "thunk from >>" +var p9645 = &p9645Var +var p9655Var = "thunk from >>" +var p9655 = &p9655Var +var p9676Var = "function " +var p9676 = &p9676Var +var p9680Var = "thunk from >" +var p9680 = &p9680Var +var p9695Var = "thunk from >" +var p9695 = &p9695Var +var p9705Var = "thunk from >" var p9705 = &p9705Var -var p9709Var = "thunk from from >>" -var p9709 = &p9709Var -var p9720Var = "thunk from from >>>" -var p9720 = &p9720Var -var p9729Var = "thunk from >" -var p9729 = &p9729Var -var p9743Var = "thunk from >" -var p9743 = &p9743Var -var p9755Var = "thunk from from >>" -var p9755 = &p9755Var -var p9768Var = "thunk from >" -var p9768 = &p9768Var -var p9782Var = "thunk from from >>>" -var p9782 = &p9782Var -var p9786Var = "thunk from from >>" -var p9786 = &p9786Var -var p9803Var = "thunk from from >>>>" -var p9803 = &p9803Var -var p9808Var = "thunk from from >>>>>" -var p9808 = &p9808Var -var p9817Var = "thunk from from >>>>>>" -var p9817 = &p9817Var -var p9830Var = "thunk from from >>>" -var p9830 = &p9830Var -var p9843Var = "thunk from from >>" -var p9843 = &p9843Var -var p9861Var = "thunk from >" -var p9861 = &p9861Var -var p9885Var = "thunk from >" -var p9885 = &p9885Var -var p9894Var = "thunk from from >>" -var p9894 = &p9894Var -var p9895Var = "thunk from >" -var p9895 = &p9895Var -var p9907Var = "thunk from from >>>" -var p9907 = &p9907Var -var p9908Var = "thunk from from >>" -var p9908 = &p9908Var -var p9924Var = "thunk from from >>>>" -var p9924 = &p9924Var -var p9929Var = "thunk from from >>>>>" -var p9929 = &p9929Var -var p9938Var = "thunk from from >>>>>>" -var p9938 = &p9938Var -var p9954Var = "thunk from from >>>>>" -var p9954 = &p9954Var -var p9960Var = "thunk from from >>>" -var p9960 = &p9960Var -var p9973Var = "thunk from from >>>" +var p9713Var = "thunk from from >>" +var p9713 = &p9713Var +var p9717Var = "thunk from from >>>" +var p9717 = &p9717Var +var p9723Var = "function " +var p9723 = &p9723Var +var p9737Var = "thunk from >" +var p9737 = &p9737Var +var p9745Var = "thunk from >>" +var p9745 = &p9745Var +var p9749Var = "thunk from >>>" +var p9749 = &p9749Var +var p9764Var = "thunk from >" +var p9764 = &p9764Var +var p9772Var = "thunk from >" +var p9772 = &p9772Var +var p9781Var = "function " +var p9781 = &p9781Var +var p9789Var = "thunk from >" +var p9789 = &p9789Var +var p9796Var = "thunk from >>" +var p9796 = &p9796Var +var p9813Var = "thunk from >" +var p9813 = &p9813Var +var p9825Var = "thunk from >" +var p9825 = &p9825Var +var p9831Var = "thunk from >" +var p9831 = &p9831Var +var p9837Var = "function " +var p9837 = &p9837Var +var p9841Var = "thunk from >" +var p9841 = &p9841Var +var p9852Var = "thunk from >" +var p9852 = &p9852Var +var p9857Var = "thunk from >" +var p9857 = &p9857Var +var p9863Var = "function " +var p9863 = &p9863Var +var p9900Var = "thunk from >" +var p9900 = &p9900Var +var p9918Var = "thunk from >" +var p9918 = &p9918Var +var p9927Var = "thunk from >" +var p9927 = &p9927Var +var p9939Var = "thunk from >" +var p9939 = &p9939Var +var p9959Var = "thunk from >" +var p9959 = &p9959Var +var p9973Var = "thunk from >" var p9973 = &p9973Var -var p9981Var = "thunk from from >>" -var p9981 = &p9981Var -var p9995Var = "thunk from >" -var p9995 = &p9995Var -var p10019Var = "thunk from >" -var p10019 = &p10019Var -var p10029Var = "thunk from >" -var p10029 = &p10029Var -var p10044Var = "thunk from from >>" -var p10044 = &p10044Var -var p10049Var = "thunk from from >>>" +var p9986Var = "thunk from >" +var p9986 = &p9986Var +var p9990Var = "thunk from from >>" +var p9990 = &p9990Var +var p10001Var = "thunk from from >>>" +var p10001 = &p10001Var +var p10010Var = "thunk from >" +var p10010 = &p10010Var +var p10024Var = "thunk from >" +var p10024 = &p10024Var +var p10036Var = "thunk from from >>" +var p10036 = &p10036Var +var p10049Var = "thunk from >" var p10049 = &p10049Var -var p10063Var = "thunk from from >>>>" +var p10063Var = "thunk from from >>>" var p10063 = &p10063Var -var p10068Var = "thunk from from >>>>>" -var p10068 = &p10068Var -var p10077Var = "thunk from from >>>>>>" -var p10077 = &p10077Var -var p10095Var = "thunk from from >>>>>" -var p10095 = &p10095Var -var p10104Var = "thunk from from >>>" -var p10104 = &p10104Var -var p10119Var = "thunk from from >>>" -var p10119 = &p10119Var -var p10138Var = "thunk from >" -var p10138 = &p10138Var -var p10143Var = "thunk from from >>" -var p10143 = &p10143Var -var p10157Var = "thunk from from >>" -var p10157 = &p10157Var -var p10162Var = "thunk from from >>>" -var p10162 = &p10162Var -var p10175Var = "thunk from from >>>" +var p10067Var = "thunk from from >>" +var p10067 = &p10067Var +var p10084Var = "thunk from from >>>>" +var p10084 = &p10084Var +var p10089Var = "thunk from from >>>>>" +var p10089 = &p10089Var +var p10098Var = "thunk from from >>>>>>" +var p10098 = &p10098Var +var p10111Var = "thunk from from >>>" +var p10111 = &p10111Var +var p10124Var = "thunk from from >>" +var p10124 = &p10124Var +var p10142Var = "thunk from >" +var p10142 = &p10142Var +var p10166Var = "thunk from >" +var p10166 = &p10166Var +var p10175Var = "thunk from from >>" var p10175 = &p10175Var -var p10184Var = "thunk from from >>>>" -var p10184 = &p10184Var -var p10194Var = "thunk from from >>>>" -var p10194 = &p10194Var -var p10210Var = "thunk from from >>>" +var p10176Var = "thunk from >" +var p10176 = &p10176Var +var p10188Var = "thunk from from >>>" +var p10188 = &p10188Var +var p10189Var = "thunk from from >>" +var p10189 = &p10189Var +var p10205Var = "thunk from from >>>>" +var p10205 = &p10205Var +var p10210Var = "thunk from from >>>>>" var p10210 = &p10210Var -var p10219Var = "thunk from from >>>>" +var p10219Var = "thunk from from >>>>>>" var p10219 = &p10219Var -var p10229Var = "thunk from from >>>>" -var p10229 = &p10229Var -var p10254Var = "thunk from from >>" +var p10235Var = "thunk from from >>>>>" +var p10235 = &p10235Var +var p10241Var = "thunk from from >>>" +var p10241 = &p10241Var +var p10254Var = "thunk from from >>>" var p10254 = &p10254Var -var p10265Var = "thunk from from >>" -var p10265 = &p10265Var -var p10269Var = "thunk from from >>>" -var p10269 = &p10269Var -var p10281Var = "function " -var p10281 = &p10281Var -var p10285Var = "thunk from >" -var p10285 = &p10285Var -var p10294Var = "thunk from >" -var p10294 = &p10294Var -var p10300Var = "function " +var p10262Var = "thunk from from >>" +var p10262 = &p10262Var +var p10276Var = "thunk from >" +var p10276 = &p10276Var +var p10300Var = "thunk from >" var p10300 = &p10300Var -var p10304Var = "thunk from >" -var p10304 = &p10304Var -var p10338Var = "thunk from >" -var p10338 = &p10338Var -var p10347Var = "thunk from >>" -var p10347 = &p10347Var -var p10366Var = "thunk from >" -var p10366 = &p10366Var -var p10376Var = "thunk from >" +var p10310Var = "thunk from >" +var p10310 = &p10310Var +var p10325Var = "thunk from from >>" +var p10325 = &p10325Var +var p10330Var = "thunk from from >>>" +var p10330 = &p10330Var +var p10344Var = "thunk from from >>>>" +var p10344 = &p10344Var +var p10349Var = "thunk from from >>>>>" +var p10349 = &p10349Var +var p10358Var = "thunk from from >>>>>>" +var p10358 = &p10358Var +var p10376Var = "thunk from from >>>>>" var p10376 = &p10376Var -var p10380Var = "thunk from from >>" -var p10380 = &p10380Var -var p10391Var = "thunk from from >>>" -var p10391 = &p10391Var -var p10411Var = "thunk from from >>" -var p10411 = &p10411Var -var p10416Var = "thunk from from >>>" -var p10416 = &p10416Var -var p10427Var = "thunk from from >>>>" -var p10427 = &p10427Var -var p10465Var = "thunk from from >>>" +var p10385Var = "thunk from from >>>" +var p10385 = &p10385Var +var p10400Var = "thunk from from >>>" +var p10400 = &p10400Var +var p10419Var = "thunk from >" +var p10419 = &p10419Var +var p10424Var = "thunk from from >>" +var p10424 = &p10424Var +var p10438Var = "thunk from from >>" +var p10438 = &p10438Var +var p10443Var = "thunk from from >>>" +var p10443 = &p10443Var +var p10456Var = "thunk from from >>>" +var p10456 = &p10456Var +var p10465Var = "thunk from from >>>>" var p10465 = &p10465Var -var p10474Var = "thunk from from >>>>" -var p10474 = &p10474Var -var p10495Var = "thunk from >" -var p10495 = &p10495Var -var p10504Var = "function " -var p10504 = &p10504Var -var p10508Var = "thunk from >" -var p10508 = &p10508Var -var p10517Var = "thunk from >" -var p10517 = &p10517Var -var p10525Var = "function " -var p10525 = &p10525Var -var p10529Var = "thunk from >" -var p10529 = &p10529Var -var p10538Var = "thunk from >" -var p10538 = &p10538Var -var p10554Var = "thunk from >" -var p10554 = &p10554Var -var p10577Var = "thunk from >" -var p10577 = &p10577Var -var p10581Var = "thunk from from >>" +var p10475Var = "thunk from from >>>>" +var p10475 = &p10475Var +var p10491Var = "thunk from from >>>" +var p10491 = &p10491Var +var p10500Var = "thunk from from >>>>" +var p10500 = &p10500Var +var p10510Var = "thunk from from >>>>" +var p10510 = &p10510Var +var p10535Var = "thunk from from >>" +var p10535 = &p10535Var +var p10546Var = "thunk from from >>" +var p10546 = &p10546Var +var p10550Var = "thunk from from >>>" +var p10550 = &p10550Var +var p10562Var = "function " +var p10562 = &p10562Var +var p10566Var = "thunk from >" +var p10566 = &p10566Var +var p10575Var = "thunk from >" +var p10575 = &p10575Var +var p10581Var = "function " var p10581 = &p10581Var -var p10590Var = "function " -var p10590 = &p10590Var -var p10651Var = "thunk from >" -var p10651 = &p10651Var -var p10655Var = "thunk from from >>" -var p10655 = &p10655Var -var p10690Var = "thunk from >" -var p10690 = &p10690Var -var p10718Var = "thunk from >" -var p10718 = &p10718Var -var p10729Var = "function " -var p10729 = &p10729Var -var p10738Var = "thunk from >" -var p10738 = &p10738Var -var p10751Var = "thunk from >>" -var p10751 = &p10751Var -var p10755Var = "thunk from >>>" +var p10585Var = "thunk from >" +var p10585 = &p10585Var +var p10619Var = "thunk from >" +var p10619 = &p10619Var +var p10628Var = "thunk from >>" +var p10628 = &p10628Var +var p10647Var = "thunk from >" +var p10647 = &p10647Var +var p10657Var = "thunk from >" +var p10657 = &p10657Var +var p10661Var = "thunk from from >>" +var p10661 = &p10661Var +var p10672Var = "thunk from from >>>" +var p10672 = &p10672Var +var p10692Var = "thunk from from >>" +var p10692 = &p10692Var +var p10697Var = "thunk from from >>>" +var p10697 = &p10697Var +var p10708Var = "thunk from from >>>>" +var p10708 = &p10708Var +var p10746Var = "thunk from from >>>" +var p10746 = &p10746Var +var p10755Var = "thunk from from >>>>" var p10755 = &p10755Var -var p10769Var = "thunk from >>" -var p10769 = &p10769Var -var p10789Var = "function " +var p10776Var = "thunk from >" +var p10776 = &p10776Var +var p10785Var = "function " +var p10785 = &p10785Var +var p10789Var = "thunk from >" var p10789 = &p10789Var -var p10793Var = "thunk from >" -var p10793 = &p10793Var -var p10807Var = "thunk from >" -var p10807 = &p10807Var -var p10811Var = "thunk from from >>" -var p10811 = &p10811Var -var p10820Var = "function " -var p10820 = &p10820Var -var p10833Var = "thunk from >" -var p10833 = &p10833Var -var p10843Var = "function " -var p10843 = &p10843Var -var p10852Var = "thunk from >" -var p10852 = &p10852Var -var p10865Var = "thunk from >>" -var p10865 = &p10865Var -var p10869Var = "thunk from >>>" -var p10869 = &p10869Var -var p10883Var = "thunk from >>" -var p10883 = &p10883Var -var p10904Var = "thunk from >" -var p10904 = &p10904Var -var p10908Var = "thunk from from >>" -var p10908 = &p10908Var -var p10917Var = "function " -var p10917 = &p10917Var -var p10930Var = "thunk from >" -var p10930 = &p10930Var -var p10937Var = "function " -var p10937 = &p10937Var -var p10944Var = "function " -var p10944 = &p10944Var -var p10948Var = "thunk from >" -var p10948 = &p10948Var -var p10955Var = "thunk from >" -var p10955 = &p10955Var -var p10965Var = "thunk from >>" -var p10965 = &p10965Var -var p10985Var = "thunk from >" -var p10985 = &p10985Var -var p10989Var = "thunk from from >>" -var p10989 = &p10989Var -var p10998Var = "function " -var p10998 = &p10998Var -var p11002Var = "thunk from >" -var p11002 = &p11002Var -var p11018Var = "thunk from >>" -var p11018 = &p11018Var -var p11022Var = "thunk from >>>" -var p11022 = &p11022Var -var p11040Var = "thunk from >>" -var p11040 = &p11040Var -var p11056Var = "function " -var p11056 = &p11056Var -var p11060Var = "thunk from >" -var p11060 = &p11060Var -var p11073Var = "function " -var p11073 = &p11073Var -var p11077Var = "thunk from >" -var p11077 = &p11077Var -var p11093Var = "function " -var p11093 = &p11093Var -var p11124Var = "thunk from >" -var p11124 = &p11124Var -var p11142Var = "thunk from >" -var p11142 = &p11142Var -var p11154Var = "thunk from >" -var p11154 = &p11154Var -var p11166Var = "thunk from >" -var p11166 = &p11166Var -var p11186Var = "thunk from >" -var p11186 = &p11186Var -var p11196Var = "thunk from >" -var p11196 = &p11196Var -var p11200Var = "thunk from from >>" +var p10798Var = "thunk from >" +var p10798 = &p10798Var +var p10806Var = "function " +var p10806 = &p10806Var +var p10810Var = "thunk from >" +var p10810 = &p10810Var +var p10819Var = "thunk from >" +var p10819 = &p10819Var +var p10835Var = "thunk from >" +var p10835 = &p10835Var +var p10858Var = "thunk from >" +var p10858 = &p10858Var +var p10862Var = "thunk from from >>" +var p10862 = &p10862Var +var p10871Var = "function " +var p10871 = &p10871Var +var p10932Var = "thunk from >" +var p10932 = &p10932Var +var p10936Var = "thunk from from >>" +var p10936 = &p10936Var +var p10971Var = "thunk from >" +var p10971 = &p10971Var +var p10999Var = "thunk from >" +var p10999 = &p10999Var +var p11010Var = "function " +var p11010 = &p11010Var +var p11019Var = "thunk from >" +var p11019 = &p11019Var +var p11032Var = "thunk from >>" +var p11032 = &p11032Var +var p11036Var = "thunk from >>>" +var p11036 = &p11036Var +var p11050Var = "thunk from >>" +var p11050 = &p11050Var +var p11070Var = "function " +var p11070 = &p11070Var +var p11074Var = "thunk from >" +var p11074 = &p11074Var +var p11088Var = "thunk from >" +var p11088 = &p11088Var +var p11092Var = "thunk from from >>" +var p11092 = &p11092Var +var p11104Var = "function " +var p11104 = &p11104Var +var p11113Var = "thunk from >" +var p11113 = &p11113Var +var p11132Var = "thunk from >" +var p11132 = &p11132Var +var p11136Var = "thunk from from >>" +var p11136 = &p11136Var +var p11145Var = "function " +var p11145 = &p11145Var +var p11149Var = "thunk from >" +var p11149 = &p11149Var +var p11167Var = "thunk from >" +var p11167 = &p11167Var +var p11171Var = "thunk from from >>" +var p11171 = &p11171Var +var p11180Var = "function " +var p11180 = &p11180Var +var p11184Var = "thunk from >" +var p11184 = &p11184Var +var p11200Var = "thunk from >>" var p11200 = &p11200Var -var p11211Var = "thunk from from >>>" -var p11211 = &p11211Var -var p11220Var = "thunk from >" -var p11220 = &p11220Var -var p11232Var = "thunk from from >>" -var p11232 = &p11232Var -var p11240Var = "thunk from >" -var p11240 = &p11240Var -var p11254Var = "thunk from from >>>" -var p11254 = &p11254Var -var p11258Var = "thunk from from >>" -var p11258 = &p11258Var -var p11275Var = "thunk from from >>>>" +var p11204Var = "thunk from >>>" +var p11204 = &p11204Var +var p11222Var = "thunk from >>" +var p11222 = &p11222Var +var p11238Var = "function " +var p11238 = &p11238Var +var p11242Var = "thunk from >" +var p11242 = &p11242Var +var p11255Var = "function " +var p11255 = &p11255Var +var p11259Var = "thunk from >" +var p11259 = &p11259Var +var p11275Var = "function " var p11275 = &p11275Var -var p11280Var = "thunk from from >>>>>" -var p11280 = &p11280Var -var p11289Var = "thunk from from >>>>>>" -var p11289 = &p11289Var -var p11302Var = "thunk from from >>>" -var p11302 = &p11302Var -var p11315Var = "thunk from from >>" -var p11315 = &p11315Var -var p11333Var = "thunk from >" -var p11333 = &p11333Var -var p11352Var = "thunk from >" -var p11352 = &p11352Var -var p11362Var = "thunk from from >>" -var p11362 = &p11362Var -var p11370Var = "thunk from >" -var p11370 = &p11370Var -var p11384Var = "thunk from from >>>" -var p11384 = &p11384Var -var p11388Var = "thunk from from >>" -var p11388 = &p11388Var -var p11405Var = "thunk from from >>>>" -var p11405 = &p11405Var -var p11410Var = "thunk from from >>>>>" -var p11410 = &p11410Var -var p11419Var = "thunk from from >>>>>>" -var p11419 = &p11419Var -var p11444Var = "thunk from from >>>>>" -var p11444 = &p11444Var -var p11458Var = "thunk from from >>>" -var p11458 = &p11458Var -var p11471Var = "thunk from from >>>" +var p11306Var = "thunk from >" +var p11306 = &p11306Var +var p11324Var = "thunk from >" +var p11324 = &p11324Var +var p11336Var = "thunk from >" +var p11336 = &p11336Var +var p11348Var = "thunk from >" +var p11348 = &p11348Var +var p11368Var = "thunk from >" +var p11368 = &p11368Var +var p11378Var = "thunk from >" +var p11378 = &p11378Var +var p11382Var = "thunk from from >>" +var p11382 = &p11382Var +var p11393Var = "thunk from from >>>" +var p11393 = &p11393Var +var p11402Var = "thunk from >" +var p11402 = &p11402Var +var p11414Var = "thunk from from >>" +var p11414 = &p11414Var +var p11422Var = "thunk from >" +var p11422 = &p11422Var +var p11436Var = "thunk from from >>>" +var p11436 = &p11436Var +var p11440Var = "thunk from from >>" +var p11440 = &p11440Var +var p11457Var = "thunk from from >>>>" +var p11457 = &p11457Var +var p11462Var = "thunk from from >>>>>" +var p11462 = &p11462Var +var p11471Var = "thunk from from >>>>>>" var p11471 = &p11471Var -var p11480Var = "thunk from from >>" -var p11480 = &p11480Var -var p11498Var = "thunk from >" -var p11498 = &p11498Var -var p11522Var = "thunk from >" -var p11522 = &p11522Var -var p11527Var = "function " -var p11527 = &p11527Var -var p11531Var = "thunk from >" -var p11531 = &p11531Var -var p11554Var = "function " -var p11554 = &p11554Var -var p11558Var = "thunk from >" -var p11558 = &p11558Var -var p11573Var = "thunk from >" -var p11573 = &p11573Var -var p11577Var = "thunk from >>" -var p11577 = &p11577Var -var p11591Var = "thunk from >" -var p11591 = &p11591Var -var p11603Var = "thunk from from >>" -var p11603 = &p11603Var -var p11637Var = "thunk from >" -var p11637 = &p11637Var -var p11655Var = "thunk from >" -var p11655 = &p11655Var -var p11659Var = "thunk from from >>" -var p11659 = &p11659Var -var p11668Var = "thunk from from >>" -var p11668 = &p11668Var -var p11681Var = "function " -var p11681 = &p11681Var -var p11690Var = "thunk from >" -var p11690 = &p11690Var -var p11708Var = "thunk from >" -var p11708 = &p11708Var -var p11718Var = "function " -var p11718 = &p11718Var -var p11730Var = "thunk from >" -var p11730 = &p11730Var -var p11747Var = "thunk from >" -var p11747 = &p11747Var -var p11762Var = "thunk from >" -var p11762 = &p11762Var -var p11774Var = "thunk from >" -var p11774 = &p11774Var -var p11782Var = "thunk from from >>" -var p11782 = &p11782Var -var p11786Var = "thunk from from >>>" -var p11786 = &p11786Var -var p11796Var = "thunk from >" -var p11796 = &p11796Var -var p11804Var = "thunk from from >>" -var p11804 = &p11804Var -var p11808Var = "thunk from from >>>" -var p11808 = &p11808Var -var p11818Var = "thunk from >" -var p11818 = &p11818Var -var p11827Var = "thunk from from >>" -var p11827 = &p11827Var -var p11831Var = "thunk from from >>>" -var p11831 = &p11831Var -var p11844Var = "thunk from >" -var p11844 = &p11844Var -var p11853Var = "thunk from from >>" -var p11853 = &p11853Var -var p11857Var = "thunk from from >>>" -var p11857 = &p11857Var -var p11870Var = "thunk from >" -var p11870 = &p11870Var -var p11879Var = "thunk from from >>" -var p11879 = &p11879Var -var p11883Var = "thunk from from >>>" -var p11883 = &p11883Var -var p11896Var = "thunk from >" -var p11896 = &p11896Var -var p11905Var = "thunk from from >>" -var p11905 = &p11905Var -var p11909Var = "thunk from from >>>" -var p11909 = &p11909Var -var p11922Var = "thunk from >" -var p11922 = &p11922Var -var p11931Var = "thunk from from >>" -var p11931 = &p11931Var -var p11935Var = "thunk from from >>>" -var p11935 = &p11935Var -var p11948Var = "thunk from >" -var p11948 = &p11948Var -var p11953Var = "thunk from from >>" -var p11953 = &p11953Var -var p11966Var = "thunk from >" -var p11966 = &p11966Var -var p11970Var = "thunk from from >>" -var p11970 = &p11970Var -var p11980Var = "thunk from >" -var p11980 = &p11980Var -var p11984Var = "thunk from from >>" -var p11984 = &p11984Var -var p11994Var = "thunk from >" -var p11994 = &p11994Var -var p11998Var = "thunk from from >>" -var p11998 = &p11998Var -var p12008Var = "thunk from >" -var p12008 = &p12008Var -var p12016Var = "thunk from from >>" -var p12016 = &p12016Var -var p12020Var = "thunk from from >>>" -var p12020 = &p12020Var -var p12028Var = "function " -var p12028 = &p12028Var -var p12032Var = "thunk from >" -var p12032 = &p12032Var -var p12046Var = "thunk from >" -var p12046 = &p12046Var -var p12067Var = "thunk from >" -var p12067 = &p12067Var -var p12071Var = "thunk from >>" -var p12071 = &p12071Var -var p12082Var = "thunk from >" -var p12082 = &p12082Var -var p12107Var = "thunk from >" -var p12107 = &p12107Var -var p12111Var = "thunk from >>" -var p12111 = &p12111Var -var p12122Var = "thunk from >" -var p12122 = &p12122Var -var p12138Var = "thunk from >" -var p12138 = &p12138Var -var p12153Var = "thunk from >" -var p12153 = &p12153Var -var p12162Var = "thunk from >" +var p11484Var = "thunk from from >>>" +var p11484 = &p11484Var +var p11497Var = "thunk from from >>" +var p11497 = &p11497Var +var p11515Var = "thunk from >" +var p11515 = &p11515Var +var p11534Var = "thunk from >" +var p11534 = &p11534Var +var p11544Var = "thunk from from >>" +var p11544 = &p11544Var +var p11552Var = "thunk from >" +var p11552 = &p11552Var +var p11566Var = "thunk from from >>>" +var p11566 = &p11566Var +var p11570Var = "thunk from from >>" +var p11570 = &p11570Var +var p11587Var = "thunk from from >>>>" +var p11587 = &p11587Var +var p11592Var = "thunk from from >>>>>" +var p11592 = &p11592Var +var p11601Var = "thunk from from >>>>>>" +var p11601 = &p11601Var +var p11626Var = "thunk from from >>>>>" +var p11626 = &p11626Var +var p11640Var = "thunk from from >>>" +var p11640 = &p11640Var +var p11653Var = "thunk from from >>>" +var p11653 = &p11653Var +var p11662Var = "thunk from from >>" +var p11662 = &p11662Var +var p11680Var = "thunk from >" +var p11680 = &p11680Var +var p11704Var = "thunk from >" +var p11704 = &p11704Var +var p11709Var = "function " +var p11709 = &p11709Var +var p11713Var = "thunk from >" +var p11713 = &p11713Var +var p11736Var = "function " +var p11736 = &p11736Var +var p11740Var = "thunk from >" +var p11740 = &p11740Var +var p11755Var = "thunk from >" +var p11755 = &p11755Var +var p11759Var = "thunk from >>" +var p11759 = &p11759Var +var p11773Var = "thunk from >" +var p11773 = &p11773Var +var p11785Var = "thunk from from >>" +var p11785 = &p11785Var +var p11819Var = "thunk from >" +var p11819 = &p11819Var +var p11837Var = "thunk from >" +var p11837 = &p11837Var +var p11841Var = "thunk from from >>" +var p11841 = &p11841Var +var p11850Var = "thunk from from >>" +var p11850 = &p11850Var +var p11863Var = "function " +var p11863 = &p11863Var +var p11872Var = "thunk from >" +var p11872 = &p11872Var +var p11890Var = "thunk from >" +var p11890 = &p11890Var +var p11900Var = "function " +var p11900 = &p11900Var +var p11912Var = "thunk from >" +var p11912 = &p11912Var +var p11929Var = "thunk from >" +var p11929 = &p11929Var +var p11944Var = "thunk from >" +var p11944 = &p11944Var +var p11956Var = "thunk from >" +var p11956 = &p11956Var +var p11964Var = "thunk from from >>" +var p11964 = &p11964Var +var p11968Var = "thunk from from >>>" +var p11968 = &p11968Var +var p11978Var = "thunk from >" +var p11978 = &p11978Var +var p11986Var = "thunk from from >>" +var p11986 = &p11986Var +var p11990Var = "thunk from from >>>" +var p11990 = &p11990Var +var p12000Var = "thunk from >" +var p12000 = &p12000Var +var p12009Var = "thunk from from >>" +var p12009 = &p12009Var +var p12013Var = "thunk from from >>>" +var p12013 = &p12013Var +var p12026Var = "thunk from >" +var p12026 = &p12026Var +var p12035Var = "thunk from from >>" +var p12035 = &p12035Var +var p12039Var = "thunk from from >>>" +var p12039 = &p12039Var +var p12052Var = "thunk from >" +var p12052 = &p12052Var +var p12061Var = "thunk from from >>" +var p12061 = &p12061Var +var p12065Var = "thunk from from >>>" +var p12065 = &p12065Var +var p12078Var = "thunk from >" +var p12078 = &p12078Var +var p12087Var = "thunk from from >>" +var p12087 = &p12087Var +var p12091Var = "thunk from from >>>" +var p12091 = &p12091Var +var p12104Var = "thunk from >" +var p12104 = &p12104Var +var p12113Var = "thunk from from >>" +var p12113 = &p12113Var +var p12117Var = "thunk from from >>>" +var p12117 = &p12117Var +var p12130Var = "thunk from >" +var p12130 = &p12130Var +var p12135Var = "thunk from from >>" +var p12135 = &p12135Var +var p12148Var = "thunk from >" +var p12148 = &p12148Var +var p12152Var = "thunk from from >>" +var p12152 = &p12152Var +var p12162Var = "thunk from >" var p12162 = &p12162Var -var p12189Var = "thunk from >" -var p12189 = &p12189Var -var p12193Var = "thunk from >>" -var p12193 = &p12193Var +var p12166Var = "thunk from from >>" +var p12166 = &p12166Var +var p12176Var = "thunk from >" +var p12176 = &p12176Var +var p12180Var = "thunk from from >>" +var p12180 = &p12180Var +var p12190Var = "thunk from >" +var p12190 = &p12190Var +var p12198Var = "thunk from from >>" +var p12198 = &p12198Var +var p12202Var = "thunk from from >>>" +var p12202 = &p12202Var +var p12210Var = "function " +var p12210 = &p12210Var var p12214Var = "thunk from >" var p12214 = &p12214Var -var p12218Var = "thunk from >>" -var p12218 = &p12218Var -var p12239Var = "thunk from >" -var p12239 = &p12239Var -var p12243Var = "thunk from >>" -var p12243 = &p12243Var -var p12254Var = "thunk from >" -var p12254 = &p12254Var -var p12274Var = "thunk from >" -var p12274 = &p12274Var +var p12228Var = "thunk from >" +var p12228 = &p12228Var +var p12249Var = "thunk from >" +var p12249 = &p12249Var +var p12253Var = "thunk from >>" +var p12253 = &p12253Var +var p12264Var = "thunk from >" +var p12264 = &p12264Var var p12289Var = "thunk from >" var p12289 = &p12289Var -var p12308Var = "thunk from >" -var p12308 = &p12308Var -var p12312Var = "thunk from >>" -var p12312 = &p12312Var -var p12323Var = "thunk from >" -var p12323 = &p12323Var -var p12386Var = "thunk from >" -var p12386 = &p12386Var -var p12394Var = "function " -var p12394 = &p12394Var -var p12398Var = "thunk from >" -var p12398 = &p12398Var -var p12411Var = "thunk from >" -var p12411 = &p12411Var -var p12417Var = "thunk from >" -var p12417 = &p12417Var -var p12425Var = "function " +var p12293Var = "thunk from >>" +var p12293 = &p12293Var +var p12304Var = "thunk from >" +var p12304 = &p12304Var +var p12320Var = "thunk from >" +var p12320 = &p12320Var +var p12335Var = "thunk from >" +var p12335 = &p12335Var +var p12344Var = "thunk from >" +var p12344 = &p12344Var +var p12371Var = "thunk from >" +var p12371 = &p12371Var +var p12375Var = "thunk from >>" +var p12375 = &p12375Var +var p12396Var = "thunk from >" +var p12396 = &p12396Var +var p12400Var = "thunk from >>" +var p12400 = &p12400Var +var p12421Var = "thunk from >" +var p12421 = &p12421Var +var p12425Var = "thunk from >>" var p12425 = &p12425Var -var p12456Var = "thunk from >" +var p12436Var = "thunk from >" +var p12436 = &p12436Var +var p12456Var = "thunk from >" var p12456 = &p12456Var -var p12474Var = "thunk from >" -var p12474 = &p12474Var -var p12484Var = "thunk from >" -var p12484 = &p12484Var -var p12488Var = "thunk from from >>" -var p12488 = &p12488Var -var p12519Var = "thunk from >" -var p12519 = &p12519Var -var p12523Var = "thunk from from >>" -var p12523 = &p12523Var -var p12537Var = "thunk from >" -var p12537 = &p12537Var -var p12565Var = "thunk from >>" -var p12565 = &p12565Var -var p12574Var = "thunk from >>" -var p12574 = &p12574Var -var p12588Var = "thunk from >" -var p12588 = &p12588Var -var p12607Var = "thunk from >" +var p12471Var = "thunk from >" +var p12471 = &p12471Var +var p12490Var = "thunk from >" +var p12490 = &p12490Var +var p12494Var = "thunk from >>" +var p12494 = &p12494Var +var p12505Var = "thunk from >" +var p12505 = &p12505Var +var p12568Var = "thunk from >" +var p12568 = &p12568Var +var p12576Var = "function " +var p12576 = &p12576Var +var p12580Var = "thunk from >" +var p12580 = &p12580Var +var p12593Var = "thunk from >" +var p12593 = &p12593Var +var p12599Var = "thunk from >" +var p12599 = &p12599Var +var p12607Var = "function " var p12607 = &p12607Var -var p12627Var = "thunk from >" -var p12627 = &p12627Var -var p12641Var = "thunk from >" -var p12641 = &p12641Var -var p12654Var = "function " -var p12654 = &p12654Var -var p12663Var = "thunk from >" -var p12663 = &p12663Var -var p12675Var = "thunk from >" -var p12675 = &p12675Var -var p12684Var = "object " -var p12684 = &p12684Var -var p12707Var = "thunk from >" -var p12707 = &p12707Var -var p12719Var = "thunk from >" +var p12638Var = "thunk from >" +var p12638 = &p12638Var +var p12656Var = "thunk from >" +var p12656 = &p12656Var +var p12666Var = "thunk from >" +var p12666 = &p12666Var +var p12670Var = "thunk from from >>" +var p12670 = &p12670Var +var p12701Var = "thunk from >" +var p12701 = &p12701Var +var p12705Var = "thunk from from >>" +var p12705 = &p12705Var +var p12719Var = "thunk from >" var p12719 = &p12719Var -var p12728Var = "object " -var p12728 = &p12728Var -var p12739Var = "object " -var p12739 = &p12739Var -var p12748Var = "thunk from >" -var p12748 = &p12748Var -var p12757Var = "thunk from >" -var p12757 = &p12757Var -var p12761Var = "thunk from from >>" -var p12761 = &p12761Var -var p12772Var = "thunk from from >>>" -var p12772 = &p12772Var -var p12800Var = "thunk from from >>" -var p12800 = &p12800Var -var p12805Var = "thunk from from >>>" -var p12805 = &p12805Var -var p12814Var = "thunk from from >>>>" -var p12814 = &p12814Var -var p12843Var = "thunk from from >>" -var p12843 = &p12843Var -var p12848Var = "thunk from from >>>" -var p12848 = &p12848Var -var p12854Var = "thunk from >" -var p12854 = &p12854Var -var p12872Var = "thunk from >" -var p12872 = &p12872Var -var p12897Var = "thunk from >" -var p12897 = &p12897Var -var p12911Var = "thunk from >" -var p12911 = &p12911Var -var p12924Var = "function " -var p12924 = &p12924Var -var p12933Var = "thunk from >" -var p12933 = &p12933Var -var p12945Var = "thunk from >" -var p12945 = &p12945Var -var p12954Var = "object " +var p12747Var = "thunk from >>" +var p12747 = &p12747Var +var p12756Var = "thunk from >>" +var p12756 = &p12756Var +var p12770Var = "thunk from >" +var p12770 = &p12770Var +var p12789Var = "thunk from >" +var p12789 = &p12789Var +var p12809Var = "thunk from >" +var p12809 = &p12809Var +var p12823Var = "thunk from >" +var p12823 = &p12823Var +var p12836Var = "function " +var p12836 = &p12836Var +var p12845Var = "thunk from >" +var p12845 = &p12845Var +var p12857Var = "thunk from >" +var p12857 = &p12857Var +var p12866Var = "object " +var p12866 = &p12866Var +var p12889Var = "thunk from >" +var p12889 = &p12889Var +var p12901Var = "thunk from >" +var p12901 = &p12901Var +var p12910Var = "object " +var p12910 = &p12910Var +var p12921Var = "object " +var p12921 = &p12921Var +var p12930Var = "thunk from >" +var p12930 = &p12930Var +var p12939Var = "thunk from >" +var p12939 = &p12939Var +var p12943Var = "thunk from from >>" +var p12943 = &p12943Var +var p12954Var = "thunk from from >>>" var p12954 = &p12954Var -var p12983Var = "thunk from >" -var p12983 = &p12983Var -var p12995Var = "thunk from >" -var p12995 = &p12995Var -var p13004Var = "object " -var p13004 = &p13004Var -var p13019Var = "object " -var p13019 = &p13019Var -var p13028Var = "thunk from >" -var p13028 = &p13028Var -var p13053Var = "thunk from from >>" -var p13053 = &p13053Var -var p13058Var = "thunk from from >>>" -var p13058 = &p13058Var -var p13067Var = "thunk from from >>>>" -var p13067 = &p13067Var -var p13098Var = "thunk from from >>>" -var p13098 = &p13098Var -var p13106Var = "thunk from from >>>" +var p12982Var = "thunk from from >>" +var p12982 = &p12982Var +var p12987Var = "thunk from from >>>" +var p12987 = &p12987Var +var p12996Var = "thunk from from >>>>" +var p12996 = &p12996Var +var p13025Var = "thunk from from >>" +var p13025 = &p13025Var +var p13030Var = "thunk from from >>>" +var p13030 = &p13030Var +var p13036Var = "thunk from >" +var p13036 = &p13036Var +var p13054Var = "thunk from >" +var p13054 = &p13054Var +var p13079Var = "thunk from >" +var p13079 = &p13079Var +var p13093Var = "thunk from >" +var p13093 = &p13093Var +var p13106Var = "function " var p13106 = &p13106Var -var p13120Var = "thunk from from >>" -var p13120 = &p13120Var -var p13125Var = "thunk from from >>>" -var p13125 = &p13125Var -var p13131Var = "thunk from >" -var p13131 = &p13131Var -var p13144Var = "thunk from from >>" -var p13144 = &p13144Var -var p13158Var = "thunk from >" -var p13158 = &p13158Var -var p13190Var = "thunk from >" -var p13190 = &p13190Var -var p13195Var = "function " -var p13195 = &p13195Var -var p13199Var = "thunk from >" -var p13199 = &p13199Var -var p13229Var = "function " -var p13229 = &p13229Var -var p13233Var = "thunk from >" -var p13233 = &p13233Var -var p13247Var = "thunk from >" -var p13247 = &p13247Var -var p13271Var = "thunk from >" -var p13271 = &p13271Var -var p13287Var = "thunk from >>" -var p13287 = &p13287Var -var p13291Var = "thunk from >>>" -var p13291 = &p13291Var -var p13326Var = "function " +var p13115Var = "thunk from >" +var p13115 = &p13115Var +var p13127Var = "thunk from >" +var p13127 = &p13127Var +var p13136Var = "object " +var p13136 = &p13136Var +var p13165Var = "thunk from >" +var p13165 = &p13165Var +var p13177Var = "thunk from >" +var p13177 = &p13177Var +var p13186Var = "object " +var p13186 = &p13186Var +var p13201Var = "object " +var p13201 = &p13201Var +var p13210Var = "thunk from >" +var p13210 = &p13210Var +var p13235Var = "thunk from from >>" +var p13235 = &p13235Var +var p13240Var = "thunk from from >>>" +var p13240 = &p13240Var +var p13249Var = "thunk from from >>>>" +var p13249 = &p13249Var +var p13280Var = "thunk from from >>>" +var p13280 = &p13280Var +var p13288Var = "thunk from from >>>" +var p13288 = &p13288Var +var p13302Var = "thunk from from >>" +var p13302 = &p13302Var +var p13307Var = "thunk from from >>>" +var p13307 = &p13307Var +var p13313Var = "thunk from >" +var p13313 = &p13313Var +var p13326Var = "thunk from from >>" var p13326 = &p13326Var -var p13330Var = "thunk from >" -var p13330 = &p13330Var -var p13354Var = "thunk from from >>" -var p13354 = &p13354Var -var p13362Var = "thunk from from >>>" -var p13362 = &p13362Var -var p13366Var = "thunk from from >>>>" -var p13366 = &p13366Var -var p13378Var = "thunk from from >>>>" -var p13378 = &p13378Var -var p13394Var = "thunk from >" -var p13394 = &p13394Var -var p13398Var = "thunk from from >>" -var p13398 = &p13398Var -var p13418Var = "thunk from >" -var p13418 = &p13418Var -var p13422Var = "thunk from >>" -var p13422 = &p13422Var -var p13439Var = "thunk from >" -var p13439 = &p13439Var -var p13458Var = "thunk from >" -var p13458 = &p13458Var -var p13462Var = "thunk from >>" -var p13462 = &p13462Var -var p13478Var = "thunk from >>>" -var p13478 = &p13478Var -var p13482Var = "thunk from >>>>" -var p13482 = &p13482Var -var p13503Var = "thunk from >" -var p13503 = &p13503Var -var p13522Var = "thunk from >" -var p13522 = &p13522Var -var p13526Var = "thunk from >>" -var p13526 = &p13526Var -var p13540Var = "thunk from >" -var p13540 = &p13540Var -var p13555Var = "thunk from >" -var p13555 = &p13555Var -var p13567Var = "thunk from >" -var p13567 = &p13567Var -var p13635Var = "thunk from from >>" -var p13635 = &p13635Var -var p13639Var = "thunk from from >>>" -var p13639 = &p13639Var -var p13650Var = "thunk from from >>>>" -var p13650 = &p13650Var -var p13666Var = "thunk from >" -var p13666 = &p13666Var -var p13670Var = "thunk from from >>" -var p13670 = &p13670Var -var p13680Var = "function " -var p13680 = &p13680Var -var p13684Var = "thunk from >" -var p13684 = &p13684Var -var p13689Var = "thunk from >>" -var p13689 = &p13689Var -var p13707Var = "function " -var p13707 = &p13707Var -var p13711Var = "thunk from >" -var p13711 = &p13711Var -var p13732Var = "thunk from >" -var p13732 = &p13732Var -var p13747Var = "function " -var p13747 = &p13747Var -var p13751Var = "thunk from >" -var p13751 = &p13751Var -var p13761Var = "thunk from >" -var p13761 = &p13761Var -var p13773Var = "thunk from >" -var p13773 = &p13773Var -var p13778Var = "thunk from from >>" -var p13778 = &p13778Var -var p13793Var = "thunk from from >>" -var p13793 = &p13793Var -var p13802Var = "thunk from >" -var p13802 = &p13802Var -var p13815Var = "thunk from >" -var p13815 = &p13815Var -var p13852Var = "thunk from >" +var p13340Var = "thunk from >" +var p13340 = &p13340Var +var p13372Var = "thunk from >" +var p13372 = &p13372Var +var p13377Var = "function " +var p13377 = &p13377Var +var p13381Var = "thunk from >" +var p13381 = &p13381Var +var p13411Var = "function " +var p13411 = &p13411Var +var p13415Var = "thunk from >" +var p13415 = &p13415Var +var p13429Var = "thunk from >" +var p13429 = &p13429Var +var p13453Var = "thunk from >" +var p13453 = &p13453Var +var p13469Var = "thunk from >>" +var p13469 = &p13469Var +var p13473Var = "thunk from >>>" +var p13473 = &p13473Var +var p13508Var = "function " +var p13508 = &p13508Var +var p13512Var = "thunk from >" +var p13512 = &p13512Var +var p13536Var = "thunk from from >>" +var p13536 = &p13536Var +var p13544Var = "thunk from from >>>" +var p13544 = &p13544Var +var p13548Var = "thunk from from >>>>" +var p13548 = &p13548Var +var p13560Var = "thunk from from >>>>" +var p13560 = &p13560Var +var p13576Var = "thunk from >" +var p13576 = &p13576Var +var p13580Var = "thunk from from >>" +var p13580 = &p13580Var +var p13600Var = "thunk from >" +var p13600 = &p13600Var +var p13604Var = "thunk from >>" +var p13604 = &p13604Var +var p13621Var = "thunk from >" +var p13621 = &p13621Var +var p13640Var = "thunk from >" +var p13640 = &p13640Var +var p13644Var = "thunk from >>" +var p13644 = &p13644Var +var p13660Var = "thunk from >>>" +var p13660 = &p13660Var +var p13664Var = "thunk from >>>>" +var p13664 = &p13664Var +var p13685Var = "thunk from >" +var p13685 = &p13685Var +var p13704Var = "thunk from >" +var p13704 = &p13704Var +var p13708Var = "thunk from >>" +var p13708 = &p13708Var +var p13722Var = "thunk from >" +var p13722 = &p13722Var +var p13737Var = "thunk from >" +var p13737 = &p13737Var +var p13749Var = "thunk from >" +var p13749 = &p13749Var +var p13817Var = "thunk from from >>" +var p13817 = &p13817Var +var p13821Var = "thunk from from >>>" +var p13821 = &p13821Var +var p13832Var = "thunk from from >>>>" +var p13832 = &p13832Var +var p13848Var = "thunk from >" +var p13848 = &p13848Var +var p13852Var = "thunk from from >>" var p13852 = &p13852Var -var p13856Var = "thunk from from >>" -var p13856 = &p13856Var -var p13875Var = "thunk from from >>>" -var p13875 = &p13875Var -var p13879Var = "thunk from from >>>>" -var p13879 = &p13879Var -var p13900Var = "thunk from from >>>" -var p13900 = &p13900Var -var p13916Var = "thunk from >>" -var p13916 = &p13916Var -var p13934Var = "thunk from >>>" -var p13934 = &p13934Var -var p13938Var = "thunk from >>>>" -var p13938 = &p13938Var -var p13951Var = "thunk from >" -var p13951 = &p13951Var -var p13968Var = "thunk from >" -var p13968 = &p13968Var -var p13976Var = "thunk from >" -var p13976 = &p13976Var -var p13996Var = "thunk from >" -var p13996 = &p13996Var -var p14000Var = "thunk from from >>" -var p14000 = &p14000Var -var p14015Var = "thunk from from >>" -var p14015 = &p14015Var -var p14036Var = "function " -var p14036 = &p14036Var -var p14040Var = "thunk from >" -var p14040 = &p14040Var -var p14059Var = "thunk from >" -var p14059 = &p14059Var -var p14073Var = "thunk from >" -var p14073 = &p14073Var -var p14119Var = "thunk from >" -var p14119 = &p14119Var -var p14145Var = "thunk from >" -var p14145 = &p14145Var -var p14159Var = "thunk from >" -var p14159 = &p14159Var -var p14245Var = "thunk from >" -var p14245 = &p14245Var -var p14268Var = "thunk from >" -var p14268 = &p14268Var -var p14385Var = "thunk from >" -var p14385 = &p14385Var -var p14409Var = "thunk from >" -var p14409 = &p14409Var -var p14418Var = "thunk from >" -var p14418 = &p14418Var -var p14433Var = "thunk from from >>>" -var p14433 = &p14433Var -var p14440Var = "thunk from from >>" -var p14440 = &p14440Var -var p14447Var = "function " -var p14447 = &p14447Var -var p14459Var = "thunk from >" -var p14459 = &p14459Var -var p14480Var = "function " -var p14480 = &p14480Var -var p14496Var = "thunk from >" -var p14496 = &p14496Var -var p14526Var = "function " -var p14526 = &p14526Var -var p14530Var = "thunk from >" -var p14530 = &p14530Var -var p14546Var = "thunk from from >>" -var p14546 = &p14546Var -var p14575Var = "thunk from >" -var p14575 = &p14575Var -var p14582Var = "thunk from >" -var p14582 = &p14582Var -var p14599Var = "thunk from from >>" -var p14599 = &p14599Var -var p14643Var = "thunk from >" -var p14643 = &p14643Var -var p14660Var = "thunk from from >>" -var p14660 = &p14660Var -var p14702Var = "thunk from >" -var p14702 = &p14702Var -var p14737Var = "thunk from >" -var p14737 = &p14737Var -var p14745Var = "thunk from >" -var p14745 = &p14745Var -var p14766Var = "thunk from >" -var p14766 = &p14766Var -var p14770Var = "thunk from from >>" -var p14770 = &p14770Var -var p14779Var = "function " -var p14779 = &p14779Var -var p14783Var = "thunk from >" -var p14783 = &p14783Var -var p14795Var = "thunk from >>" -var p14795 = &p14795Var -var p14814Var = "thunk from >" -var p14814 = &p14814Var -var p14818Var = "thunk from from >>" -var p14818 = &p14818Var -var p14827Var = "function " -var p14827 = &p14827Var -var p14831Var = "thunk from >" -var p14831 = &p14831Var -var p14836Var = "function " -var p14836 = &p14836Var -var p14867Var = "thunk from >" -var p14867 = &p14867Var -var p14871Var = "thunk from from >>" -var p14871 = &p14871Var -var p14877Var = "function " -var p14877 = &p14877Var -var p14886Var = "thunk from >" -var p14886 = &p14886Var -var p14896Var = "thunk from >" -var p14896 = &p14896Var -var p14901Var = "thunk from >" -var p14901 = &p14901Var -var p14906Var = "thunk from from >>" -var p14906 = &p14906Var -var p14919Var = "thunk from >" +var p13862Var = "function " +var p13862 = &p13862Var +var p13866Var = "thunk from >" +var p13866 = &p13866Var +var p13871Var = "thunk from >>" +var p13871 = &p13871Var +var p13889Var = "function " +var p13889 = &p13889Var +var p13893Var = "thunk from >" +var p13893 = &p13893Var +var p13914Var = "thunk from >" +var p13914 = &p13914Var +var p13929Var = "function " +var p13929 = &p13929Var +var p13933Var = "thunk from >" +var p13933 = &p13933Var +var p13943Var = "thunk from >" +var p13943 = &p13943Var +var p13955Var = "thunk from >" +var p13955 = &p13955Var +var p13960Var = "thunk from from >>" +var p13960 = &p13960Var +var p13975Var = "thunk from from >>" +var p13975 = &p13975Var +var p13984Var = "thunk from >" +var p13984 = &p13984Var +var p13997Var = "thunk from >" +var p13997 = &p13997Var +var p14034Var = "thunk from >" +var p14034 = &p14034Var +var p14038Var = "thunk from from >>" +var p14038 = &p14038Var +var p14057Var = "thunk from from >>>" +var p14057 = &p14057Var +var p14061Var = "thunk from from >>>>" +var p14061 = &p14061Var +var p14082Var = "thunk from from >>>" +var p14082 = &p14082Var +var p14098Var = "thunk from >>" +var p14098 = &p14098Var +var p14116Var = "thunk from >>>" +var p14116 = &p14116Var +var p14120Var = "thunk from >>>>" +var p14120 = &p14120Var +var p14133Var = "thunk from >" +var p14133 = &p14133Var +var p14150Var = "thunk from >" +var p14150 = &p14150Var +var p14158Var = "thunk from >" +var p14158 = &p14158Var +var p14178Var = "thunk from >" +var p14178 = &p14178Var +var p14182Var = "thunk from from >>" +var p14182 = &p14182Var +var p14197Var = "thunk from from >>" +var p14197 = &p14197Var +var p14218Var = "function " +var p14218 = &p14218Var +var p14222Var = "thunk from >" +var p14222 = &p14222Var +var p14241Var = "thunk from >" +var p14241 = &p14241Var +var p14255Var = "thunk from >" +var p14255 = &p14255Var +var p14301Var = "thunk from >" +var p14301 = &p14301Var +var p14327Var = "thunk from >" +var p14327 = &p14327Var +var p14341Var = "thunk from >" +var p14341 = &p14341Var +var p14427Var = "thunk from >" +var p14427 = &p14427Var +var p14450Var = "thunk from >" +var p14450 = &p14450Var +var p14567Var = "thunk from >" +var p14567 = &p14567Var +var p14591Var = "thunk from >" +var p14591 = &p14591Var +var p14600Var = "thunk from >" +var p14600 = &p14600Var +var p14615Var = "thunk from from >>>" +var p14615 = &p14615Var +var p14622Var = "thunk from from >>" +var p14622 = &p14622Var +var p14629Var = "function " +var p14629 = &p14629Var +var p14641Var = "thunk from >" +var p14641 = &p14641Var +var p14662Var = "function " +var p14662 = &p14662Var +var p14678Var = "thunk from >" +var p14678 = &p14678Var +var p14708Var = "function " +var p14708 = &p14708Var +var p14712Var = "thunk from >" +var p14712 = &p14712Var +var p14728Var = "thunk from from >>" +var p14728 = &p14728Var +var p14757Var = "thunk from >" +var p14757 = &p14757Var +var p14764Var = "thunk from >" +var p14764 = &p14764Var +var p14781Var = "thunk from from >>" +var p14781 = &p14781Var +var p14825Var = "thunk from >" +var p14825 = &p14825Var +var p14842Var = "thunk from from >>" +var p14842 = &p14842Var +var p14884Var = "thunk from >" +var p14884 = &p14884Var +var p14919Var = "thunk from >" var p14919 = &p14919Var -var p14924Var = "thunk from from >>" -var p14924 = &p14924Var -var p14932Var = "function " -var p14932 = &p14932Var -var p14963Var = "thunk from >" -var p14963 = &p14963Var -var p14969Var = "function " -var p14969 = &p14969Var -var p14976Var = "thunk from >" -var p14976 = &p14976Var -var p14981Var = "thunk from from >>" -var p14981 = &p14981Var -var p14993Var = "thunk from >" -var p14993 = &p14993Var -var p14999Var = "function " -var p14999 = &p14999Var -var p15006Var = "thunk from >" -var p15006 = &p15006Var -var p15011Var = "thunk from from >>" -var p15011 = &p15011Var -var p15022Var = "thunk from >" -var p15022 = &p15022Var -var p15032Var = "thunk from >" -var p15032 = &p15032Var -var p15044Var = "thunk from >" -var p15044 = &p15044Var -var p15069Var = "thunk from >" -var p15069 = &p15069Var -var p15081Var = "thunk from >" -var p15081 = &p15081Var -var p15085Var = "thunk from from >>" -var p15085 = &p15085Var -var p15093Var = "thunk from >" -var p15093 = &p15093Var -var p15097Var = "thunk from from >>" -var p15097 = &p15097Var -var p15106Var = "function " +var p14927Var = "thunk from >" +var p14927 = &p14927Var +var p14948Var = "thunk from >" +var p14948 = &p14948Var +var p14952Var = "thunk from from >>" +var p14952 = &p14952Var +var p14961Var = "function " +var p14961 = &p14961Var +var p14965Var = "thunk from >" +var p14965 = &p14965Var +var p14977Var = "thunk from >>" +var p14977 = &p14977Var +var p14996Var = "thunk from >" +var p14996 = &p14996Var +var p15000Var = "thunk from from >>" +var p15000 = &p15000Var +var p15009Var = "function " +var p15009 = &p15009Var +var p15013Var = "thunk from >" +var p15013 = &p15013Var +var p15018Var = "function " +var p15018 = &p15018Var +var p15049Var = "thunk from >" +var p15049 = &p15049Var +var p15053Var = "thunk from from >>" +var p15053 = &p15053Var +var p15059Var = "function " +var p15059 = &p15059Var +var p15068Var = "thunk from >" +var p15068 = &p15068Var +var p15078Var = "thunk from >" +var p15078 = &p15078Var +var p15083Var = "thunk from >" +var p15083 = &p15083Var +var p15088Var = "thunk from from >>" +var p15088 = &p15088Var +var p15101Var = "thunk from >" +var p15101 = &p15101Var +var p15106Var = "thunk from from >>" var p15106 = &p15106Var -var p15164Var = "thunk from >" -var p15164 = &p15164Var -var p15176Var = "thunk from >" -var p15176 = &p15176Var -var p15190Var = "thunk from >" -var p15190 = &p15190Var -var p15201Var = "thunk from >>" -var p15201 = &p15201Var -var p15217Var = "thunk from >" -var p15217 = &p15217Var -var p15229Var = "thunk from >>" -var p15229 = &p15229Var -var p15248Var = "thunk from >" -var p15248 = &p15248Var -var p15253Var = "function " -var p15253 = &p15253Var -var p15257Var = "thunk from >" -var p15257 = &p15257Var -var p15266Var = "thunk from >" -var p15266 = &p15266Var -var p15275Var = "thunk from >" +var p15114Var = "function " +var p15114 = &p15114Var +var p15145Var = "thunk from >" +var p15145 = &p15145Var +var p15151Var = "function " +var p15151 = &p15151Var +var p15158Var = "thunk from >" +var p15158 = &p15158Var +var p15163Var = "thunk from from >>" +var p15163 = &p15163Var +var p15175Var = "thunk from >" +var p15175 = &p15175Var +var p15181Var = "function " +var p15181 = &p15181Var +var p15188Var = "thunk from >" +var p15188 = &p15188Var +var p15193Var = "thunk from from >>" +var p15193 = &p15193Var +var p15204Var = "thunk from >" +var p15204 = &p15204Var +var p15214Var = "thunk from >" +var p15214 = &p15214Var +var p15226Var = "thunk from >" +var p15226 = &p15226Var +var p15251Var = "thunk from >" +var p15251 = &p15251Var +var p15263Var = "thunk from >" +var p15263 = &p15263Var +var p15267Var = "thunk from from >>" +var p15267 = &p15267Var +var p15275Var = "thunk from >" var p15275 = &p15275Var -var p15279Var = "thunk from from >>" +var p15279Var = "thunk from from >>" var p15279 = &p15279Var -var p15285Var = "function " -var p15285 = &p15285Var -var p15294Var = "thunk from >" -var p15294 = &p15294Var -var p15304Var = "thunk from >" -var p15304 = &p15304Var -var p15317Var = "thunk from >" -var p15317 = &p15317Var -var p15322Var = "thunk from from >>" -var p15322 = &p15322Var -var p15337Var = "thunk from >" -var p15337 = &p15337Var -var p15352Var = "thunk from >" -var p15352 = &p15352Var -var p15369Var = "thunk from >" -var p15369 = &p15369Var -var p15373Var = "thunk from >>" -var p15373 = &p15373Var -var p15387Var = "thunk from >>" -var p15387 = &p15387Var -var p15419Var = "function " -var p15419 = &p15419Var -var p15428Var = "thunk from >" -var p15428 = &p15428Var -var p15435Var = "thunk from >" +var p15288Var = "function " +var p15288 = &p15288Var +var p15346Var = "thunk from >" +var p15346 = &p15346Var +var p15358Var = "thunk from >" +var p15358 = &p15358Var +var p15372Var = "thunk from >" +var p15372 = &p15372Var +var p15383Var = "thunk from >>" +var p15383 = &p15383Var +var p15399Var = "thunk from >" +var p15399 = &p15399Var +var p15411Var = "thunk from >>" +var p15411 = &p15411Var +var p15430Var = "thunk from >" +var p15430 = &p15430Var +var p15435Var = "function " var p15435 = &p15435Var -var p15446Var = "thunk from >" -var p15446 = &p15446Var -var p15455Var = "thunk from >" -var p15455 = &p15455Var -var p15467Var = "thunk from >>" +var p15439Var = "thunk from >" +var p15439 = &p15439Var +var p15448Var = "thunk from >" +var p15448 = &p15448Var +var p15457Var = "thunk from >" +var p15457 = &p15457Var +var p15461Var = "thunk from from >>" +var p15461 = &p15461Var +var p15467Var = "function " var p15467 = &p15467Var -var p15481Var = "thunk from >" -var p15481 = &p15481Var -var p15494Var = "thunk from >" -var p15494 = &p15494Var -var p15502Var = "function " -var p15502 = &p15502Var -var p15506Var = "thunk from >" -var p15506 = &p15506Var -var p15526Var = "function " -var p15526 = &p15526Var -var p15534Var = "thunk from >" +var p15476Var = "thunk from >" +var p15476 = &p15476Var +var p15486Var = "thunk from >" +var p15486 = &p15486Var +var p15499Var = "thunk from >" +var p15499 = &p15499Var +var p15504Var = "thunk from from >>" +var p15504 = &p15504Var +var p15519Var = "thunk from >" +var p15519 = &p15519Var +var p15534Var = "thunk from >" var p15534 = &p15534Var -var p15538Var = "thunk from >>" -var p15538 = &p15538Var -var p15554Var = "function " -var p15554 = &p15554Var -var p15569Var = "thunk from >" +var p15551Var = "thunk from >" +var p15551 = &p15551Var +var p15555Var = "thunk from >>" +var p15555 = &p15555Var +var p15569Var = "thunk from >>" var p15569 = &p15569Var -var p15575Var = "thunk from >>>" -var p15575 = &p15575Var -var p15577Var = "thunk from >>" -var p15577 = &p15577Var -var p15602Var = "function " -var p15602 = &p15602Var -var p15606Var = "thunk from >" -var p15606 = &p15606Var -var p15641Var = "thunk from >" -var p15641 = &p15641Var -var p15670Var = "thunk from >" -var p15670 = &p15670Var -var p15675Var = "thunk from from >>" -var p15675 = &p15675Var -var p15685Var = "thunk from >" -var p15685 = &p15685Var -var p15690Var = "thunk from from >>" -var p15690 = &p15690Var -var p15709Var = "thunk from >" -var p15709 = &p15709Var -var p15728Var = "thunk from >>" -var p15728 = &p15728Var -var p15751Var = "thunk from >" +var p15601Var = "function " +var p15601 = &p15601Var +var p15610Var = "thunk from >" +var p15610 = &p15610Var +var p15617Var = "thunk from >" +var p15617 = &p15617Var +var p15628Var = "thunk from >" +var p15628 = &p15628Var +var p15637Var = "thunk from >" +var p15637 = &p15637Var +var p15649Var = "thunk from >>" +var p15649 = &p15649Var +var p15663Var = "thunk from >" +var p15663 = &p15663Var +var p15676Var = "thunk from >" +var p15676 = &p15676Var +var p15684Var = "function " +var p15684 = &p15684Var +var p15688Var = "thunk from >" +var p15688 = &p15688Var +var p15708Var = "function " +var p15708 = &p15708Var +var p15716Var = "thunk from >" +var p15716 = &p15716Var +var p15720Var = "thunk from >>" +var p15720 = &p15720Var +var p15736Var = "function " +var p15736 = &p15736Var +var p15751Var = "thunk from >" var p15751 = &p15751Var -var p15767Var = "thunk from >>" -var p15767 = &p15767Var -var p15783Var = "thunk from >" -var p15783 = &p15783Var -var p15799Var = "thunk from >>" -var p15799 = &p15799Var -var p15824Var = "thunk from >" -var p15824 = &p15824Var -var p15829Var = "function " -var p15829 = &p15829Var -var p15833Var = "thunk from >" -var p15833 = &p15833Var -var p15861Var = "function " -var p15861 = &p15861Var -var p15865Var = "thunk from >" -var p15865 = &p15865Var -var p15880Var = "thunk from >" -var p15880 = &p15880Var -var p15898Var = "thunk from >" -var p15898 = &p15898Var -var p15910Var = "thunk from >" +var p15757Var = "thunk from >>>" +var p15757 = &p15757Var +var p15759Var = "thunk from >>" +var p15759 = &p15759Var +var p15784Var = "function " +var p15784 = &p15784Var +var p15788Var = "thunk from >" +var p15788 = &p15788Var +var p15823Var = "thunk from >" +var p15823 = &p15823Var +var p15852Var = "thunk from >" +var p15852 = &p15852Var +var p15857Var = "thunk from from >>" +var p15857 = &p15857Var +var p15867Var = "thunk from >" +var p15867 = &p15867Var +var p15872Var = "thunk from from >>" +var p15872 = &p15872Var +var p15891Var = "thunk from >" +var p15891 = &p15891Var +var p15910Var = "thunk from >>" var p15910 = &p15910Var -var p15923Var = "thunk from >" -var p15923 = &p15923Var -var p15942Var = "thunk from >>" -var p15942 = &p15942Var -var p15960Var = "thunk from >" -var p15960 = &p15960Var -var p15972Var = "thunk from >" -var p15972 = &p15972Var -var p15985Var = "thunk from >" -var p15985 = &p15985Var -var p16005Var = "thunk from >" -var p16005 = &p16005Var -var p16028Var = "thunk from >" -var p16028 = &p16028Var -var p16033Var = "function " -var p16033 = &p16033Var -var p16037Var = "thunk from >" -var p16037 = &p16037Var -var p16063Var = "function " -var p16063 = &p16063Var -var p16067Var = "thunk from >" -var p16067 = &p16067Var -var p16086Var = "thunk from >" -var p16086 = &p16086Var -var p16119Var = "thunk from >" -var p16119 = &p16119Var -var p16131Var = "thunk from >" -var p16131 = &p16131Var -var p16144Var = "thunk from >" -var p16144 = &p16144Var -var p16169Var = "thunk from >" -var p16169 = &p16169Var -var p16181Var = "thunk from >" -var p16181 = &p16181Var -var p16194Var = "thunk from >" -var p16194 = &p16194Var -var p16210Var = "thunk from >>" +var p15933Var = "thunk from >" +var p15933 = &p15933Var +var p15949Var = "thunk from >>" +var p15949 = &p15949Var +var p15965Var = "thunk from >" +var p15965 = &p15965Var +var p15981Var = "thunk from >>" +var p15981 = &p15981Var +var p16006Var = "thunk from >" +var p16006 = &p16006Var +var p16011Var = "function " +var p16011 = &p16011Var +var p16015Var = "thunk from >" +var p16015 = &p16015Var +var p16043Var = "function " +var p16043 = &p16043Var +var p16047Var = "thunk from >" +var p16047 = &p16047Var +var p16062Var = "thunk from >" +var p16062 = &p16062Var +var p16080Var = "thunk from >" +var p16080 = &p16080Var +var p16092Var = "thunk from >" +var p16092 = &p16092Var +var p16105Var = "thunk from >" +var p16105 = &p16105Var +var p16124Var = "thunk from >>" +var p16124 = &p16124Var +var p16142Var = "thunk from >" +var p16142 = &p16142Var +var p16154Var = "thunk from >" +var p16154 = &p16154Var +var p16167Var = "thunk from >" +var p16167 = &p16167Var +var p16187Var = "thunk from >" +var p16187 = &p16187Var +var p16210Var = "thunk from >" var p16210 = &p16210Var -var p16226Var = "thunk from >" -var p16226 = &p16226Var -var p16251Var = "thunk from >" -var p16251 = &p16251Var -var p16256Var = "function " -var p16256 = &p16256Var -var p16260Var = "thunk from >" -var p16260 = &p16260Var -var p16282Var = "function " -var p16282 = &p16282Var -var p16286Var = "thunk from >" -var p16286 = &p16286Var -var p16297Var = "thunk from >" -var p16297 = &p16297Var -var p16301Var = "thunk from from >>" +var p16215Var = "function " +var p16215 = &p16215Var +var p16219Var = "thunk from >" +var p16219 = &p16219Var +var p16245Var = "function " +var p16245 = &p16245Var +var p16249Var = "thunk from >" +var p16249 = &p16249Var +var p16268Var = "thunk from >" +var p16268 = &p16268Var +var p16301Var = "thunk from >" var p16301 = &p16301Var -var p16317Var = "thunk from >" -var p16317 = &p16317Var -var p16321Var = "thunk from from >>" -var p16321 = &p16321Var -var p16332Var = "thunk from from >>" -var p16332 = &p16332Var -var p16351Var = "thunk from >" +var p16313Var = "thunk from >" +var p16313 = &p16313Var +var p16326Var = "thunk from >" +var p16326 = &p16326Var +var p16351Var = "thunk from >" var p16351 = &p16351Var -var p16362Var = "thunk from from >>" -var p16362 = &p16362Var -var p16377Var = "thunk from from >>" -var p16377 = &p16377Var -var p16388Var = "thunk from >" -var p16388 = &p16388Var -var p16392Var = "thunk from from >>" +var p16363Var = "thunk from >" +var p16363 = &p16363Var +var p16376Var = "thunk from >" +var p16376 = &p16376Var +var p16392Var = "thunk from >>" var p16392 = &p16392Var -var p16402Var = "thunk from from >>>" -var p16402 = &p16402Var -var p16434Var = "object " -var p16434 = &p16434Var -var p16438Var = "thunk from >" +var p16408Var = "thunk from >" +var p16408 = &p16408Var +var p16433Var = "thunk from >" +var p16433 = &p16433Var +var p16438Var = "function " var p16438 = &p16438Var -var p16461Var = "thunk from >" -var p16461 = &p16461Var -var p16476Var = "thunk from >" -var p16476 = &p16476Var -var p16494Var = "thunk from >" -var p16494 = &p16494Var -var p16524Var = "thunk from >" -var p16524 = &p16524Var -var p16555Var = "function " -var p16555 = &p16555Var -var p16559Var = "thunk from >" +var p16442Var = "thunk from >" +var p16442 = &p16442Var +var p16464Var = "function " +var p16464 = &p16464Var +var p16468Var = "thunk from >" +var p16468 = &p16468Var +var p16479Var = "thunk from >" +var p16479 = &p16479Var +var p16483Var = "thunk from from >>" +var p16483 = &p16483Var +var p16499Var = "thunk from >" +var p16499 = &p16499Var +var p16503Var = "thunk from from >>" +var p16503 = &p16503Var +var p16514Var = "thunk from from >>" +var p16514 = &p16514Var +var p16533Var = "thunk from >" +var p16533 = &p16533Var +var p16544Var = "thunk from from >>" +var p16544 = &p16544Var +var p16559Var = "thunk from from >>" var p16559 = &p16559Var -var p16588Var = "function " -var p16588 = &p16588Var -var p16592Var = "thunk from >" -var p16592 = &p16592Var -var p16606Var = "function " -var p16606 = &p16606Var -var p16610Var = "thunk from >" -var p16610 = &p16610Var -var p16624Var = "function " -var p16624 = &p16624Var -var p16628Var = "thunk from >" -var p16628 = &p16628Var -var p16644Var = "function " -var p16644 = &p16644Var -var p16648Var = "thunk from >" -var p16648 = &p16648Var -var p16670Var = "thunk from >" -var p16670 = &p16670Var -var p16683Var = "function " -var p16683 = &p16683Var -var p16687Var = "thunk from >" -var p16687 = &p16687Var -var p16707Var = "thunk from >" -var p16707 = &p16707Var -var p16720Var = "function " -var p16720 = &p16720Var -var p16724Var = "thunk from >" -var p16724 = &p16724Var -var p16746Var = "object " -var p16746 = &p16746Var -var p16755Var = "thunk from >" -var p16755 = &p16755Var -var p16765Var = "function " -var p16765 = &p16765Var -var p16769Var = "thunk from >" -var p16769 = &p16769Var -var p16791Var = "object " -var p16791 = &p16791Var -var p16800Var = "thunk from >" -var p16800 = &p16800Var -var p16810Var = "function " +var p16570Var = "thunk from >" +var p16570 = &p16570Var +var p16574Var = "thunk from from >>" +var p16574 = &p16574Var +var p16584Var = "thunk from from >>>" +var p16584 = &p16584Var +var p16616Var = "object " +var p16616 = &p16616Var +var p16620Var = "thunk from >" +var p16620 = &p16620Var +var p16643Var = "thunk from >" +var p16643 = &p16643Var +var p16658Var = "thunk from >" +var p16658 = &p16658Var +var p16676Var = "thunk from >" +var p16676 = &p16676Var +var p16706Var = "thunk from >" +var p16706 = &p16706Var +var p16737Var = "function " +var p16737 = &p16737Var +var p16741Var = "thunk from >" +var p16741 = &p16741Var +var p16770Var = "function " +var p16770 = &p16770Var +var p16774Var = "thunk from >" +var p16774 = &p16774Var +var p16788Var = "function " +var p16788 = &p16788Var +var p16792Var = "thunk from >" +var p16792 = &p16792Var +var p16806Var = "function " +var p16806 = &p16806Var +var p16810Var = "thunk from >" var p16810 = &p16810Var -var p16814Var = "thunk from >" -var p16814 = &p16814Var -var p16829Var = "thunk from >" -var p16829 = &p16829Var -var p16833Var = "thunk from from >>" -var p16833 = &p16833Var -var p16843Var = "thunk from >" -var p16843 = &p16843Var -var p16847Var = "thunk from from >>" -var p16847 = &p16847Var -var p16857Var = "function " -var p16857 = &p16857Var -var p16861Var = "thunk from >" -var p16861 = &p16861Var -var p16878Var = "thunk from >" -var p16878 = &p16878Var -var p16889Var = "thunk from >" +var p16826Var = "function " +var p16826 = &p16826Var +var p16830Var = "thunk from >" +var p16830 = &p16830Var +var p16852Var = "thunk from >" +var p16852 = &p16852Var +var p16865Var = "function " +var p16865 = &p16865Var +var p16869Var = "thunk from >" +var p16869 = &p16869Var +var p16889Var = "thunk from >" var p16889 = &p16889Var -var p16893Var = "thunk from from >>" -var p16893 = &p16893Var +var p16902Var = "function " +var p16902 = &p16902Var var p16906Var = "thunk from >" var p16906 = &p16906Var -var p16916Var = "thunk from >>" -var p16916 = &p16916Var -var p16929Var = "function " -var p16929 = &p16929Var -var p16959Var = "thunk from >" -var p16959 = &p16959Var -var p16975Var = "thunk from >" -var p16975 = &p16975Var -var p16983Var = "thunk from >" -var p16983 = &p16983Var -var p17005Var = "thunk from >" -var p17005 = &p17005Var -var p17016Var = "thunk from >" -var p17016 = &p17016Var -var p17020Var = "thunk from from >>" -var p17020 = &p17020Var -var p17030Var = "thunk from >" -var p17030 = &p17030Var -var p17034Var = "thunk from from >>" -var p17034 = &p17034Var -var p17047Var = "thunk from >" -var p17047 = &p17047Var -var p17061Var = "function " -var p17061 = &p17061Var -var p17073Var = "thunk from >" -var p17073 = &p17073Var -var p17101Var = "thunk from >" -var p17101 = &p17101Var -var p17117Var = "thunk from >" -var p17117 = &p17117Var -var p17125Var = "thunk from >" -var p17125 = &p17125Var -var p17149Var = "thunk from >" -var p17149 = &p17149Var -var p17177Var = "thunk from >" -var p17177 = &p17177Var -var p17181Var = "thunk from from >>" -var p17181 = &p17181Var -var p17191Var = "function " -var p17191 = &p17191Var -var p17195Var = "thunk from >" -var p17195 = &p17195Var -var p17200Var = "thunk from >>" -var p17200 = &p17200Var -var p17212Var = "thunk from >>" +var p16928Var = "object " +var p16928 = &p16928Var +var p16937Var = "thunk from >" +var p16937 = &p16937Var +var p16947Var = "function " +var p16947 = &p16947Var +var p16951Var = "thunk from >" +var p16951 = &p16951Var +var p16973Var = "object " +var p16973 = &p16973Var +var p16982Var = "thunk from >" +var p16982 = &p16982Var +var p16992Var = "function " +var p16992 = &p16992Var +var p16996Var = "thunk from >" +var p16996 = &p16996Var +var p17011Var = "thunk from >" +var p17011 = &p17011Var +var p17015Var = "thunk from from >>" +var p17015 = &p17015Var +var p17025Var = "thunk from >" +var p17025 = &p17025Var +var p17029Var = "thunk from from >>" +var p17029 = &p17029Var +var p17039Var = "function " +var p17039 = &p17039Var +var p17043Var = "thunk from >" +var p17043 = &p17043Var +var p17060Var = "thunk from >" +var p17060 = &p17060Var +var p17071Var = "thunk from >" +var p17071 = &p17071Var +var p17075Var = "thunk from from >>" +var p17075 = &p17075Var +var p17088Var = "thunk from >" +var p17088 = &p17088Var +var p17098Var = "thunk from >>" +var p17098 = &p17098Var +var p17111Var = "function " +var p17111 = &p17111Var +var p17141Var = "thunk from >" +var p17141 = &p17141Var +var p17157Var = "thunk from >" +var p17157 = &p17157Var +var p17165Var = "thunk from >" +var p17165 = &p17165Var +var p17187Var = "thunk from >" +var p17187 = &p17187Var +var p17198Var = "thunk from >" +var p17198 = &p17198Var +var p17202Var = "thunk from from >>" +var p17202 = &p17202Var +var p17212Var = "thunk from >" var p17212 = &p17212Var -var p17221Var = "thunk from >>>" -var p17221 = &p17221Var -var p17228Var = "function " -var p17228 = &p17228Var -var p17250Var = "function " -var p17250 = &p17250Var -var p17265Var = "thunk from >" -var p17265 = &p17265Var -var p17279Var = "thunk from >" -var p17279 = &p17279Var -var p17292Var = "thunk from >" -var p17292 = &p17292Var -var p17306Var = "thunk from >" -var p17306 = &p17306Var -var p17320Var = "thunk from >" -var p17320 = &p17320Var -var p17328Var = "function " -var p17328 = &p17328Var -var p17332Var = "thunk from >" -var p17332 = &p17332Var -var p17353Var = "thunk from >" -var p17353 = &p17353Var -var p17357Var = "thunk from >>" -var p17357 = &p17357Var -var p17368Var = "thunk from >" -var p17368 = &p17368Var -var p17372Var = "thunk from >>" -var p17372 = &p17372Var -var p17392Var = "thunk from >" -var p17392 = &p17392Var -var p17420Var = "thunk from >" -var p17420 = &p17420Var -var p17425Var = "thunk from >>" -var p17425 = &p17425Var -var p17443Var = "object " -var p17443 = &p17443Var -var p17448Var = "thunk from >" -var p17448 = &p17448Var -var p17468Var = "thunk from >" -var p17468 = &p17468Var -var p17493Var = "function " -var p17493 = &p17493Var -var p17497Var = "thunk from >" -var p17497 = &p17497Var -var p17511Var = "thunk from >" -var p17511 = &p17511Var -var p17528Var = "thunk from >" -var p17528 = &p17528Var -var p17542Var = "thunk from >" -var p17542 = &p17542Var -var p17556Var = "thunk from >" -var p17556 = &p17556Var -var p17560Var = "thunk from from >>" -var p17560 = &p17560Var -var p17570Var = "thunk from >" -var p17570 = &p17570Var -var p17574Var = "thunk from from >>" +var p17216Var = "thunk from from >>" +var p17216 = &p17216Var +var p17229Var = "thunk from >" +var p17229 = &p17229Var +var p17243Var = "function " +var p17243 = &p17243Var +var p17255Var = "thunk from >" +var p17255 = &p17255Var +var p17283Var = "thunk from >" +var p17283 = &p17283Var +var p17299Var = "thunk from >" +var p17299 = &p17299Var +var p17307Var = "thunk from >" +var p17307 = &p17307Var +var p17331Var = "thunk from >" +var p17331 = &p17331Var +var p17359Var = "thunk from >" +var p17359 = &p17359Var +var p17363Var = "thunk from from >>" +var p17363 = &p17363Var +var p17373Var = "function " +var p17373 = &p17373Var +var p17377Var = "thunk from >" +var p17377 = &p17377Var +var p17382Var = "thunk from >>" +var p17382 = &p17382Var +var p17394Var = "thunk from >>" +var p17394 = &p17394Var +var p17403Var = "thunk from >>>" +var p17403 = &p17403Var +var p17410Var = "function " +var p17410 = &p17410Var +var p17432Var = "function " +var p17432 = &p17432Var +var p17447Var = "thunk from >" +var p17447 = &p17447Var +var p17461Var = "thunk from >" +var p17461 = &p17461Var +var p17474Var = "thunk from >" +var p17474 = &p17474Var +var p17488Var = "thunk from >" +var p17488 = &p17488Var +var p17502Var = "thunk from >" +var p17502 = &p17502Var +var p17510Var = "function " +var p17510 = &p17510Var +var p17514Var = "thunk from >" +var p17514 = &p17514Var +var p17535Var = "thunk from >" +var p17535 = &p17535Var +var p17539Var = "thunk from >>" +var p17539 = &p17539Var +var p17550Var = "thunk from >" +var p17550 = &p17550Var +var p17554Var = "thunk from >>" +var p17554 = &p17554Var +var p17574Var = "thunk from >" var p17574 = &p17574Var -var p17611Var = "function " -var p17611 = &p17611Var -var p17634Var = "thunk from >" -var p17634 = &p17634Var -var p17644Var = "thunk from >>" -var p17644 = &p17644Var -var p17676Var = "function " -var p17676 = &p17676Var -var p17680Var = "thunk from >" -var p17680 = &p17680Var -var p17694Var = "thunk from >" -var p17694 = &p17694Var -var p17712Var = "function " -var p17712 = &p17712Var -var p17722Var = "thunk from >" -var p17722 = &p17722Var -var p17732Var = "thunk from >>" -var p17732 = &p17732Var -var p17743Var = "thunk from >>>" -var p17743 = &p17743Var -var p17762Var = "function " -var p17762 = &p17762Var -var p17766Var = "thunk from >" -var p17766 = &p17766Var -var p17776Var = "thunk from >" -var p17776 = &p17776Var -var p17780Var = "thunk from from >>" -var p17780 = &p17780Var -var p17789Var = "function " -var p17789 = &p17789Var -var p17800Var = "thunk from >" -var p17800 = &p17800Var -var p17814Var = "thunk from >" -var p17814 = &p17814Var -var p17831Var = "thunk from >" -var p17831 = &p17831Var -var p17848Var = "thunk from >" -var p17848 = &p17848Var -var p17859Var = "thunk from >>" -var p17859 = &p17859Var -var p17871Var = "thunk from >" -var p17871 = &p17871Var -var p17879Var = "thunk from >" -var p17879 = &p17879Var -var p17895Var = "thunk from >" -var p17895 = &p17895Var -var p17912Var = "function " -var p17912 = &p17912Var -var p17916Var = "thunk from >" -var p17916 = &p17916Var -var p17926Var = "thunk from >" -var p17926 = &p17926Var -var p17930Var = "thunk from from >>" -var p17930 = &p17930Var -var p17939Var = "function " -var p17939 = &p17939Var -var p17950Var = "thunk from >" -var p17950 = &p17950Var -var p17964Var = "thunk from >" -var p17964 = &p17964Var -var p17979Var = "thunk from >" -var p17979 = &p17979Var +var p17602Var = "thunk from >" +var p17602 = &p17602Var +var p17607Var = "thunk from >>" +var p17607 = &p17607Var +var p17625Var = "object " +var p17625 = &p17625Var +var p17630Var = "thunk from >" +var p17630 = &p17630Var +var p17650Var = "thunk from >" +var p17650 = &p17650Var +var p17675Var = "function " +var p17675 = &p17675Var +var p17679Var = "thunk from >" +var p17679 = &p17679Var +var p17693Var = "thunk from >" +var p17693 = &p17693Var +var p17710Var = "thunk from >" +var p17710 = &p17710Var +var p17724Var = "thunk from >" +var p17724 = &p17724Var +var p17738Var = "thunk from >" +var p17738 = &p17738Var +var p17742Var = "thunk from from >>" +var p17742 = &p17742Var +var p17752Var = "thunk from >" +var p17752 = &p17752Var +var p17756Var = "thunk from from >>" +var p17756 = &p17756Var +var p17793Var = "function " +var p17793 = &p17793Var +var p17816Var = "thunk from >" +var p17816 = &p17816Var +var p17826Var = "thunk from >>" +var p17826 = &p17826Var +var p17858Var = "function " +var p17858 = &p17858Var +var p17862Var = "thunk from >" +var p17862 = &p17862Var +var p17876Var = "thunk from >" +var p17876 = &p17876Var +var p17894Var = "function " +var p17894 = &p17894Var +var p17904Var = "thunk from >" +var p17904 = &p17904Var +var p17914Var = "thunk from >>" +var p17914 = &p17914Var +var p17925Var = "thunk from >>>" +var p17925 = &p17925Var +var p17944Var = "function " +var p17944 = &p17944Var +var p17948Var = "thunk from >" +var p17948 = &p17948Var +var p17958Var = "thunk from >" +var p17958 = &p17958Var +var p17962Var = "thunk from from >>" +var p17962 = &p17962Var +var p17971Var = "function " +var p17971 = &p17971Var +var p17982Var = "thunk from >" +var p17982 = &p17982Var var p17996Var = "thunk from >" var p17996 = &p17996Var -var p18007Var = "thunk from >>" -var p18007 = &p18007Var -var p18019Var = "thunk from >" -var p18019 = &p18019Var -var p18027Var = "thunk from >" -var p18027 = &p18027Var -var p18043Var = "thunk from >" +var p18013Var = "thunk from >" +var p18013 = &p18013Var +var p18033Var = "thunk from >" +var p18033 = &p18033Var +var p18043Var = "thunk from >>" var p18043 = &p18043Var -var p18061Var = "thunk from >" -var p18061 = &p18061Var -var p18065Var = "thunk from from >>" -var p18065 = &p18065Var -var p18073Var = "thunk from >" -var p18073 = &p18073Var -var p18077Var = "thunk from from >>" -var p18077 = &p18077Var -var p18083Var = "function " -var p18083 = &p18083Var -var p18118Var = "thunk from >" -var p18118 = &p18118Var -var p18196Var = "thunk from >" -var p18196 = &p18196Var -var p18200Var = "thunk from from >>" -var p18200 = &p18200Var -var p18208Var = "thunk from >" -var p18208 = &p18208Var -var p18212Var = "thunk from from >>" -var p18212 = &p18212Var -var p18222Var = "thunk from >" -var p18222 = &p18222Var -var p18226Var = "thunk from from >>" -var p18226 = &p18226Var -var p18237Var = "function " -var p18237 = &p18237Var -var p18249Var = "thunk from >" +var p18056Var = "thunk from >" +var p18056 = &p18056Var +var p18064Var = "thunk from >" +var p18064 = &p18064Var +var p18080Var = "thunk from >" +var p18080 = &p18080Var +var p18097Var = "function " +var p18097 = &p18097Var +var p18101Var = "thunk from >" +var p18101 = &p18101Var +var p18111Var = "thunk from >" +var p18111 = &p18111Var +var p18115Var = "thunk from from >>" +var p18115 = &p18115Var +var p18124Var = "function " +var p18124 = &p18124Var +var p18135Var = "thunk from >" +var p18135 = &p18135Var +var p18149Var = "thunk from >" +var p18149 = &p18149Var +var p18164Var = "thunk from >" +var p18164 = &p18164Var +var p18184Var = "thunk from >" +var p18184 = &p18184Var +var p18194Var = "thunk from >>" +var p18194 = &p18194Var +var p18207Var = "thunk from >" +var p18207 = &p18207Var +var p18215Var = "thunk from >" +var p18215 = &p18215Var +var p18231Var = "thunk from >" +var p18231 = &p18231Var +var p18249Var = "thunk from >" var p18249 = &p18249Var -var p18254Var = "thunk from from >>" -var p18254 = &p18254Var -var p18282Var = "thunk from >" -var p18282 = &p18282Var -var p18301Var = "thunk from >" -var p18301 = &p18301Var -var p18310Var = "thunk from >" -var p18310 = &p18310Var -var p18315Var = "function " -var p18315 = &p18315Var -var p18319Var = "thunk from >" -var p18319 = &p18319Var -var p18334Var = "function " -var p18334 = &p18334Var -var p18343Var = "thunk from >" -var p18343 = &p18343Var -var p18355Var = "function " -var p18355 = &p18355Var -var p18364Var = "thunk from >" -var p18364 = &p18364Var -var p18376Var = "function " -var p18376 = &p18376Var -var p18385Var = "thunk from >" -var p18385 = &p18385Var -var p18397Var = "function " -var p18397 = &p18397Var -var p18406Var = "thunk from >" -var p18406 = &p18406Var -var p18421Var = "function " -var p18421 = &p18421Var -var p18427Var = "function " -var p18427 = &p18427Var -var p18433Var = "thunk from >" -var p18433 = &p18433Var -var p18444Var = "function " -var p18444 = &p18444Var -var p18454Var = "function " -var p18454 = &p18454Var -var p18467Var = "function " -var p18467 = &p18467Var -var p18472Var = "thunk from >" -var p18472 = &p18472Var -var p18483Var = "function " -var p18483 = &p18483Var -var p18492Var = "thunk from >" -var p18492 = &p18492Var -var p18500Var = "object " -var p18500 = &p18500Var +var p18253Var = "thunk from from >>" +var p18253 = &p18253Var +var p18261Var = "thunk from >" +var p18261 = &p18261Var +var p18265Var = "thunk from from >>" +var p18265 = &p18265Var +var p18271Var = "function " +var p18271 = &p18271Var +var p18306Var = "thunk from >" +var p18306 = &p18306Var +var p18384Var = "thunk from >" +var p18384 = &p18384Var +var p18388Var = "thunk from from >>" +var p18388 = &p18388Var +var p18396Var = "thunk from >" +var p18396 = &p18396Var +var p18400Var = "thunk from from >>" +var p18400 = &p18400Var +var p18410Var = "thunk from >" +var p18410 = &p18410Var +var p18414Var = "thunk from from >>" +var p18414 = &p18414Var +var p18425Var = "function " +var p18425 = &p18425Var +var p18437Var = "thunk from >" +var p18437 = &p18437Var +var p18442Var = "thunk from from >>" +var p18442 = &p18442Var +var p18470Var = "thunk from >" +var p18470 = &p18470Var +var p18489Var = "thunk from >" +var p18489 = &p18489Var +var p18498Var = "thunk from >" +var p18498 = &p18498Var var p18503Var = "function " var p18503 = &p18503Var -var p18506Var = "object " -var p18506 = &p18506Var -var p18512Var = "function " -var p18512 = &p18512Var -var p18514Var = "function " -var p18514 = &p18514Var -var p18516Var = "function " -var p18516 = &p18516Var -var p18520Var = "function " -var p18520 = &p18520Var +var p18507Var = "thunk from >" +var p18507 = &p18507Var var p18522Var = "function " var p18522 = &p18522Var -var p18524Var = "function " -var p18524 = &p18524Var -var p18526Var = "function " -var p18526 = &p18526Var -var p18535Var = "thunk from >" -var p18535 = &p18535Var -var p18539Var = "thunk from from >>" -var p18539 = &p18539Var -var p18540Var = "thunk from >" -var p18540 = &p18540Var -var p18549Var = "thunk from >" -var p18549 = &p18549Var -var p18553Var = "thunk from from >>" -var p18553 = &p18553Var -var p18554Var = "thunk from >" -var p18554 = &p18554Var -var p18563Var = "thunk from >" -var p18563 = &p18563Var -var p18567Var = "thunk from from >>" -var p18567 = &p18567Var -var p18568Var = "thunk from >" -var p18568 = &p18568Var -var p18580Var = "thunk from >" -var p18580 = &p18580Var -var p18584Var = "thunk from from >>" -var p18584 = &p18584Var -var p18586Var = "thunk from >" -var p18586 = &p18586Var -var p18593Var = "thunk from >" -var p18593 = &p18593Var -var p18596Var = "thunk from >" -var p18596 = &p18596Var -var p18598Var = "thunk from >" -var p18598 = &p18598Var -var p18602Var = "thunk from >" -var p18602 = &p18602Var -var p18605Var = "thunk from >" -var p18605 = &p18605Var -var p18609Var = "thunk from >" +var p18531Var = "thunk from >" +var p18531 = &p18531Var +var p18543Var = "function " +var p18543 = &p18543Var +var p18552Var = "thunk from >" +var p18552 = &p18552Var +var p18564Var = "function " +var p18564 = &p18564Var +var p18573Var = "thunk from >" +var p18573 = &p18573Var +var p18585Var = "function " +var p18585 = &p18585Var +var p18594Var = "thunk from >" +var p18594 = &p18594Var +var p18609Var = "function " var p18609 = &p18609Var -var p18611Var = "thunk from >" -var p18611 = &p18611Var -var p18613Var = "thunk from >" -var p18613 = &p18613Var -var p18618Var = "thunk from >" -var p18618 = &p18618Var -var p18621Var = "thunk from >" +var p18615Var = "function " +var p18615 = &p18615Var +var p18621Var = "thunk from >" var p18621 = &p18621Var -var p18623Var = "thunk from >" -var p18623 = &p18623Var -var p18627Var = "thunk from >" -var p18627 = &p18627Var -var p18630Var = "thunk from >" -var p18630 = &p18630Var -var p18634Var = "thunk from >" -var p18634 = &p18634Var -var p18636Var = "thunk from >" -var p18636 = &p18636Var -var p18638Var = "thunk from >" -var p18638 = &p18638Var -var p18642Var = "thunk from >" +var p18633Var = "function " +var p18633 = &p18633Var +var p18642Var = "thunk from >" var p18642 = &p18642Var -var p18646Var = "thunk from >" -var p18646 = &p18646Var -var p18648Var = "thunk from >" -var p18648 = &p18648Var -var p18651Var = "thunk from >" -var p18651 = &p18651Var -var p18654Var = "thunk from >" -var p18654 = &p18654Var -var p18660Var = "function " -var p18660 = &p18660Var -var p18663Var = "function " -var p18663 = &p18663Var -var p18665Var = "function " -var p18665 = &p18665Var -var p18669Var = "function " -var p18669 = &p18669Var -var p18671Var = "function " -var p18671 = &p18671Var -var p18673Var = "function " -var p18673 = &p18673Var -var p18675Var = "function " -var p18675 = &p18675Var -var p18679Var = "function " -var p18679 = &p18679Var -var p18683Var = "function " -var p18683 = &p18683Var -var p18687Var = "function " -var p18687 = &p18687Var -var p18689Var = "function " -var p18689 = &p18689Var -var p18691Var = "function " -var p18691 = &p18691Var -var p18702Var = "function " -var p18702 = &p18702Var -var p18706Var = "thunk from >" -var p18706 = &p18706Var -var p18709Var = "thunk from >" -var p18709 = &p18709Var -var p18711Var = "function " -var p18711 = &p18711Var -var p18717Var = "function " -var p18717 = &p18717Var -var p18720Var = "function " -var p18720 = &p18720Var -var p18723Var = "thunk from >" -var p18723 = &p18723Var -var p18731Var = "function " -var p18731 = &p18731Var -var p18735Var = "thunk from >" -var p18735 = &p18735Var -var p18742Var = "thunk from >" -var p18742 = &p18742Var -var p18746Var = "thunk from >>" -var p18746 = &p18746Var -var p18748Var = "thunk from >" -var p18748 = &p18748Var -var p18751Var = "thunk from >" +var p18658Var = "thunk from >" +var p18658 = &p18658Var +var p18670Var = "thunk from >" +var p18670 = &p18670Var +var p18684Var = "function " +var p18684 = &p18684Var +var p18693Var = "thunk from >" +var p18693 = &p18693Var +var p18704Var = "thunk from >" +var p18704 = &p18704Var +var p18714Var = "function " +var p18714 = &p18714Var +var p18724Var = "thunk from >" +var p18724 = &p18724Var +var p18728Var = "thunk from >>" +var p18728 = &p18728Var +var p18736Var = "thunk from >>" +var p18736 = &p18736Var +var p18751Var = "thunk from >" var p18751 = &p18751Var -var p18752Var = "function " -var p18752 = &p18752Var -var p18755Var = "function " -var p18755 = &p18755Var -var p18758Var = "function " -var p18758 = &p18758Var -var p18761Var = "function " -var p18761 = &p18761Var -var p18765Var = "function " -var p18765 = &p18765Var -var p18776Var = "function " -var p18776 = &p18776Var -var p18778Var = "function " -var p18778 = &p18778Var -var p18784Var = "object " -var p18784 = &p18784Var -var p18790Var = "object " -var p18790 = &p18790Var -var p18792Var = "object " -var p18792 = &p18792Var -var p18795Var = "object " -var p18795 = &p18795Var -var p18797Var = "object " -var p18797 = &p18797Var -var p18800Var = "object " -var p18800 = &p18800Var -var p18802Var = "object " -var p18802 = &p18802Var -var p18805Var = "object " -var p18805 = &p18805Var -var p18807Var = "object " +var p18762Var = "thunk from >" +var p18762 = &p18762Var +var p18787Var = "function " +var p18787 = &p18787Var +var p18796Var = "thunk from >" +var p18796 = &p18796Var +var p18807Var = "thunk from >" var p18807 = &p18807Var -var p18810Var = "object " -var p18810 = &p18810Var -var p18812Var = "object " -var p18812 = &p18812Var -var p18813Var = "object " -var p18813 = &p18813Var -var p18815Var = "object " -var p18815 = &p18815Var -var p18837Var = "object " -var p18837 = &p18837Var -var p18840Var = "object " -var p18840 = &p18840Var -var p18842Var = "object " -var p18842 = &p18842Var -var p18845Var = "object " -var p18845 = &p18845Var -var p18847Var = "object " -var p18847 = &p18847Var -var p18857Var = "object " -var p18857 = &p18857Var -var p18861Var = "thunk from >" -var p18861 = &p18861Var -var p18863Var = "thunk from >" -var p18863 = &p18863Var -var p18864Var = "object " -var p18864 = &p18864Var -var p18872Var = "$" -var p18872 = &p18872Var +var p18817Var = "function " +var p18817 = &p18817Var +var p18827Var = "thunk from >" +var p18827 = &p18827Var +var p18831Var = "thunk from >>" +var p18831 = &p18831Var +var p18839Var = "thunk from >>" +var p18839 = &p18839Var +var p18854Var = "thunk from >" +var p18854 = &p18854Var +var p18865Var = "thunk from >" +var p18865 = &p18865Var +var p18889Var = "function " +var p18889 = &p18889Var +var p18899Var = "function " +var p18899 = &p18899Var +var p18912Var = "function " +var p18912 = &p18912Var +var p18917Var = "thunk from >" +var p18917 = &p18917Var +var p18928Var = "function " +var p18928 = &p18928Var +var p18937Var = "thunk from >" +var p18937 = &p18937Var +var p18950Var = "function " +var p18950 = &p18950Var +var p18965Var = "thunk from >>" +var p18965 = &p18965Var +var p18974Var = "thunk from >" +var p18974 = &p18974Var +var p18988Var = "function " +var p18988 = &p18988Var +var p18992Var = "thunk from >" +var p18992 = &p18992Var +var p19003Var = "thunk from >" +var p19003 = &p19003Var +var p19013Var = "function " +var p19013 = &p19013Var +var p19029Var = "thunk from >" +var p19029 = &p19029Var +var p19041Var = "function " +var p19041 = &p19041Var +var p19057Var = "thunk from >" +var p19057 = &p19057Var +var p19069Var = "function " +var p19069 = &p19069Var +var p19079Var = "thunk from >" +var p19079 = &p19079Var +var p19089Var = "function " +var p19089 = &p19089Var +var p19099Var = "thunk from >" +var p19099 = &p19099Var +var p19118Var = "function " +var p19118 = &p19118Var +var p19128Var = "thunk from >" +var p19128 = &p19128Var +var p19146Var = "thunk from >" +var p19146 = &p19146Var +var p19157Var = "thunk from >>" +var p19157 = &p19157Var +var p19174Var = "thunk from >" +var p19174 = &p19174Var +var p19178Var = "thunk from from >>" +var p19178 = &p19178Var +var p19186Var = "function " +var p19186 = &p19186Var +var p19195Var = "thunk from >" +var p19195 = &p19195Var +var p19211Var = "thunk from >" +var p19211 = &p19211Var +var p19247Var = "function " +var p19247 = &p19247Var +var p19260Var = "object " +var p19260 = &p19260Var +var p19279Var = "thunk from >" +var p19279 = &p19279Var +var p19289Var = "function " +var p19289 = &p19289Var +var p19296Var = "function " +var p19296 = &p19296Var +var p19303Var = "function " +var p19303 = &p19303Var +var p19310Var = "function " +var p19310 = &p19310Var +var p19321Var = "function " +var p19321 = &p19321Var +var p19325Var = "thunk from >" +var p19325 = &p19325Var +var p19333Var = "object " +var p19333 = &p19333Var +var p19336Var = "function " +var p19336 = &p19336Var +var p19339Var = "object " +var p19339 = &p19339Var +var p19342Var = "object " +var p19342 = &p19342Var +var p19343Var = "object " +var p19343 = &p19343Var +var p19349Var = "function " +var p19349 = &p19349Var +var p19351Var = "function " +var p19351 = &p19351Var +var p19353Var = "function " +var p19353 = &p19353Var +var p19357Var = "function " +var p19357 = &p19357Var +var p19359Var = "function " +var p19359 = &p19359Var +var p19361Var = "function " +var p19361 = &p19361Var +var p19363Var = "function " +var p19363 = &p19363Var +var p19372Var = "thunk from >" +var p19372 = &p19372Var +var p19376Var = "thunk from from >>" +var p19376 = &p19376Var +var p19377Var = "thunk from >" +var p19377 = &p19377Var +var p19386Var = "thunk from >" +var p19386 = &p19386Var +var p19390Var = "thunk from from >>" +var p19390 = &p19390Var +var p19391Var = "thunk from >" +var p19391 = &p19391Var +var p19400Var = "thunk from >" +var p19400 = &p19400Var +var p19404Var = "thunk from from >>" +var p19404 = &p19404Var +var p19405Var = "thunk from >" +var p19405 = &p19405Var +var p19417Var = "thunk from >" +var p19417 = &p19417Var +var p19421Var = "thunk from from >>" +var p19421 = &p19421Var +var p19423Var = "thunk from >" +var p19423 = &p19423Var +var p19430Var = "thunk from >" +var p19430 = &p19430Var +var p19433Var = "thunk from >" +var p19433 = &p19433Var +var p19435Var = "thunk from >" +var p19435 = &p19435Var +var p19439Var = "thunk from >" +var p19439 = &p19439Var +var p19442Var = "thunk from >" +var p19442 = &p19442Var +var p19446Var = "thunk from >" +var p19446 = &p19446Var +var p19448Var = "thunk from >" +var p19448 = &p19448Var +var p19450Var = "thunk from >" +var p19450 = &p19450Var +var p19455Var = "thunk from >" +var p19455 = &p19455Var +var p19458Var = "thunk from >" +var p19458 = &p19458Var +var p19460Var = "thunk from >" +var p19460 = &p19460Var +var p19464Var = "thunk from >" +var p19464 = &p19464Var +var p19467Var = "thunk from >" +var p19467 = &p19467Var +var p19471Var = "thunk from >" +var p19471 = &p19471Var +var p19473Var = "thunk from >" +var p19473 = &p19473Var +var p19475Var = "thunk from >" +var p19475 = &p19475Var +var p19479Var = "thunk from >" +var p19479 = &p19479Var +var p19483Var = "thunk from >" +var p19483 = &p19483Var +var p19485Var = "thunk from >" +var p19485 = &p19485Var +var p19488Var = "thunk from >" +var p19488 = &p19488Var +var p19491Var = "thunk from >" +var p19491 = &p19491Var +var p19497Var = "function " +var p19497 = &p19497Var +var p19500Var = "function " +var p19500 = &p19500Var +var p19502Var = "function " +var p19502 = &p19502Var +var p19506Var = "function " +var p19506 = &p19506Var +var p19508Var = "function " +var p19508 = &p19508Var +var p19510Var = "function " +var p19510 = &p19510Var +var p19512Var = "function " +var p19512 = &p19512Var +var p19516Var = "function " +var p19516 = &p19516Var +var p19520Var = "function " +var p19520 = &p19520Var +var p19524Var = "function " +var p19524 = &p19524Var +var p19526Var = "function " +var p19526 = &p19526Var +var p19528Var = "function " +var p19528 = &p19528Var +var p19539Var = "function " +var p19539 = &p19539Var +var p19543Var = "thunk from >" +var p19543 = &p19543Var +var p19546Var = "thunk from >" +var p19546 = &p19546Var +var p19548Var = "function " +var p19548 = &p19548Var +var p19554Var = "function " +var p19554 = &p19554Var +var p19557Var = "function " +var p19557 = &p19557Var +var p19560Var = "thunk from >" +var p19560 = &p19560Var +var p19568Var = "function " +var p19568 = &p19568Var +var p19572Var = "thunk from >" +var p19572 = &p19572Var +var p19579Var = "thunk from >" +var p19579 = &p19579Var +var p19583Var = "thunk from >>" +var p19583 = &p19583Var +var p19585Var = "thunk from >" +var p19585 = &p19585Var +var p19588Var = "thunk from >" +var p19588 = &p19588Var +var p19589Var = "function " +var p19589 = &p19589Var +var p19592Var = "function " +var p19592 = &p19592Var +var p19595Var = "function " +var p19595 = &p19595Var +var p19598Var = "function " +var p19598 = &p19598Var +var p19602Var = "function " +var p19602 = &p19602Var +var p19613Var = "function " +var p19613 = &p19613Var +var p19615Var = "function " +var p19615 = &p19615Var +var p19621Var = "object " +var p19621 = &p19621Var +var p19627Var = "object " +var p19627 = &p19627Var +var p19629Var = "object " +var p19629 = &p19629Var +var p19632Var = "object " +var p19632 = &p19632Var +var p19634Var = "object " +var p19634 = &p19634Var +var p19637Var = "object " +var p19637 = &p19637Var +var p19639Var = "object " +var p19639 = &p19639Var +var p19642Var = "object " +var p19642 = &p19642Var +var p19644Var = "object " +var p19644 = &p19644Var +var p19647Var = "object " +var p19647 = &p19647Var +var p19649Var = "object " +var p19649 = &p19649Var +var p19650Var = "object " +var p19650 = &p19650Var +var p19652Var = "object " +var p19652 = &p19652Var +var p19674Var = "object " +var p19674 = &p19674Var +var p19677Var = "object " +var p19677 = &p19677Var +var p19679Var = "object " +var p19679 = &p19679Var +var p19682Var = "object " +var p19682 = &p19682Var +var p19684Var = "object " +var p19684 = &p19684Var +var p19694Var = "object " +var p19694 = &p19694Var +var p19698Var = "thunk from >" +var p19698 = &p19698Var +var p19700Var = "thunk from >" +var p19700 = &p19700Var +var p19701Var = "object " +var p19701 = &p19701Var +var p19709Var = "$" +var p19709 = &p19709Var var p8 = &ast.Source{ DiagnosticFileName: "", Lines: []string{ @@ -2953,6 +3089,8 @@ var p8 = &ast.Source{ " local std = self,\n", " local id = function(x) x,\n", "\n", + " local go_only_function = error 'This function is only supported in go version of jsonnet. See https://github.com/google/go-jsonnet',\n", + "\n", " isString(v):: std.type(v) == 'string',\n", " isNumber(v):: std.type(v) == 'number',\n", " isBoolean(v):: std.type(v) == 'boolean',\n", @@ -3134,18 +3272,27 @@ var p8 = &ast.Source{ " {\n", " indexable: indexable,\n", " index:\n", - " if index == null then 0\n", - " else index,\n", + " if index == null\n", + " then 0\n", + " else\n", + " if index < 0\n", + " then std.max(0, std.length(indexable) + index)\n", + " else index,\n", " end:\n", - " if end == null then std.length(indexable)\n", - " else end,\n", + " if end == null\n", + " then std.length(indexable)\n", + " else\n", + " if end < 0\n", + " then std.length(indexable) + end\n", + " else end,\n", " step:\n", - " if step == null then 1\n", + " if step == null\n", + " then 1\n", " else step,\n", " length: std.length(indexable),\n", " type: std.type(indexable),\n", " };\n", - " assert invar.index >= 0 && invar.end >= 0 && invar.step >= 0 : 'got [%s:%s:%s] but negative index, end, and steps are not supported' % [invar.index, invar.end, invar.step];\n", + " assert invar.step >= 0 : 'got [%s:%s:%s] but negative steps are not supported' % [invar.index, invar.end, invar.step];\n", " assert step != 0 : 'got %s but step must be greater than 0' % step;\n", " assert std.isString(indexable) || std.isArray(indexable) : 'std.slice accepts a string or an array, but got: %s' % std.type(indexable);\n", " local build(slice, cur) =\n", @@ -3178,6 +3325,15 @@ var p8 = &ast.Source{ " else\n", " error 'Operator % cannot be used on types ' + std.type(a) + ' and ' + std.type(b) + '.',\n", "\n", + " // this is the most precision that will fit in a f64\n", + " pi:: 3.14159265358979311600,\n", + "\n", + " deg2rad(x):: x * std.pi / 180,\n", + " rad2deg(x):: x * 180 / std.pi,\n", + "\n", + " log2(x):: std.log(x) / std.log(2),\n", + " log10(x):: std.log(x) / std.log(10),\n", + "\n", " map(func, arr)::\n", " if !std.isFunction(func) then\n", " error ('std.map first param must be function, got ' + std.type(func))\n", @@ -3585,7 +3741,7 @@ var p8 = &ast.Source{ " error 'Format required number at '\n", " + i + ', got ' + std.type(val)\n", " else\n", - " local exponent = std.floor(std.log(std.abs(val)) / std.log(10));\n", + " local exponent = if val != 0 then std.floor(std.log(std.abs(val)) / std.log(10)) else 0;\n", " if exponent < -4 || exponent >= fpprec then\n", " render_float_sci(val,\n", " zp,\n", @@ -3748,10 +3904,14 @@ var p8 = &ast.Source{ " std.map(map_func, std.filter(filter_func, arr)),\n", "\n", " assertEqual(a, b)::\n", + " // If the values are strings, escape them for printing.\n", + " // If not, they'll be JSON-stringified anyway by the later string concatenation.\n", + " local astr = if std.type(a) == 'string' then std.escapeStringJson(a) else a;\n", + " local bstr = if std.type(b) == 'string' then std.escapeStringJson(b) else b;\n", " if a == b then\n", " true\n", " else\n", - " error 'Assertion failed. ' + a + ' != ' + b,\n", + " error 'Assertion failed. ' + astr + ' != ' + bstr,\n", "\n", " abs(n)::\n", " if !std.isNumber(n) then\n", @@ -3793,6 +3953,12 @@ var p8 = &ast.Source{ " flattenArrays(arrs)::\n", " std.foldl(function(a, b) a + b, arrs, []),\n", "\n", + " flattenDeepArray(value)::\n", + " if std.isArray(value) then\n", + " [y for x in value for y in std.flattenDeepArray(x)]\n", + " else\n", + " [value],\n", + "\n", " manifestIni(ini)::\n", " local body_lines(body) =\n", " std.join([], [\n", @@ -3925,21 +4091,11 @@ var p8 = &ast.Source{ "\n", " escapeStringBash(str_)::\n", " local str = std.toString(str_);\n", - " local trans(ch) =\n", - " if ch == \"'\" then\n", - " \"'\\\"'\\\"'\"\n", - " else\n", - " ch;\n", - " \"'%s'\" % std.join('', [trans(ch) for ch in std.stringChars(str)]),\n", + " \"'%s'\" % std.strReplace(str, \"'\", \"'\\\"'\\\"'\"),\n", "\n", " escapeStringDollars(str_)::\n", " local str = std.toString(str_);\n", - " local trans(ch) =\n", - " if ch == '$' then\n", - " '$$'\n", - " else\n", - " ch;\n", - " std.foldl(function(a, b) a + trans(b), std.stringChars(str), ''),\n", + " std.strReplace(str, '$', '$$'),\n", "\n", " local xml_escapes = {\n", " '<': '<',\n", @@ -4574,7 +4730,7 @@ var p8 = &ast.Source{ " true\n", " else\n", " local e = arr[idx];\n", - " assert std.isBoolean(e) : std.format('element \"%s\" of type %s is not a boolean', e, std.type(e));\n", + " assert std.isBoolean(e) : 'element \"%s\" of type %s is not a boolean' % [e, std.type(e)];\n", " if !e then\n", " false\n", " else\n", @@ -4589,7 +4745,7 @@ var p8 = &ast.Source{ " false\n", " else\n", " local e = arr[idx];\n", - " assert std.isBoolean(e) : std.format('element \"%s\" of type %s is not a boolean', e, std.type(e));\n", + " assert std.isBoolean(e) : 'element \"%s\" of type %s is not a boolean' % [e, std.type(e)];\n", " if e then\n", " true\n", " else\n", @@ -4631,6 +4787,36 @@ var p8 = &ast.Source{ "\n", " sum(arr):: std.foldl(function(a, b) a + b, arr, 0),\n", "\n", + " avg(arr)::\n", + " if std.length(arr) == 0 then\n", + " error 'Cannot calculate average of an empty array.'\n", + " else\n", + " std.sum(arr)/std.length(arr),\n", + "\n", + " minArray(arr, keyF=id, onEmpty=error 'Expected at least one element in array. Got none')::\n", + " if std.length(arr) == 0 then\n", + " onEmpty\n", + " else\n", + " local minVal = arr[0];\n", + " local minFn(a, b) =\n", + " if std.__compare(keyF(a), keyF(b)) > 0 then\n", + " b\n", + " else\n", + " a;\n", + " std.foldl(minFn, arr, minVal),\n", + "\n", + " maxArray(arr, keyF=id, onEmpty=error 'Expected at least one element in array. Got none')::\n", + " if std.length(arr) == 0 then\n", + " onEmpty\n", + " else\n", + " local maxVal = arr[0];\n", + " local maxFn(a, b) =\n", + " if std.__compare(keyF(a), keyF(b)) < 0 then\n", + " b\n", + " else\n", + " a;\n", + " std.foldl(maxFn, arr, maxVal),\n", + "\n", " xor(x, y):: x != y,\n", "\n", " xnor(x, y):: x == y,\n", @@ -4638,6 +4824,43 @@ var p8 = &ast.Source{ " round(x):: std.floor(x + 0.5),\n", "\n", " isEmpty(str):: std.length(str) == 0,\n", + "\n", + " contains(arr, elem):: std.any([e == elem for e in arr]),\n", + "\n", + " equalsIgnoreCase(str1, str2):: std.asciiLower(str1) == std.asciiLower(str2),\n", + "\n", + " isEven(x):: std.round(x) % 2 == 0,\n", + " isOdd(x):: std.round(x) % 2 != 0,\n", + " isInteger(x):: std.round(x) == x,\n", + " isDecimal(x):: std.round(x) != x,\n", + " \n", + " removeAt(arr, at):: [\n", + " arr[i],\n", + " for i in std.range(0, std.length(arr) - 1)\n", + " if i != at\n", + " ],\n", + "\n", + " remove(arr, elem):: \n", + " local indexes = std.find(elem, arr);\n", + " if std.length(indexes) == 0\n", + " then\n", + " arr\n", + " else\n", + " std.removeAt(arr, indexes[0])\n", + " ,\n", + "\n", + " objectRemoveKey(obj, key):: {\n", + " [k]: obj[k],\n", + " for k in std.objectFields(obj)\n", + " if k != key\n", + " },\n", + "\n", + " sha1(str):: go_only_function,\n", + " sha256(str):: go_only_function,\n", + " sha512(str):: go_only_function,\n", + " sha3(str):: go_only_function,\n", + "\n", + " trim(str):: std.stripChars(str, ' \\t\\n\\f\\r\\u0085\\u00A0'),\n", "}\n", "\n", }, @@ -4688,11 +4911,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(28), + Line: int(30), Column: int(32), }, End: ast.Location{ - Line: int(28), + Line: int(30), Column: int(40), }, }, @@ -4713,11 +4936,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(28), + Line: int(30), Column: int(17), }, End: ast.Location{ - Line: int(28), + Line: int(30), Column: int(20), }, }, @@ -4759,11 +4982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(28), + Line: int(30), Column: int(17), }, End: ast.Location{ - Line: int(28), + Line: int(30), Column: int(25), }, }, @@ -4785,11 +5008,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(28), + Line: int(30), Column: int(26), }, End: ast.Location{ - Line: int(28), + Line: int(30), Column: int(27), }, }, @@ -4813,11 +5036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(28), + Line: int(30), Column: int(17), }, End: ast.Location{ - Line: int(28), + Line: int(30), Column: int(28), }, }, @@ -4837,11 +5060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(28), + Line: int(30), Column: int(17), }, End: ast.Location{ - Line: int(28), + Line: int(30), Column: int(40), }, }, @@ -4859,11 +5082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(28), + Line: int(30), Column: int(12), }, End: ast.Location{ - Line: int(28), + Line: int(30), Column: int(13), }, }, @@ -4894,11 +5117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(28), + Line: int(30), Column: int(3), }, End: ast.Location{ - Line: int(28), + Line: int(30), Column: int(40), }, }, @@ -4945,11 +5168,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(29), + Line: int(31), Column: int(32), }, End: ast.Location{ - Line: int(29), + Line: int(31), Column: int(40), }, }, @@ -4970,11 +5193,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(29), + Line: int(31), Column: int(17), }, End: ast.Location{ - Line: int(29), + Line: int(31), Column: int(20), }, }, @@ -5016,11 +5239,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(29), + Line: int(31), Column: int(17), }, End: ast.Location{ - Line: int(29), + Line: int(31), Column: int(25), }, }, @@ -5042,11 +5265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(29), + Line: int(31), Column: int(26), }, End: ast.Location{ - Line: int(29), + Line: int(31), Column: int(27), }, }, @@ -5070,11 +5293,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(29), + Line: int(31), Column: int(17), }, End: ast.Location{ - Line: int(29), + Line: int(31), Column: int(28), }, }, @@ -5094,11 +5317,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(29), + Line: int(31), Column: int(17), }, End: ast.Location{ - Line: int(29), + Line: int(31), Column: int(40), }, }, @@ -5116,11 +5339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(29), + Line: int(31), Column: int(12), }, End: ast.Location{ - Line: int(29), + Line: int(31), Column: int(13), }, }, @@ -5151,11 +5374,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(29), + Line: int(31), Column: int(3), }, End: ast.Location{ - Line: int(29), + Line: int(31), Column: int(40), }, }, @@ -5202,11 +5425,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(30), + Line: int(32), Column: int(33), }, End: ast.Location{ - Line: int(30), + Line: int(32), Column: int(42), }, }, @@ -5227,11 +5450,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(30), + Line: int(32), Column: int(18), }, End: ast.Location{ - Line: int(30), + Line: int(32), Column: int(21), }, }, @@ -5273,11 +5496,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(30), + Line: int(32), Column: int(18), }, End: ast.Location{ - Line: int(30), + Line: int(32), Column: int(26), }, }, @@ -5299,11 +5522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(30), + Line: int(32), Column: int(27), }, End: ast.Location{ - Line: int(30), + Line: int(32), Column: int(28), }, }, @@ -5327,11 +5550,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(30), + Line: int(32), Column: int(18), }, End: ast.Location{ - Line: int(30), + Line: int(32), Column: int(29), }, }, @@ -5351,11 +5574,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(30), + Line: int(32), Column: int(18), }, End: ast.Location{ - Line: int(30), + Line: int(32), Column: int(42), }, }, @@ -5373,11 +5596,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(30), + Line: int(32), Column: int(13), }, End: ast.Location{ - Line: int(30), + Line: int(32), Column: int(14), }, }, @@ -5408,11 +5631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(30), + Line: int(32), Column: int(3), }, End: ast.Location{ - Line: int(30), + Line: int(32), Column: int(42), }, }, @@ -5459,11 +5682,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(31), + Line: int(33), Column: int(32), }, End: ast.Location{ - Line: int(31), + Line: int(33), Column: int(40), }, }, @@ -5484,11 +5707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(31), + Line: int(33), Column: int(17), }, End: ast.Location{ - Line: int(31), + Line: int(33), Column: int(20), }, }, @@ -5530,11 +5753,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(31), + Line: int(33), Column: int(17), }, End: ast.Location{ - Line: int(31), + Line: int(33), Column: int(25), }, }, @@ -5556,11 +5779,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(31), + Line: int(33), Column: int(26), }, End: ast.Location{ - Line: int(31), + Line: int(33), Column: int(27), }, }, @@ -5584,11 +5807,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(31), + Line: int(33), Column: int(17), }, End: ast.Location{ - Line: int(31), + Line: int(33), Column: int(28), }, }, @@ -5608,11 +5831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(31), + Line: int(33), Column: int(17), }, End: ast.Location{ - Line: int(31), + Line: int(33), Column: int(40), }, }, @@ -5630,11 +5853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(31), + Line: int(33), Column: int(12), }, End: ast.Location{ - Line: int(31), + Line: int(33), Column: int(13), }, }, @@ -5665,11 +5888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(31), + Line: int(33), Column: int(3), }, End: ast.Location{ - Line: int(31), + Line: int(33), Column: int(40), }, }, @@ -5716,11 +5939,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(32), + Line: int(34), Column: int(31), }, End: ast.Location{ - Line: int(32), + Line: int(34), Column: int(38), }, }, @@ -5741,11 +5964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(32), + Line: int(34), Column: int(16), }, End: ast.Location{ - Line: int(32), + Line: int(34), Column: int(19), }, }, @@ -5787,11 +6010,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(32), + Line: int(34), Column: int(16), }, End: ast.Location{ - Line: int(32), + Line: int(34), Column: int(24), }, }, @@ -5813,11 +6036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(32), + Line: int(34), Column: int(25), }, End: ast.Location{ - Line: int(32), + Line: int(34), Column: int(26), }, }, @@ -5841,11 +6064,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(32), + Line: int(34), Column: int(16), }, End: ast.Location{ - Line: int(32), + Line: int(34), Column: int(27), }, }, @@ -5865,11 +6088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(32), + Line: int(34), Column: int(16), }, End: ast.Location{ - Line: int(32), + Line: int(34), Column: int(38), }, }, @@ -5887,11 +6110,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(32), + Line: int(34), Column: int(11), }, End: ast.Location{ - Line: int(32), + Line: int(34), Column: int(12), }, }, @@ -5922,11 +6145,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(32), + Line: int(34), Column: int(3), }, End: ast.Location{ - Line: int(32), + Line: int(34), Column: int(38), }, }, @@ -5973,11 +6196,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(33), + Line: int(35), Column: int(34), }, End: ast.Location{ - Line: int(33), + Line: int(35), Column: int(44), }, }, @@ -5998,11 +6221,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(33), + Line: int(35), Column: int(19), }, End: ast.Location{ - Line: int(33), + Line: int(35), Column: int(22), }, }, @@ -6044,11 +6267,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(33), + Line: int(35), Column: int(19), }, End: ast.Location{ - Line: int(33), + Line: int(35), Column: int(27), }, }, @@ -6070,11 +6293,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(33), + Line: int(35), Column: int(28), }, End: ast.Location{ - Line: int(33), + Line: int(35), Column: int(29), }, }, @@ -6098,11 +6321,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(33), + Line: int(35), Column: int(19), }, End: ast.Location{ - Line: int(33), + Line: int(35), Column: int(30), }, }, @@ -6122,11 +6345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(33), + Line: int(35), Column: int(19), }, End: ast.Location{ - Line: int(33), + Line: int(35), Column: int(44), }, }, @@ -6144,11 +6367,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(33), + Line: int(35), Column: int(14), }, End: ast.Location{ - Line: int(33), + Line: int(35), Column: int(15), }, }, @@ -6179,11 +6402,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(33), + Line: int(35), Column: int(3), }, End: ast.Location{ - Line: int(33), + Line: int(35), Column: int(44), }, }, @@ -6231,11 +6454,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(23), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(31), }, }, @@ -6256,11 +6479,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(8), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(11), }, }, @@ -6302,11 +6525,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(8), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(16), }, }, @@ -6328,11 +6551,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(17), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(18), }, }, @@ -6356,11 +6579,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(8), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(19), }, }, @@ -6380,11 +6603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(8), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(31), }, }, @@ -6403,11 +6626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(37), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(38), }, }, @@ -6426,11 +6649,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(49), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(50), }, }, @@ -6448,11 +6671,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(44), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(46), }, }, @@ -6470,11 +6693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(44), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(50), }, }, @@ -6501,11 +6724,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(36), + Line: int(38), Column: int(5), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(50), }, }, @@ -6522,11 +6745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(35), + Line: int(37), Column: int(12), }, End: ast.Location{ - Line: int(35), + Line: int(37), Column: int(13), }, }, @@ -6557,11 +6780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(35), + Line: int(37), Column: int(3), }, End: ast.Location{ - Line: int(36), + Line: int(38), Column: int(50), }, }, @@ -6610,11 +6833,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(12), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(15), }, }, @@ -6656,11 +6879,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(12), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(24), }, }, @@ -6682,11 +6905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(25), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(28), }, }, @@ -6710,11 +6933,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(12), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(29), }, }, @@ -6737,11 +6960,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(12), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(15), }, }, @@ -6783,11 +7006,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(12), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(24), }, }, @@ -6809,11 +7032,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(25), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(29), }, }, @@ -6837,11 +7060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(12), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(30), }, }, @@ -6864,11 +7087,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(12), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(15), }, }, @@ -6910,11 +7133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(12), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(24), }, }, @@ -6936,11 +7159,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(25), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(28), }, }, @@ -6964,11 +7187,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(12), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(29), }, }, @@ -6988,11 +7211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(42), + Line: int(44), Column: int(19), }, End: ast.Location{ - Line: int(42), + Line: int(44), Column: int(20), }, }, @@ -7010,11 +7233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(42), + Line: int(44), Column: int(12), }, End: ast.Location{ - Line: int(42), + Line: int(44), Column: int(15), }, }, @@ -7031,11 +7254,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(42), + Line: int(44), Column: int(12), }, End: ast.Location{ - Line: int(42), + Line: int(44), Column: int(20), }, }, @@ -7063,11 +7286,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(5), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(8), }, }, @@ -7109,11 +7332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(5), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(13), }, }, @@ -7135,11 +7358,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(14), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(16), }, }, @@ -7163,11 +7386,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(18), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(21), }, }, @@ -7209,11 +7432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(18), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(31), }, }, @@ -7237,11 +7460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(32), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(35), }, }, @@ -7283,11 +7506,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(32), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(39), }, }, @@ -7307,11 +7530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(40), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(41), }, }, @@ -7334,11 +7557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(43), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(46), }, }, @@ -7380,11 +7603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(43), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(50), }, }, @@ -7406,11 +7629,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(51), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(54), }, }, @@ -7432,11 +7655,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(74), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(78), }, }, @@ -7456,11 +7679,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(56), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(59), }, }, @@ -7502,11 +7725,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(56), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(66), }, }, @@ -7528,11 +7751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(67), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(70), }, }, @@ -7556,11 +7779,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(56), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(71), }, }, @@ -7581,11 +7804,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(56), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(78), }, }, @@ -7612,11 +7835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(43), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(79), }, }, @@ -7644,11 +7867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(32), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(80), }, }, @@ -7675,11 +7898,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(94), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(97), }, }, @@ -7698,11 +7921,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(102), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(106), }, }, @@ -7720,11 +7943,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(98), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(99), }, }, @@ -7742,11 +7965,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(98), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(106), }, }, @@ -7768,11 +7991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(94), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(107), }, }, @@ -7789,11 +8012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(91), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(92), }, }, @@ -7810,11 +8033,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(82), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(107), }, }, @@ -7841,11 +8064,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(18), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(108), }, }, @@ -7873,11 +8096,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(43), + Line: int(45), Column: int(5), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(109), }, }, @@ -7899,11 +8122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(42), + Line: int(44), Column: int(84), }, End: ast.Location{ - Line: int(42), + Line: int(44), Column: int(87), }, }, @@ -7921,11 +8144,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(42), + Line: int(44), Column: int(23), }, End: ast.Location{ - Line: int(42), + Line: int(44), Column: int(81), }, }, @@ -7943,11 +8166,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(42), + Line: int(44), Column: int(23), }, End: ast.Location{ - Line: int(42), + Line: int(44), Column: int(87), }, }, @@ -7964,11 +8187,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(42), + Line: int(44), Column: int(5), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(109), }, }, @@ -8015,11 +8238,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(84), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(87), }, }, @@ -8061,11 +8284,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(84), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(92), }, }, @@ -8087,11 +8310,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(93), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(96), }, }, @@ -8115,11 +8338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(84), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(97), }, }, @@ -8139,11 +8362,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(32), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(81), }, }, @@ -8162,11 +8385,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(32), }, End: ast.Location{ - Line: int(41), + Line: int(43), Column: int(97), }, }, @@ -8184,11 +8407,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(41), + Line: int(43), Column: int(5), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(109), }, }, @@ -8235,11 +8458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(86), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(89), }, }, @@ -8281,11 +8504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(86), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(94), }, }, @@ -8307,11 +8530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(95), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(99), }, }, @@ -8335,11 +8558,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(86), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(100), }, }, @@ -8359,11 +8582,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(33), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(83), }, }, @@ -8382,11 +8605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(33), }, End: ast.Location{ - Line: int(40), + Line: int(42), Column: int(100), }, }, @@ -8404,11 +8627,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(40), + Line: int(42), Column: int(5), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(109), }, }, @@ -8455,11 +8678,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(84), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(87), }, }, @@ -8501,11 +8724,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(84), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(92), }, }, @@ -8527,11 +8750,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(93), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(96), }, }, @@ -8555,11 +8778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(84), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(97), }, }, @@ -8579,11 +8802,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(32), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(81), }, }, @@ -8602,11 +8825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(32), }, End: ast.Location{ - Line: int(39), + Line: int(41), Column: int(97), }, }, @@ -8624,11 +8847,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(39), + Line: int(41), Column: int(5), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(109), }, }, @@ -8670,11 +8893,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(38), + Line: int(40), Column: int(10), }, End: ast.Location{ - Line: int(38), + Line: int(40), Column: int(13), }, }, @@ -8689,11 +8912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(38), + Line: int(40), Column: int(15), }, End: ast.Location{ - Line: int(38), + Line: int(40), Column: int(19), }, }, @@ -8708,11 +8931,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(38), + Line: int(40), Column: int(21), }, End: ast.Location{ - Line: int(38), + Line: int(40), Column: int(24), }, }, @@ -8743,11 +8966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(38), + Line: int(40), Column: int(3), }, End: ast.Location{ - Line: int(43), + Line: int(45), Column: int(109), }, }, @@ -8797,11 +9020,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(24), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(27), }, }, @@ -8843,11 +9066,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(24), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(34), }, }, @@ -8869,11 +9092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(35), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(36), }, }, @@ -8897,11 +9120,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(24), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(37), }, }, @@ -8923,11 +9146,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(8), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(11), }, }, @@ -8969,11 +9192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(8), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(18), }, }, @@ -8995,11 +9218,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(19), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(20), }, }, @@ -9023,11 +9246,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(8), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(21), }, }, @@ -9048,11 +9271,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(8), }, End: ast.Location{ - Line: int(46), + Line: int(48), Column: int(37), }, }, @@ -9075,11 +9298,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(47), + Line: int(49), Column: int(7), }, End: ast.Location{ - Line: int(47), + Line: int(49), Column: int(12), }, }, @@ -9099,11 +9322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(42), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(43), }, }, @@ -9130,11 +9353,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(7), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(10), }, }, @@ -9176,11 +9399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(7), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(17), }, }, @@ -9202,11 +9425,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(18), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(19), }, }, @@ -9225,11 +9448,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(21), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(22), }, }, @@ -9252,11 +9475,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(24), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(27), }, }, @@ -9298,11 +9521,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(24), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(34), }, }, @@ -9324,11 +9547,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(35), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(36), }, }, @@ -9352,11 +9575,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(24), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(37), }, }, @@ -9383,11 +9606,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(7), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(38), }, }, @@ -9408,11 +9631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(49), + Line: int(51), Column: int(7), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(43), }, }, @@ -9447,11 +9670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(46), + Line: int(48), Column: int(5), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(43), }, }, @@ -9468,11 +9691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(45), + Line: int(47), Column: int(14), }, End: ast.Location{ - Line: int(45), + Line: int(47), Column: int(15), }, }, @@ -9487,11 +9710,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(45), + Line: int(47), Column: int(17), }, End: ast.Location{ - Line: int(45), + Line: int(47), Column: int(18), }, }, @@ -9522,11 +9745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(45), + Line: int(47), Column: int(3), }, End: ast.Location{ - Line: int(49), + Line: int(51), Column: int(43), }, }, @@ -9576,11 +9799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(24), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(27), }, }, @@ -9622,11 +9845,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(24), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(34), }, }, @@ -9648,11 +9871,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(35), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(36), }, }, @@ -9676,11 +9899,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(24), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(37), }, }, @@ -9702,11 +9925,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(8), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(11), }, }, @@ -9748,11 +9971,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(8), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(18), }, }, @@ -9774,11 +9997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(19), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(20), }, }, @@ -9802,11 +10025,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(8), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(21), }, }, @@ -9827,11 +10050,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(8), }, End: ast.Location{ - Line: int(52), + Line: int(54), Column: int(37), }, }, @@ -9854,11 +10077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(53), + Line: int(55), Column: int(7), }, End: ast.Location{ - Line: int(53), + Line: int(55), Column: int(12), }, }, @@ -9878,11 +10101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(70), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(71), }, }, @@ -9909,11 +10132,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(7), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(10), }, }, @@ -9955,11 +10178,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(7), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(17), }, }, @@ -9981,11 +10204,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(18), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(19), }, }, @@ -10009,11 +10232,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(37), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(40), }, }, @@ -10055,11 +10278,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(37), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(47), }, }, @@ -10081,11 +10304,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(48), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(49), }, }, @@ -10109,11 +10332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(37), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(50), }, }, @@ -10135,11 +10358,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(21), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(24), }, }, @@ -10181,11 +10404,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(21), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(31), }, }, @@ -10207,11 +10430,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(32), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(33), }, }, @@ -10235,11 +10458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(21), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(34), }, }, @@ -10260,11 +10483,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(21), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(50), }, }, @@ -10288,11 +10511,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(52), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(55), }, }, @@ -10334,11 +10557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(52), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(62), }, }, @@ -10360,11 +10583,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(63), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(64), }, }, @@ -10388,11 +10611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(52), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(65), }, }, @@ -10419,11 +10642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(7), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(66), }, }, @@ -10444,11 +10667,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(55), + Line: int(57), Column: int(7), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(71), }, }, @@ -10483,11 +10706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(52), + Line: int(54), Column: int(5), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(71), }, }, @@ -10504,11 +10727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(51), + Line: int(53), Column: int(12), }, End: ast.Location{ - Line: int(51), + Line: int(53), Column: int(13), }, }, @@ -10523,11 +10746,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(51), + Line: int(53), Column: int(15), }, End: ast.Location{ - Line: int(51), + Line: int(53), Column: int(16), }, }, @@ -10558,11 +10781,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(51), + Line: int(53), Column: int(3), }, End: ast.Location{ - Line: int(55), + Line: int(57), Column: int(71), }, }, @@ -10612,11 +10835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(31), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(34), }, }, @@ -10658,11 +10881,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(31), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(41), }, }, @@ -10684,11 +10907,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(42), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(47), }, }, @@ -10710,11 +10933,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(49), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(52), }, }, @@ -10730,11 +10953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(53), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(54), }, }, @@ -10753,11 +10976,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(49), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(55), }, }, @@ -10782,11 +11005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(31), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(56), }, }, @@ -10805,11 +11028,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(26), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(27), }, }, @@ -10829,11 +11052,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(8), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(11), }, }, @@ -10875,11 +11098,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(8), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(18), }, }, @@ -10901,11 +11124,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(19), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(22), }, }, @@ -10929,11 +11152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(8), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(23), }, }, @@ -10953,11 +11176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(8), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(27), }, }, @@ -10977,11 +11200,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(8), }, End: ast.Location{ - Line: int(58), + Line: int(60), Column: int(56), }, }, @@ -11009,11 +11232,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(59), + Line: int(61), Column: int(7), }, End: ast.Location{ - Line: int(59), + Line: int(61), Column: int(10), }, }, @@ -11055,11 +11278,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(59), + Line: int(61), Column: int(7), }, End: ast.Location{ - Line: int(59), + Line: int(61), Column: int(22), }, }, @@ -11155,11 +11378,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(59), + Line: int(61), Column: int(23), }, End: ast.Location{ - Line: int(59), + Line: int(61), Column: int(26), }, }, @@ -11178,11 +11401,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(59), + Line: int(61), Column: int(27), }, End: ast.Location{ - Line: int(59), + Line: int(61), Column: int(28), }, }, @@ -11250,11 +11473,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(59), + Line: int(61), Column: int(23), }, End: ast.Location{ - Line: int(59), + Line: int(61), Column: int(30), }, }, @@ -11277,11 +11500,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(59), + Line: int(61), Column: int(32), }, End: ast.Location{ - Line: int(59), + Line: int(61), Column: int(37), }, }, @@ -11307,11 +11530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(59), + Line: int(61), Column: int(7), }, End: ast.Location{ - Line: int(59), + Line: int(61), Column: int(38), }, }, @@ -11338,11 +11561,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(61), + Line: int(63), Column: int(7), }, End: ast.Location{ - Line: int(61), + Line: int(63), Column: int(10), }, }, @@ -11377,11 +11600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(58), + Line: int(60), Column: int(5), }, End: ast.Location{ - Line: int(61), + Line: int(63), Column: int(10), }, }, @@ -11398,11 +11621,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(57), + Line: int(59), Column: int(15), }, End: ast.Location{ - Line: int(57), + Line: int(59), Column: int(18), }, }, @@ -11417,11 +11640,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(57), + Line: int(59), Column: int(20), }, End: ast.Location{ - Line: int(57), + Line: int(59), Column: int(25), }, }, @@ -11453,11 +11676,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(57), + Line: int(59), Column: int(3), }, End: ast.Location{ - Line: int(61), + Line: int(63), Column: int(10), }, }, @@ -11509,11 +11732,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(64), + Line: int(66), Column: int(17), }, End: ast.Location{ - Line: int(64), + Line: int(66), Column: int(20), }, }, @@ -11555,11 +11778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(64), + Line: int(66), Column: int(17), }, End: ast.Location{ - Line: int(64), + Line: int(66), Column: int(27), }, }, @@ -11581,11 +11804,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(64), + Line: int(66), Column: int(28), }, End: ast.Location{ - Line: int(64), + Line: int(66), Column: int(31), }, }, @@ -11609,11 +11832,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(64), + Line: int(66), Column: int(17), }, End: ast.Location{ - Line: int(64), + Line: int(66), Column: int(32), }, }, @@ -11629,11 +11852,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(64), + Line: int(66), Column: int(11), }, End: ast.Location{ - Line: int(64), + Line: int(66), Column: int(32), }, }, @@ -11655,11 +11878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(19), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(22), }, }, @@ -11701,11 +11924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(19), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(29), }, }, @@ -11727,11 +11950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(30), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(35), }, }, @@ -11753,11 +11976,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(37), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(40), }, }, @@ -11774,11 +11997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(47), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(48), }, }, @@ -11796,11 +12019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(41), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(44), }, }, @@ -11817,11 +12040,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(41), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(48), }, }, @@ -11842,11 +12065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(37), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(49), }, }, @@ -11872,11 +12095,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(19), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(50), }, }, @@ -11895,11 +12118,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(14), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(15), }, }, @@ -11917,11 +12140,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(8), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(11), }, }, @@ -11938,11 +12161,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(8), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(15), }, }, @@ -11963,11 +12186,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(8), }, End: ast.Location{ - Line: int(65), + Line: int(67), Column: int(50), }, }, @@ -11995,11 +12218,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(7), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(10), }, }, @@ -12041,11 +12264,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(7), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(22), }, }, @@ -12141,11 +12364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(23), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(26), }, }, @@ -12187,11 +12410,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(34), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(35), }, }, @@ -12209,11 +12432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(28), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(31), }, }, @@ -12230,11 +12453,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(28), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(35), }, }, @@ -12282,11 +12505,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(23), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(36), }, }, @@ -12309,11 +12532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(38), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(43), }, }, @@ -12340,11 +12563,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(66), + Line: int(68), Column: int(7), }, End: ast.Location{ - Line: int(66), + Line: int(68), Column: int(44), }, }, @@ -12371,11 +12594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(68), + Line: int(70), Column: int(7), }, End: ast.Location{ - Line: int(68), + Line: int(70), Column: int(10), }, }, @@ -12411,11 +12634,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(65), + Line: int(67), Column: int(5), }, End: ast.Location{ - Line: int(68), + Line: int(70), Column: int(10), }, }, @@ -12441,11 +12664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(64), + Line: int(66), Column: int(5), }, End: ast.Location{ - Line: int(68), + Line: int(70), Column: int(10), }, }, @@ -12462,11 +12685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(63), + Line: int(65), Column: int(15), }, End: ast.Location{ - Line: int(63), + Line: int(65), Column: int(18), }, }, @@ -12481,11 +12704,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(63), + Line: int(65), Column: int(20), }, End: ast.Location{ - Line: int(63), + Line: int(65), Column: int(25), }, }, @@ -12517,11 +12740,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(63), + Line: int(65), Column: int(3), }, End: ast.Location{ - Line: int(68), + Line: int(70), Column: int(10), }, }, @@ -12576,11 +12799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(5), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(8), }, }, @@ -12622,11 +12845,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(5), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(20), }, }, @@ -12650,11 +12873,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(21), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(24), }, }, @@ -12696,11 +12919,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(21), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(36), }, }, @@ -12722,11 +12945,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(37), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(40), }, }, @@ -12747,11 +12970,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(42), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(47), }, }, @@ -12776,11 +12999,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(21), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(48), }, }, @@ -12803,11 +13026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(50), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(55), }, }, @@ -12832,11 +13055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(71), + Line: int(73), Column: int(5), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(56), }, }, @@ -12855,11 +13078,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(70), + Line: int(72), Column: int(14), }, End: ast.Location{ - Line: int(70), + Line: int(72), Column: int(17), }, }, @@ -12874,11 +13097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(70), + Line: int(72), Column: int(19), }, End: ast.Location{ - Line: int(70), + Line: int(72), Column: int(24), }, }, @@ -12909,11 +13132,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(70), + Line: int(72), Column: int(3), }, End: ast.Location{ - Line: int(71), + Line: int(73), Column: int(56), }, }, @@ -12968,11 +13191,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(5), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(8), }, }, @@ -13014,11 +13237,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(5), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(18), }, }, @@ -13042,11 +13265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(19), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(22), }, }, @@ -13088,11 +13311,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(19), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(29), }, }, @@ -13114,11 +13337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(30), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(33), }, }, @@ -13142,11 +13365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(19), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(34), }, }, @@ -13173,11 +13396,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(48), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(51), }, }, @@ -13195,11 +13418,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(52), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(53), }, }, @@ -13219,11 +13442,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(48), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(54), }, }, @@ -13240,11 +13463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(45), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(46), }, }, @@ -13260,11 +13483,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(36), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(54), }, }, @@ -13289,11 +13512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(74), + Line: int(76), Column: int(5), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(55), }, }, @@ -13312,11 +13535,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(73), + Line: int(75), Column: int(15), }, End: ast.Location{ - Line: int(73), + Line: int(75), Column: int(18), }, }, @@ -13347,11 +13570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(73), + Line: int(75), Column: int(3), }, End: ast.Location{ - Line: int(74), + Line: int(76), Column: int(55), }, }, @@ -13400,11 +13623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(12), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(15), }, }, @@ -13446,11 +13669,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(12), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(24), }, }, @@ -13472,11 +13695,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(25), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(28), }, }, @@ -13500,11 +13723,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(12), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(29), }, }, @@ -13527,11 +13750,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(42), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(45), }, }, @@ -13550,11 +13773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(35), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(38), }, }, @@ -13571,11 +13794,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(35), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(45), }, }, @@ -13593,11 +13816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(30), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(31), }, }, @@ -13617,11 +13840,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(12), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(15), }, }, @@ -13663,11 +13886,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(12), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(22), }, }, @@ -13689,11 +13912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(23), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(26), }, }, @@ -13717,11 +13940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(12), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(27), }, }, @@ -13741,11 +13964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(12), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(31), }, }, @@ -13764,11 +13987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(12), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(45), }, }, @@ -13789,11 +14012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(97), + Line: int(99), Column: int(18), }, End: ast.Location{ - Line: int(97), + Line: int(99), Column: int(21), }, }, @@ -13813,11 +14036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(97), + Line: int(99), Column: int(8), }, End: ast.Location{ - Line: int(97), + Line: int(99), Column: int(11), }, }, @@ -13833,11 +14056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(97), + Line: int(99), Column: int(12), }, End: ast.Location{ - Line: int(97), + Line: int(99), Column: int(13), }, }, @@ -13856,11 +14079,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(97), + Line: int(99), Column: int(8), }, End: ast.Location{ - Line: int(97), + Line: int(99), Column: int(14), }, }, @@ -13877,11 +14100,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(97), + Line: int(99), Column: int(8), }, End: ast.Location{ - Line: int(97), + Line: int(99), Column: int(21), }, }, @@ -13902,11 +14125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(98), + Line: int(100), Column: int(8), }, End: ast.Location{ - Line: int(98), + Line: int(100), Column: int(17), }, }, @@ -14002,11 +14225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(98), + Line: int(100), Column: int(18), }, End: ast.Location{ - Line: int(98), + Line: int(100), Column: int(21), }, }, @@ -14025,11 +14248,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(98), + Line: int(100), Column: int(22), }, End: ast.Location{ - Line: int(98), + Line: int(100), Column: int(23), }, }, @@ -14097,11 +14320,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(98), + Line: int(100), Column: int(18), }, End: ast.Location{ - Line: int(98), + Line: int(100), Column: int(25), }, }, @@ -14122,11 +14345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(98), + Line: int(100), Column: int(27), }, End: ast.Location{ - Line: int(98), + Line: int(100), Column: int(29), }, }, @@ -14151,11 +14374,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(98), + Line: int(100), Column: int(8), }, End: ast.Location{ - Line: int(98), + Line: int(100), Column: int(30), }, }, @@ -14182,11 +14405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(98), + Line: int(100), Column: int(7), }, End: ast.Location{ - Line: int(98), + Line: int(100), Column: int(30), }, }, @@ -14213,11 +14436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(100), + Line: int(102), Column: int(7), }, End: ast.Location{ - Line: int(100), + Line: int(102), Column: int(16), }, }, @@ -14239,11 +14462,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(100), + Line: int(102), Column: int(17), }, End: ast.Location{ - Line: int(100), + Line: int(102), Column: int(20), }, }, @@ -14262,11 +14485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(100), + Line: int(102), Column: int(22), }, End: ast.Location{ - Line: int(100), + Line: int(102), Column: int(24), }, }, @@ -14290,11 +14513,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(100), + Line: int(102), Column: int(7), }, End: ast.Location{ - Line: int(100), + Line: int(102), Column: int(25), }, }, @@ -14330,11 +14553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(97), + Line: int(99), Column: int(5), }, End: ast.Location{ - Line: int(100), + Line: int(102), Column: int(25), }, }, @@ -14427,11 +14650,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(48), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(70), }, }, @@ -14456,11 +14679,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(74), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(77), }, }, @@ -14480,11 +14703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(73), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(78), }, }, @@ -14509,11 +14732,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(48), }, End: ast.Location{ - Line: int(96), + Line: int(98), Column: int(78), }, }, @@ -14532,11 +14755,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(96), + Line: int(98), Column: int(5), }, End: ast.Location{ - Line: int(100), + Line: int(102), Column: int(25), }, }, @@ -14583,11 +14806,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(58), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(61), }, }, @@ -14629,11 +14852,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(58), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(66), }, }, @@ -14655,11 +14878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(67), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(70), }, }, @@ -14683,11 +14906,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(58), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(71), }, }, @@ -14707,11 +14930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(32), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(55), }, }, @@ -14730,11 +14953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(32), }, End: ast.Location{ - Line: int(95), + Line: int(97), Column: int(71), }, }, @@ -14752,11 +14975,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(95), + Line: int(97), Column: int(5), }, End: ast.Location{ - Line: int(100), + Line: int(102), Column: int(25), }, }, @@ -14798,11 +15021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(94), + Line: int(96), Column: int(12), }, End: ast.Location{ - Line: int(94), + Line: int(96), Column: int(15), }, }, @@ -14835,11 +15058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(94), + Line: int(96), Column: int(3), }, End: ast.Location{ - Line: int(100), + Line: int(102), Column: int(25), }, }, @@ -14888,11 +15111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(12), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(15), }, }, @@ -14934,11 +15157,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(12), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(24), }, }, @@ -14960,11 +15183,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(25), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(28), }, }, @@ -14988,11 +15211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(12), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(29), }, }, @@ -15012,11 +15235,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(104), + Line: int(106), Column: int(30), }, End: ast.Location{ - Line: int(104), + Line: int(106), Column: int(31), }, }, @@ -15036,11 +15259,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(104), + Line: int(106), Column: int(12), }, End: ast.Location{ - Line: int(104), + Line: int(106), Column: int(15), }, }, @@ -15082,11 +15305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(104), + Line: int(106), Column: int(12), }, End: ast.Location{ - Line: int(104), + Line: int(106), Column: int(22), }, }, @@ -15108,11 +15331,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(104), + Line: int(106), Column: int(23), }, End: ast.Location{ - Line: int(104), + Line: int(106), Column: int(26), }, }, @@ -15136,11 +15359,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(104), + Line: int(106), Column: int(12), }, End: ast.Location{ - Line: int(104), + Line: int(106), Column: int(27), }, }, @@ -15160,11 +15383,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(104), + Line: int(106), Column: int(12), }, End: ast.Location{ - Line: int(104), + Line: int(106), Column: int(31), }, }, @@ -15191,11 +15414,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(105), + Line: int(107), Column: int(5), }, End: ast.Location{ - Line: int(105), + Line: int(107), Column: int(14), }, }, @@ -15217,11 +15440,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(105), + Line: int(107), Column: int(15), }, End: ast.Location{ - Line: int(105), + Line: int(107), Column: int(18), }, }, @@ -15240,11 +15463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(105), + Line: int(107), Column: int(20), }, End: ast.Location{ - Line: int(105), + Line: int(107), Column: int(21), }, }, @@ -15268,11 +15491,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(105), + Line: int(107), Column: int(5), }, End: ast.Location{ - Line: int(105), + Line: int(107), Column: int(22), }, }, @@ -15293,11 +15516,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(104), + Line: int(106), Column: int(34), }, End: ast.Location{ - Line: int(104), + Line: int(106), Column: int(59), }, }, @@ -15312,11 +15535,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(104), + Line: int(106), Column: int(5), }, End: ast.Location{ - Line: int(105), + Line: int(107), Column: int(22), }, }, @@ -15362,11 +15585,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(58), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(61), }, }, @@ -15408,11 +15631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(58), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(66), }, }, @@ -15434,11 +15657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(67), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(70), }, }, @@ -15462,11 +15685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(58), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(71), }, }, @@ -15486,11 +15709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(32), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(55), }, }, @@ -15509,11 +15732,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(32), }, End: ast.Location{ - Line: int(103), + Line: int(105), Column: int(71), }, }, @@ -15531,11 +15754,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(103), + Line: int(105), Column: int(5), }, End: ast.Location{ - Line: int(105), + Line: int(107), Column: int(22), }, }, @@ -15576,11 +15799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(102), + Line: int(104), Column: int(14), }, End: ast.Location{ - Line: int(102), + Line: int(104), Column: int(17), }, }, @@ -15612,11 +15835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(102), + Line: int(104), Column: int(3), }, End: ast.Location{ - Line: int(105), + Line: int(107), Column: int(22), }, }, @@ -15665,11 +15888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(12), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(15), }, }, @@ -15711,11 +15934,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(12), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(24), }, }, @@ -15737,11 +15960,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(25), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(28), }, }, @@ -15765,11 +15988,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(12), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(29), }, }, @@ -15789,11 +16012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(109), + Line: int(111), Column: int(30), }, End: ast.Location{ - Line: int(109), + Line: int(111), Column: int(31), }, }, @@ -15813,11 +16036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(109), + Line: int(111), Column: int(12), }, End: ast.Location{ - Line: int(109), + Line: int(111), Column: int(15), }, }, @@ -15859,11 +16082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(109), + Line: int(111), Column: int(12), }, End: ast.Location{ - Line: int(109), + Line: int(111), Column: int(22), }, }, @@ -15885,11 +16108,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(109), + Line: int(111), Column: int(23), }, End: ast.Location{ - Line: int(109), + Line: int(111), Column: int(26), }, }, @@ -15913,11 +16136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(109), + Line: int(111), Column: int(12), }, End: ast.Location{ - Line: int(109), + Line: int(111), Column: int(27), }, }, @@ -15937,11 +16160,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(109), + Line: int(111), Column: int(12), }, End: ast.Location{ - Line: int(109), + Line: int(111), Column: int(31), }, }, @@ -15968,11 +16191,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(110), + Line: int(112), Column: int(5), }, End: ast.Location{ - Line: int(110), + Line: int(112), Column: int(14), }, }, @@ -15994,11 +16217,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(110), + Line: int(112), Column: int(15), }, End: ast.Location{ - Line: int(110), + Line: int(112), Column: int(18), }, }, @@ -16017,11 +16240,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(110), + Line: int(112), Column: int(20), }, End: ast.Location{ - Line: int(110), + Line: int(112), Column: int(22), }, }, @@ -16045,11 +16268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(110), + Line: int(112), Column: int(5), }, End: ast.Location{ - Line: int(110), + Line: int(112), Column: int(23), }, }, @@ -16070,11 +16293,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(109), + Line: int(111), Column: int(34), }, End: ast.Location{ - Line: int(109), + Line: int(111), Column: int(55), }, }, @@ -16089,11 +16312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(109), + Line: int(111), Column: int(5), }, End: ast.Location{ - Line: int(110), + Line: int(112), Column: int(23), }, }, @@ -16139,11 +16362,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(58), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(61), }, }, @@ -16185,11 +16408,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(58), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(66), }, }, @@ -16211,11 +16434,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(67), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(70), }, }, @@ -16239,11 +16462,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(58), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(71), }, }, @@ -16263,11 +16486,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(32), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(55), }, }, @@ -16286,11 +16509,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(32), }, End: ast.Location{ - Line: int(108), + Line: int(110), Column: int(71), }, }, @@ -16308,11 +16531,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(108), + Line: int(110), Column: int(5), }, End: ast.Location{ - Line: int(110), + Line: int(112), Column: int(23), }, }, @@ -16353,11 +16576,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(107), + Line: int(109), Column: int(12), }, End: ast.Location{ - Line: int(107), + Line: int(109), Column: int(15), }, }, @@ -16389,11 +16612,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(107), + Line: int(109), Column: int(3), }, End: ast.Location{ - Line: int(110), + Line: int(112), Column: int(23), }, }, @@ -16442,11 +16665,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(12), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(15), }, }, @@ -16488,11 +16711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(12), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(24), }, }, @@ -16514,11 +16737,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(25), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(28), }, }, @@ -16542,11 +16765,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(12), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(29), }, }, @@ -16569,11 +16792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(12), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(15), }, }, @@ -16615,11 +16838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(12), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(24), }, }, @@ -16641,11 +16864,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(25), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(26), }, }, @@ -16669,11 +16892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(12), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(27), }, }, @@ -16693,11 +16916,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(29), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(30), }, }, @@ -16717,11 +16940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(12), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(15), }, }, @@ -16763,11 +16986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(12), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(22), }, }, @@ -16789,11 +17012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(23), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(24), }, }, @@ -16817,11 +17040,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(12), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(25), }, }, @@ -16841,11 +17064,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(12), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(30), }, }, @@ -16873,11 +17096,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(116), + Line: int(118), Column: int(5), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(8), }, }, @@ -16919,11 +17142,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(116), + Line: int(118), Column: int(5), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(19), }, }, @@ -16945,11 +17168,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(116), + Line: int(118), Column: int(20), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(23), }, }, @@ -16970,11 +17193,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(116), + Line: int(118), Column: int(25), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(26), }, }, @@ -16994,11 +17217,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(116), + Line: int(118), Column: int(29), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(30), }, }, @@ -17012,11 +17235,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(116), + Line: int(118), Column: int(28), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(30), }, }, @@ -17042,11 +17265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(116), + Line: int(118), Column: int(5), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(31), }, }, @@ -17070,11 +17293,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(100), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(103), }, }, @@ -17116,11 +17339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(100), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(110), }, }, @@ -17142,11 +17365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(111), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(112), }, }, @@ -17170,11 +17393,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(100), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(113), }, }, @@ -17194,11 +17417,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(33), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(97), }, }, @@ -17217,11 +17440,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(33), }, End: ast.Location{ - Line: int(115), + Line: int(117), Column: int(113), }, }, @@ -17239,11 +17462,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(115), + Line: int(117), Column: int(5), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(31), }, }, @@ -17289,11 +17512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(84), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(87), }, }, @@ -17335,11 +17558,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(84), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(92), }, }, @@ -17361,11 +17584,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(93), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(94), }, }, @@ -17389,11 +17612,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(84), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(95), }, }, @@ -17413,11 +17636,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(30), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(81), }, }, @@ -17436,11 +17659,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(30), }, End: ast.Location{ - Line: int(114), + Line: int(116), Column: int(95), }, }, @@ -17458,11 +17681,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(114), + Line: int(116), Column: int(5), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(31), }, }, @@ -17508,11 +17731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(85), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(88), }, }, @@ -17554,11 +17777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(85), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(93), }, }, @@ -17580,11 +17803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(94), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(97), }, }, @@ -17608,11 +17831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(85), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(98), }, }, @@ -17632,11 +17855,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(32), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(82), }, }, @@ -17655,11 +17878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(32), }, End: ast.Location{ - Line: int(113), + Line: int(115), Column: int(98), }, }, @@ -17677,11 +17900,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(113), + Line: int(115), Column: int(5), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(31), }, }, @@ -17722,11 +17945,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(112), + Line: int(114), Column: int(9), }, End: ast.Location{ - Line: int(112), + Line: int(114), Column: int(12), }, }, @@ -17741,11 +17964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(112), + Line: int(114), Column: int(14), }, End: ast.Location{ - Line: int(112), + Line: int(114), Column: int(15), }, }, @@ -17776,11 +17999,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(112), + Line: int(114), Column: int(3), }, End: ast.Location{ - Line: int(116), + Line: int(118), Column: int(31), }, }, @@ -17829,11 +18052,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(12), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(15), }, }, @@ -17875,11 +18098,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(12), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(24), }, }, @@ -17901,11 +18124,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(25), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(28), }, }, @@ -17929,11 +18152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(12), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(29), }, }, @@ -17956,11 +18179,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(12), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(15), }, }, @@ -18002,11 +18225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(12), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(24), }, }, @@ -18028,11 +18251,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(25), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(26), }, }, @@ -18056,11 +18279,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(12), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(27), }, }, @@ -18080,11 +18303,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(29), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(30), }, }, @@ -18104,11 +18327,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(12), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(15), }, }, @@ -18150,11 +18373,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(12), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(22), }, }, @@ -18176,11 +18399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(23), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(24), }, }, @@ -18204,11 +18427,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(12), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(25), }, }, @@ -18228,11 +18451,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(12), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(30), }, }, @@ -18254,11 +18477,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(12), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(15), }, }, @@ -18300,11 +18523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(12), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(24), }, }, @@ -18326,11 +18549,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(25), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(34), }, }, @@ -18354,11 +18577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(12), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(35), }, }, @@ -18384,11 +18607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(123), + Line: int(125), Column: int(20), }, End: ast.Location{ - Line: int(123), + Line: int(125), Column: int(23), }, }, @@ -18430,11 +18653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(123), + Line: int(125), Column: int(20), }, End: ast.Location{ - Line: int(123), + Line: int(125), Column: int(30), }, }, @@ -18456,11 +18679,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(123), + Line: int(125), Column: int(31), }, End: ast.Location{ - Line: int(123), + Line: int(125), Column: int(34), }, }, @@ -18484,11 +18707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(123), + Line: int(125), Column: int(20), }, End: ast.Location{ - Line: int(123), + Line: int(125), Column: int(35), }, }, @@ -18504,11 +18727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(123), + Line: int(125), Column: int(11), }, End: ast.Location{ - Line: int(123), + Line: int(125), Column: int(35), }, }, @@ -18532,11 +18755,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(124), + Line: int(126), Column: int(18), }, End: ast.Location{ - Line: int(124), + Line: int(126), Column: int(21), }, }, @@ -18578,11 +18801,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(124), + Line: int(126), Column: int(18), }, End: ast.Location{ - Line: int(124), + Line: int(126), Column: int(28), }, }, @@ -18604,11 +18827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(124), + Line: int(126), Column: int(29), }, End: ast.Location{ - Line: int(124), + Line: int(126), Column: int(30), }, }, @@ -18632,11 +18855,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(124), + Line: int(126), Column: int(18), }, End: ast.Location{ - Line: int(124), + Line: int(126), Column: int(31), }, }, @@ -18652,11 +18875,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(124), + Line: int(126), Column: int(11), }, End: ast.Location{ - Line: int(124), + Line: int(126), Column: int(31), }, }, @@ -18683,11 +18906,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(126), + Line: int(128), Column: int(17), }, End: ast.Location{ - Line: int(126), + Line: int(128), Column: int(23), }, }, @@ -18705,11 +18928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(126), + Line: int(128), Column: int(10), }, End: ast.Location{ - Line: int(126), + Line: int(128), Column: int(13), }, }, @@ -18727,11 +18950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(126), + Line: int(128), Column: int(10), }, End: ast.Location{ - Line: int(126), + Line: int(128), Column: int(23), }, }, @@ -18754,11 +18977,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(127), + Line: int(129), Column: int(16), }, End: ast.Location{ - Line: int(127), + Line: int(129), Column: int(19), }, }, @@ -18778,11 +19001,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(127), + Line: int(129), Column: int(15), }, End: ast.Location{ - Line: int(127), + Line: int(129), Column: int(20), }, }, @@ -18808,11 +19031,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(127), + Line: int(129), Column: int(9), }, End: ast.Location{ - Line: int(127), + Line: int(129), Column: int(12), }, }, @@ -18830,11 +19053,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(127), + Line: int(129), Column: int(9), }, End: ast.Location{ - Line: int(127), + Line: int(129), Column: int(20), }, }, @@ -18857,11 +19080,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(53), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(62), }, }, @@ -18881,11 +19104,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(35), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(38), }, }, @@ -18927,11 +19150,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(35), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(45), }, }, @@ -18953,11 +19176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(46), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(49), }, }, @@ -18981,11 +19204,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(35), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(50), }, }, @@ -19006,11 +19229,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(35), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(62), }, }, @@ -19029,11 +19252,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(30), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(31), }, }, @@ -19047,11 +19270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(29), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(31), }, }, @@ -19070,11 +19293,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(16), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(25), }, }, @@ -19091,11 +19314,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(16), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(31), }, }, @@ -19115,11 +19338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(129), + Line: int(131), Column: int(16), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(62), }, }, @@ -19139,11 +19362,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(40), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(41), }, }, @@ -19235,11 +19458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(15), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(18), }, }, @@ -19260,11 +19483,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(19), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(22), }, }, @@ -19286,11 +19509,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(29), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(33), }, }, @@ -19308,11 +19531,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(23), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(26), }, }, @@ -19330,11 +19553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(23), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(33), }, }, @@ -19354,11 +19577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(34), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(35), }, }, @@ -19384,11 +19607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(15), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(36), }, }, @@ -19411,11 +19634,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(15), }, End: ast.Location{ - Line: int(128), + Line: int(130), Column: int(41), }, }, @@ -19440,11 +19663,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(15), }, End: ast.Location{ - Line: int(129), + Line: int(131), Column: int(63), }, }, @@ -19471,11 +19694,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(9), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(12), }, }, @@ -19498,11 +19721,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(19), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(23), }, }, @@ -19520,11 +19743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(13), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(16), }, }, @@ -19542,11 +19765,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(13), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(23), }, }, @@ -19572,11 +19795,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(32), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(35), }, }, @@ -19596,11 +19819,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(31), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(36), }, }, @@ -19619,11 +19842,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(25), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(28), }, }, @@ -19641,11 +19864,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(25), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(36), }, }, @@ -19667,11 +19890,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(38), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(40), }, }, @@ -19699,11 +19922,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(130), + Line: int(132), Column: int(9), }, End: ast.Location{ - Line: int(130), + Line: int(132), Column: int(41), }, }, @@ -19731,11 +19954,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(9), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(12), }, }, @@ -19756,11 +19979,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(19), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(20), }, }, @@ -19778,11 +20001,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(13), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(16), }, }, @@ -19799,11 +20022,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(13), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(20), }, }, @@ -19825,11 +20048,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(22), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(25), }, }, @@ -19852,11 +20075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(33), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(36), }, }, @@ -19874,11 +20097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(37), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(40), }, }, @@ -19898,11 +20121,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(33), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(41), }, }, @@ -19920,11 +20143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(27), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(30), }, }, @@ -19943,11 +20166,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(27), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(41), }, }, @@ -19975,11 +20198,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(132), + Line: int(134), Column: int(9), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(42), }, }, @@ -20015,11 +20238,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(128), + Line: int(130), Column: int(12), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(42), }, }, @@ -20061,11 +20284,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(126), + Line: int(128), Column: int(7), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(42), }, }, @@ -20082,11 +20305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(125), + Line: int(127), Column: int(15), }, End: ast.Location{ - Line: int(125), + Line: int(127), Column: int(18), }, }, @@ -20101,11 +20324,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(125), + Line: int(127), Column: int(20), }, End: ast.Location{ - Line: int(125), + Line: int(127), Column: int(23), }, }, @@ -20120,11 +20343,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(125), + Line: int(127), Column: int(25), }, End: ast.Location{ - Line: int(125), + Line: int(127), Column: int(28), }, }, @@ -20147,11 +20370,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(125), + Line: int(127), Column: int(11), }, End: ast.Location{ - Line: int(132), + Line: int(134), Column: int(42), }, }, @@ -20196,11 +20419,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(133), + Line: int(135), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(8), }, }, @@ -20220,11 +20443,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(133), + Line: int(135), Column: int(9), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(10), }, }, @@ -20244,11 +20467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(133), + Line: int(135), Column: int(12), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(14), }, }, @@ -20270,11 +20493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(133), + Line: int(135), Column: int(16), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(18), }, }, @@ -20298,11 +20521,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(133), + Line: int(135), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -20333,11 +20556,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(125), + Line: int(127), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -20365,11 +20588,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(124), + Line: int(126), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -20396,11 +20619,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(123), + Line: int(125), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -20422,11 +20645,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(96), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(99), }, }, @@ -20468,11 +20691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(96), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(104), }, }, @@ -20494,11 +20717,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(105), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(114), }, }, @@ -20522,11 +20745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(96), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(115), }, }, @@ -20546,11 +20769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(38), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(93), }, }, @@ -20569,11 +20792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(38), }, End: ast.Location{ - Line: int(122), + Line: int(124), Column: int(115), }, }, @@ -20591,11 +20814,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(122), + Line: int(124), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -20643,11 +20866,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(105), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(108), }, }, @@ -20689,11 +20912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(105), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(115), }, }, @@ -20715,11 +20938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(116), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(117), }, }, @@ -20743,11 +20966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(105), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(118), }, }, @@ -20767,11 +20990,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(33), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(102), }, }, @@ -20790,11 +21013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(33), }, End: ast.Location{ - Line: int(121), + Line: int(123), Column: int(118), }, }, @@ -20812,11 +21035,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(121), + Line: int(123), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -20864,11 +21087,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(89), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(92), }, }, @@ -20910,11 +21133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(89), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(97), }, }, @@ -20936,11 +21159,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(98), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(99), }, }, @@ -20964,11 +21187,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(89), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(100), }, }, @@ -20988,11 +21211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(30), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(86), }, }, @@ -21011,11 +21234,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(30), }, End: ast.Location{ - Line: int(120), + Line: int(122), Column: int(100), }, }, @@ -21033,11 +21256,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(120), + Line: int(122), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -21085,11 +21308,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(90), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(93), }, }, @@ -21131,11 +21354,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(90), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(98), }, }, @@ -21157,11 +21380,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(99), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(102), }, }, @@ -21185,11 +21408,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(90), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(103), }, }, @@ -21209,11 +21432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(32), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(87), }, }, @@ -21232,11 +21455,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(32), }, End: ast.Location{ - Line: int(119), + Line: int(121), Column: int(103), }, }, @@ -21254,11 +21477,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(119), + Line: int(121), Column: int(5), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -21301,11 +21524,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(118), + Line: int(120), Column: int(14), }, End: ast.Location{ - Line: int(118), + Line: int(120), Column: int(17), }, }, @@ -21320,11 +21543,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(118), + Line: int(120), Column: int(19), }, End: ast.Location{ - Line: int(118), + Line: int(120), Column: int(20), }, }, @@ -21339,11 +21562,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(118), + Line: int(120), Column: int(22), }, End: ast.Location{ - Line: int(118), + Line: int(120), Column: int(31), }, }, @@ -21375,11 +21598,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(118), + Line: int(120), Column: int(3), }, End: ast.Location{ - Line: int(133), + Line: int(135), Column: int(19), }, }, @@ -21428,11 +21651,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(12), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(15), }, }, @@ -21474,11 +21697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(12), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(24), }, }, @@ -21500,11 +21723,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(25), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(28), }, }, @@ -21528,11 +21751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(12), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(29), }, }, @@ -21555,11 +21778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(12), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(15), }, }, @@ -21601,11 +21824,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(12), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(24), }, }, @@ -21627,11 +21850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(25), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(26), }, }, @@ -21655,11 +21878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(12), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(27), }, }, @@ -21679,11 +21902,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(29), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(30), }, }, @@ -21703,11 +21926,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(12), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(15), }, }, @@ -21749,11 +21972,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(12), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(22), }, }, @@ -21775,11 +21998,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(23), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(24), }, }, @@ -21803,11 +22026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(12), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(25), }, }, @@ -21827,11 +22050,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(12), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(30), }, }, @@ -21853,11 +22076,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(12), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(15), }, }, @@ -21899,11 +22122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(12), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(24), }, }, @@ -21925,11 +22148,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(25), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(34), }, }, @@ -21953,11 +22176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(12), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(35), }, }, @@ -21978,11 +22201,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(140), + Line: int(142), Column: int(22), }, End: ast.Location{ - Line: int(140), + Line: int(142), Column: int(23), }, }, @@ -21996,11 +22219,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(140), + Line: int(142), Column: int(21), }, End: ast.Location{ - Line: int(140), + Line: int(142), Column: int(23), }, }, @@ -22019,11 +22242,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(140), + Line: int(142), Column: int(8), }, End: ast.Location{ - Line: int(140), + Line: int(142), Column: int(17), }, }, @@ -22040,11 +22263,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(140), + Line: int(142), Column: int(8), }, End: ast.Location{ - Line: int(140), + Line: int(142), Column: int(23), }, }, @@ -22072,11 +22295,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(141), + Line: int(143), Column: int(7), }, End: ast.Location{ - Line: int(141), + Line: int(143), Column: int(10), }, }, @@ -22118,11 +22341,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(141), + Line: int(143), Column: int(7), }, End: ast.Location{ - Line: int(141), + Line: int(143), Column: int(21), }, }, @@ -22144,11 +22367,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(141), + Line: int(143), Column: int(22), }, End: ast.Location{ - Line: int(141), + Line: int(143), Column: int(25), }, }, @@ -22169,11 +22392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(141), + Line: int(143), Column: int(27), }, End: ast.Location{ - Line: int(141), + Line: int(143), Column: int(28), }, }, @@ -22193,11 +22416,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(141), + Line: int(143), Column: int(31), }, End: ast.Location{ - Line: int(141), + Line: int(143), Column: int(32), }, }, @@ -22211,11 +22434,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(141), + Line: int(143), Column: int(30), }, End: ast.Location{ - Line: int(141), + Line: int(143), Column: int(32), }, }, @@ -22241,11 +22464,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(141), + Line: int(143), Column: int(7), }, End: ast.Location{ - Line: int(141), + Line: int(143), Column: int(33), }, }, @@ -22274,11 +22497,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(27), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(30), }, }, @@ -22320,11 +22543,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(27), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(35), }, }, @@ -22346,11 +22569,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(36), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(38), }, }, @@ -22374,11 +22597,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(40), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(43), }, }, @@ -22420,11 +22643,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(40), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(51), }, }, @@ -22448,11 +22671,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(52), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(55), }, }, @@ -22494,11 +22717,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(52), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(67), }, }, @@ -22520,11 +22743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(68), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(71), }, }, @@ -22548,11 +22771,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(52), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(72), }, }, @@ -22578,11 +22801,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(40), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(73), }, }, @@ -22608,11 +22831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(27), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(74), }, }, @@ -22631,11 +22854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(20), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(23), }, }, @@ -22651,11 +22874,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(13), }, End: ast.Location{ - Line: int(143), + Line: int(145), Column: int(74), }, }, @@ -22701,11 +22924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(7), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(10), }, }, @@ -22747,11 +22970,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(7), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(14), }, }, @@ -22777,11 +23000,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(27), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(33), }, }, @@ -22803,11 +23026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(34), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(35), }, }, @@ -22831,11 +23054,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(27), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(36), }, }, @@ -22854,11 +23077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(24), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(25), }, }, @@ -22874,11 +23097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(15), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(36), }, }, @@ -22902,11 +23125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(38), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(41), }, }, @@ -22948,11 +23171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(38), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(49), }, }, @@ -22976,11 +23199,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(50), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(53), }, }, @@ -23022,11 +23245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(50), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(64), }, }, @@ -23049,11 +23272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(65), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(71), }, }, @@ -23075,11 +23298,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(72), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(75), }, }, @@ -23103,11 +23326,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(65), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(76), }, }, @@ -23131,11 +23354,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(78), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(84), }, }, @@ -23157,11 +23380,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(85), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(86), }, }, @@ -23185,11 +23408,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(78), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(87), }, }, @@ -23212,11 +23435,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(89), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(98), }, }, @@ -23243,11 +23466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(50), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(99), }, }, @@ -23276,11 +23499,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(38), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(100), }, }, @@ -23309,11 +23532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(144), + Line: int(146), Column: int(7), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(101), }, }, @@ -23341,11 +23564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(143), + Line: int(145), Column: int(7), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(101), }, }, @@ -23380,11 +23603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(140), + Line: int(142), Column: int(5), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(101), }, }, @@ -23406,11 +23629,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(97), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(100), }, }, @@ -23452,11 +23675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(97), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(105), }, }, @@ -23478,11 +23701,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(106), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(115), }, }, @@ -23506,11 +23729,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(97), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(116), }, }, @@ -23530,11 +23753,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(38), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(94), }, }, @@ -23553,11 +23776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(38), }, End: ast.Location{ - Line: int(139), + Line: int(141), Column: int(116), }, }, @@ -23575,11 +23798,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(139), + Line: int(141), Column: int(5), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(101), }, }, @@ -23626,11 +23849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(106), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(109), }, }, @@ -23672,11 +23895,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(106), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(116), }, }, @@ -23698,11 +23921,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(117), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(118), }, }, @@ -23726,11 +23949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(106), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(119), }, }, @@ -23750,11 +23973,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(33), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(103), }, }, @@ -23773,11 +23996,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(33), }, End: ast.Location{ - Line: int(138), + Line: int(140), Column: int(119), }, }, @@ -23795,11 +24018,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(138), + Line: int(140), Column: int(5), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(101), }, }, @@ -23846,11 +24069,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(90), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(93), }, }, @@ -23892,11 +24115,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(90), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(98), }, }, @@ -23918,11 +24141,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(99), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(100), }, }, @@ -23946,11 +24169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(90), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(101), }, }, @@ -23970,11 +24193,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(30), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(87), }, }, @@ -23993,11 +24216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(30), }, End: ast.Location{ - Line: int(137), + Line: int(139), Column: int(101), }, }, @@ -24015,11 +24238,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(137), + Line: int(139), Column: int(5), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(101), }, }, @@ -24066,11 +24289,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(91), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(94), }, }, @@ -24112,11 +24335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(91), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(99), }, }, @@ -24138,11 +24361,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(100), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(103), }, }, @@ -24166,11 +24389,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(91), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(104), }, }, @@ -24190,11 +24413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(32), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(88), }, }, @@ -24213,11 +24436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(32), }, End: ast.Location{ - Line: int(136), + Line: int(138), Column: int(104), }, }, @@ -24235,11 +24458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(136), + Line: int(138), Column: int(5), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(101), }, }, @@ -24281,11 +24504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(135), + Line: int(137), Column: int(15), }, End: ast.Location{ - Line: int(135), + Line: int(137), Column: int(18), }, }, @@ -24300,11 +24523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(135), + Line: int(137), Column: int(20), }, End: ast.Location{ - Line: int(135), + Line: int(137), Column: int(21), }, }, @@ -24319,11 +24542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(135), + Line: int(137), Column: int(23), }, End: ast.Location{ - Line: int(135), + Line: int(137), Column: int(32), }, }, @@ -24354,11 +24577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(135), + Line: int(137), Column: int(3), }, End: ast.Location{ - Line: int(144), + Line: int(146), Column: int(101), }, }, @@ -24407,11 +24630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(147), + Line: int(149), Column: int(12), }, End: ast.Location{ - Line: int(147), + Line: int(149), Column: int(15), }, }, @@ -24453,11 +24676,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(147), + Line: int(149), Column: int(12), }, End: ast.Location{ - Line: int(147), + Line: int(149), Column: int(24), }, }, @@ -24479,11 +24702,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(147), + Line: int(149), Column: int(25), }, End: ast.Location{ - Line: int(147), + Line: int(149), Column: int(28), }, }, @@ -24507,11 +24730,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(147), + Line: int(149), Column: int(12), }, End: ast.Location{ - Line: int(147), + Line: int(149), Column: int(29), }, }, @@ -24534,11 +24757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(148), + Line: int(150), Column: int(12), }, End: ast.Location{ - Line: int(148), + Line: int(150), Column: int(15), }, }, @@ -24580,11 +24803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(148), + Line: int(150), Column: int(12), }, End: ast.Location{ - Line: int(148), + Line: int(150), Column: int(24), }, }, @@ -24606,11 +24829,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(148), + Line: int(150), Column: int(25), }, End: ast.Location{ - Line: int(148), + Line: int(150), Column: int(29), }, }, @@ -24634,11 +24857,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(148), + Line: int(150), Column: int(12), }, End: ast.Location{ - Line: int(148), + Line: int(150), Column: int(30), }, }, @@ -24661,11 +24884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(149), + Line: int(151), Column: int(12), }, End: ast.Location{ - Line: int(149), + Line: int(151), Column: int(15), }, }, @@ -24707,11 +24930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(149), + Line: int(151), Column: int(12), }, End: ast.Location{ - Line: int(149), + Line: int(151), Column: int(24), }, }, @@ -24733,11 +24956,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(149), + Line: int(151), Column: int(25), }, End: ast.Location{ - Line: int(149), + Line: int(151), Column: int(27), }, }, @@ -24761,11 +24984,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(149), + Line: int(151), Column: int(12), }, End: ast.Location{ - Line: int(149), + Line: int(151), Column: int(28), }, }, @@ -24787,11 +25010,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(150), + Line: int(152), Column: int(20), }, End: ast.Location{ - Line: int(150), + Line: int(152), Column: int(22), }, }, @@ -24810,11 +25033,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(150), + Line: int(152), Column: int(12), }, End: ast.Location{ - Line: int(150), + Line: int(152), Column: int(16), }, }, @@ -24831,11 +25054,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(150), + Line: int(152), Column: int(12), }, End: ast.Location{ - Line: int(150), + Line: int(152), Column: int(22), }, }, @@ -24860,11 +25083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(153), + Line: int(155), Column: int(21), }, End: ast.Location{ - Line: int(153), + Line: int(155), Column: int(24), }, }, @@ -24906,11 +25129,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(153), + Line: int(155), Column: int(21), }, End: ast.Location{ - Line: int(153), + Line: int(155), Column: int(31), }, }, @@ -24932,11 +25155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(153), + Line: int(155), Column: int(32), }, End: ast.Location{ - Line: int(153), + Line: int(155), Column: int(35), }, }, @@ -24960,11 +25183,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(153), + Line: int(155), Column: int(21), }, End: ast.Location{ - Line: int(153), + Line: int(155), Column: int(36), }, }, @@ -24980,11 +25203,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(153), + Line: int(155), Column: int(11), }, End: ast.Location{ - Line: int(153), + Line: int(155), Column: int(36), }, }, @@ -25008,11 +25231,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(154), + Line: int(156), Column: int(22), }, End: ast.Location{ - Line: int(154), + Line: int(156), Column: int(25), }, }, @@ -25054,11 +25277,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(154), + Line: int(156), Column: int(22), }, End: ast.Location{ - Line: int(154), + Line: int(156), Column: int(32), }, }, @@ -25080,11 +25303,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(154), + Line: int(156), Column: int(33), }, End: ast.Location{ - Line: int(154), + Line: int(156), Column: int(37), }, }, @@ -25108,11 +25331,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(154), + Line: int(156), Column: int(22), }, End: ast.Location{ - Line: int(154), + Line: int(156), Column: int(38), }, }, @@ -25128,11 +25351,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(154), + Line: int(156), Column: int(11), }, End: ast.Location{ - Line: int(154), + Line: int(156), Column: int(38), }, }, @@ -25158,11 +25381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(48), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(52), }, }, @@ -25254,11 +25477,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(25), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(28), }, }, @@ -25279,11 +25502,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(29), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(30), }, }, @@ -25305,11 +25528,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(35), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(43), }, }, @@ -25327,11 +25550,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(31), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(32), }, }, @@ -25349,11 +25572,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(31), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(43), }, }, @@ -25402,11 +25625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(25), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(44), }, }, @@ -25429,11 +25652,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(25), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(52), }, }, @@ -25451,11 +25674,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(20), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(21), }, }, @@ -25474,11 +25697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(11), }, End: ast.Location{ - Line: int(157), + Line: int(159), Column: int(52), }, }, @@ -25524,11 +25747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(162), + Line: int(164), Column: int(23), }, End: ast.Location{ - Line: int(162), + Line: int(164), Column: int(30), }, }, @@ -25546,11 +25769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(162), + Line: int(164), Column: int(10), }, End: ast.Location{ - Line: int(162), + Line: int(164), Column: int(20), }, }, @@ -25568,11 +25791,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(162), + Line: int(164), Column: int(10), }, End: ast.Location{ - Line: int(162), + Line: int(164), Column: int(30), }, }, @@ -25666,11 +25889,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(163), + Line: int(165), Column: int(15), }, End: ast.Location{ - Line: int(163), + Line: int(165), Column: int(18), }, }, @@ -25691,11 +25914,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(163), + Line: int(165), Column: int(19), }, End: ast.Location{ - Line: int(163), + Line: int(165), Column: int(30), }, }, @@ -25716,11 +25939,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(163), + Line: int(165), Column: int(31), }, End: ast.Location{ - Line: int(163), + Line: int(165), Column: int(41), }, }, @@ -25768,11 +25991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(163), + Line: int(165), Column: int(15), }, End: ast.Location{ - Line: int(163), + Line: int(165), Column: int(42), }, }, @@ -25799,11 +26022,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(163), + Line: int(165), Column: int(9), }, End: ast.Location{ - Line: int(163), + Line: int(165), Column: int(12), }, }, @@ -25824,11 +26047,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(163), + Line: int(165), Column: int(9), }, End: ast.Location{ - Line: int(163), + Line: int(165), Column: int(42), }, }, @@ -25849,11 +26072,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(164), + Line: int(166), Column: int(15), }, End: ast.Location{ - Line: int(164), + Line: int(166), Column: int(23), }, }, @@ -25875,11 +26098,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(164), + Line: int(166), Column: int(24), }, End: ast.Location{ - Line: int(164), + Line: int(166), Column: int(34), }, }, @@ -25903,11 +26126,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(164), + Line: int(166), Column: int(15), }, End: ast.Location{ - Line: int(164), + Line: int(166), Column: int(35), }, }, @@ -25934,11 +26157,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(165), + Line: int(167), Column: int(40), }, End: ast.Location{ - Line: int(165), + Line: int(167), Column: int(43), }, }, @@ -25980,11 +26203,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(165), + Line: int(167), Column: int(40), }, End: ast.Location{ - Line: int(165), + Line: int(167), Column: int(50), }, }, @@ -26006,11 +26229,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(165), + Line: int(167), Column: int(51), }, End: ast.Location{ - Line: int(165), + Line: int(167), Column: int(55), }, }, @@ -26034,11 +26257,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(165), + Line: int(167), Column: int(40), }, End: ast.Location{ - Line: int(165), + Line: int(167), Column: int(56), }, }, @@ -26058,11 +26281,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(165), + Line: int(167), Column: int(27), }, End: ast.Location{ - Line: int(165), + Line: int(167), Column: int(37), }, }, @@ -26081,11 +26304,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(165), + Line: int(167), Column: int(27), }, End: ast.Location{ - Line: int(165), + Line: int(167), Column: int(56), }, }, @@ -26100,11 +26323,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(165), + Line: int(167), Column: int(15), }, End: ast.Location{ - Line: int(165), + Line: int(167), Column: int(56), }, }, @@ -26130,11 +26353,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(9), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(22), }, }, @@ -26156,11 +26379,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(23), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(32), }, }, @@ -26181,11 +26404,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(34), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(43), }, }, @@ -26207,11 +26430,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(81), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(83), }, }, @@ -26304,11 +26527,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(51), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(54), }, }, @@ -26329,11 +26552,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(55), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(66), }, }, @@ -26354,11 +26577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(67), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(77), }, }, @@ -26406,11 +26629,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(51), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(78), }, }, @@ -26430,11 +26653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(45), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(48), }, }, @@ -26455,11 +26678,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(45), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(78), }, }, @@ -26482,11 +26705,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(45), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(83), }, }, @@ -26517,11 +26740,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(166), + Line: int(168), Column: int(9), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(84), }, }, @@ -26554,11 +26777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(165), + Line: int(167), Column: int(9), }, End: ast.Location{ - Line: int(166), + Line: int(168), Column: int(84), }, }, @@ -26584,11 +26807,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(168), + Line: int(170), Column: int(9), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(22), }, }, @@ -26610,11 +26833,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(168), + Line: int(170), Column: int(23), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(34), }, }, @@ -26634,11 +26857,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(168), + Line: int(170), Column: int(49), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(50), }, }, @@ -26656,11 +26879,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(168), + Line: int(170), Column: int(36), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(46), }, }, @@ -26677,11 +26900,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(168), + Line: int(170), Column: int(36), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(50), }, }, @@ -26703,11 +26926,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(168), + Line: int(170), Column: int(52), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(55), }, }, @@ -26733,11 +26956,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(168), + Line: int(170), Column: int(9), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(56), }, }, @@ -26773,11 +26996,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(164), + Line: int(166), Column: int(12), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(56), }, }, @@ -26819,11 +27042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(162), + Line: int(164), Column: int(7), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(56), }, }, @@ -26840,11 +27063,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(161), + Line: int(163), Column: int(25), }, End: ast.Location{ - Line: int(161), + Line: int(163), Column: int(36), }, }, @@ -26859,11 +27082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(161), + Line: int(163), Column: int(38), }, End: ast.Location{ - Line: int(161), + Line: int(163), Column: int(48), }, }, @@ -26878,11 +27101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(161), + Line: int(163), Column: int(50), }, End: ast.Location{ - Line: int(161), + Line: int(163), Column: int(53), }, }, @@ -26905,11 +27128,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(161), + Line: int(163), Column: int(11), }, End: ast.Location{ - Line: int(168), + Line: int(170), Column: int(56), }, }, @@ -26946,11 +27169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(172), + Line: int(174), Column: int(20), }, End: ast.Location{ - Line: int(172), + Line: int(174), Column: int(21), }, }, @@ -26968,11 +27191,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(172), + Line: int(174), Column: int(8), }, End: ast.Location{ - Line: int(172), + Line: int(174), Column: int(16), }, }, @@ -26989,11 +27212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(172), + Line: int(174), Column: int(8), }, End: ast.Location{ - Line: int(172), + Line: int(174), Column: int(21), }, }, @@ -27021,11 +27244,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(7), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(10), }, }, @@ -27067,11 +27290,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(7), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(15), }, }, @@ -27093,11 +27316,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(16), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(18), }, }, @@ -27120,11 +27343,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(20), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(23), }, }, @@ -27166,11 +27389,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(20), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(29), }, }, @@ -27192,11 +27415,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(30), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(33), }, }, @@ -27217,11 +27440,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(35), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(39), }, }, @@ -27246,11 +27469,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(20), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(40), }, }, @@ -27278,11 +27501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(173), + Line: int(175), Column: int(7), }, End: ast.Location{ - Line: int(173), + Line: int(175), Column: int(41), }, }, @@ -27310,11 +27533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(175), + Line: int(177), Column: int(7), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(20), }, }, @@ -27334,11 +27557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(175), + Line: int(177), Column: int(21), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(22), }, }, @@ -27357,11 +27580,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(175), + Line: int(177), Column: int(24), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(25), }, }, @@ -27382,11 +27605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(175), + Line: int(177), Column: int(27), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(29), }, }, @@ -27410,11 +27633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(175), + Line: int(177), Column: int(7), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27469,11 +27692,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(172), + Line: int(174), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27519,11 +27742,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(161), + Line: int(163), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27560,11 +27783,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(157), + Line: int(159), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27592,11 +27815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(154), + Line: int(156), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27631,11 +27854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(153), + Line: int(155), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27654,11 +27877,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(150), + Line: int(152), Column: int(25), }, End: ast.Location{ - Line: int(150), + Line: int(152), Column: int(65), }, }, @@ -27673,11 +27896,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(150), + Line: int(152), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27741,11 +27964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(149), + Line: int(151), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27809,11 +28032,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(148), + Line: int(150), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27877,11 +28100,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(147), + Line: int(149), Column: int(5), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -27924,11 +28147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(146), + Line: int(148), Column: int(14), }, End: ast.Location{ - Line: int(146), + Line: int(148), Column: int(17), }, }, @@ -27943,11 +28166,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(146), + Line: int(148), Column: int(19), }, End: ast.Location{ - Line: int(146), + Line: int(148), Column: int(23), }, }, @@ -27962,11 +28185,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(146), + Line: int(148), Column: int(25), }, End: ast.Location{ - Line: int(146), + Line: int(148), Column: int(27), }, }, @@ -27998,11 +28221,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(146), + Line: int(148), Column: int(3), }, End: ast.Location{ - Line: int(175), + Line: int(177), Column: int(30), }, }, @@ -28053,11 +28276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(178), + Line: int(180), Column: int(16), }, End: ast.Location{ - Line: int(178), + Line: int(180), Column: int(19), }, }, @@ -28099,11 +28322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(178), + Line: int(180), Column: int(16), }, End: ast.Location{ - Line: int(178), + Line: int(180), Column: int(29), }, }, @@ -28117,11 +28340,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(178), + Line: int(180), Column: int(11), }, End: ast.Location{ - Line: int(178), + Line: int(180), Column: int(29), }, }, @@ -28147,11 +28370,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(52), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(55), }, }, @@ -28170,11 +28393,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(44), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(46), }, }, @@ -28196,11 +28419,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(47), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(48), }, }, @@ -28224,11 +28447,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(44), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(49), }, }, @@ -28248,11 +28471,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(44), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(55), }, }, @@ -28270,11 +28493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(38), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(40), }, }, @@ -28293,11 +28516,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(29), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(31), }, }, @@ -28319,11 +28542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(32), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(33), }, }, @@ -28347,11 +28570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(29), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(34), }, }, @@ -28371,11 +28594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(29), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(40), }, }, @@ -28394,11 +28617,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(29), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(55), }, }, @@ -28426,11 +28649,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(180), + Line: int(182), Column: int(7), }, End: ast.Location{ - Line: int(180), + Line: int(182), Column: int(10), }, }, @@ -28472,11 +28695,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(180), + Line: int(182), Column: int(7), }, End: ast.Location{ - Line: int(180), + Line: int(182), Column: int(15), }, }, @@ -28497,11 +28720,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(180), + Line: int(182), Column: int(24), }, End: ast.Location{ - Line: int(180), + Line: int(182), Column: int(26), }, }, @@ -28520,11 +28743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(180), + Line: int(182), Column: int(16), }, End: ast.Location{ - Line: int(180), + Line: int(182), Column: int(18), }, }, @@ -28546,11 +28769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(180), + Line: int(182), Column: int(19), }, End: ast.Location{ - Line: int(180), + Line: int(182), Column: int(20), }, }, @@ -28574,11 +28797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(180), + Line: int(182), Column: int(16), }, End: ast.Location{ - Line: int(180), + Line: int(182), Column: int(21), }, }, @@ -28598,11 +28821,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(180), + Line: int(182), Column: int(16), }, End: ast.Location{ - Line: int(180), + Line: int(182), Column: int(26), }, }, @@ -28628,11 +28851,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(180), + Line: int(182), Column: int(7), }, End: ast.Location{ - Line: int(180), + Line: int(182), Column: int(27), }, }, @@ -28659,11 +28882,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(182), + Line: int(184), Column: int(7), }, End: ast.Location{ - Line: int(182), + Line: int(184), Column: int(8), }, }, @@ -28690,11 +28913,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(26), }, End: ast.Location{ - Line: int(182), + Line: int(184), Column: int(8), }, }, @@ -28711,11 +28934,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(21), }, End: ast.Location{ - Line: int(179), + Line: int(181), Column: int(22), }, }, @@ -28732,11 +28955,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(11), }, End: ast.Location{ - Line: int(182), + Line: int(184), Column: int(8), }, }, @@ -28782,11 +29005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(5), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(8), }, }, @@ -28828,11 +29051,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(5), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(13), }, }, @@ -28854,11 +29077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(14), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(16), }, }, @@ -28882,11 +29105,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(18), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(21), }, }, @@ -28928,11 +29151,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(18), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(25), }, }, @@ -28954,11 +29177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(26), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(35), }, }, @@ -28981,11 +29204,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(37), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(40), }, }, @@ -29027,11 +29250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(37), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(52), }, }, @@ -29053,11 +29276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(53), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(56), }, }, @@ -29081,11 +29304,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(37), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(57), }, }, @@ -29112,11 +29335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(18), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(58), }, }, @@ -29143,11 +29366,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(183), + Line: int(185), Column: int(5), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(59), }, }, @@ -29174,11 +29397,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(179), + Line: int(181), Column: int(5), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(59), }, }, @@ -29202,11 +29425,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(178), + Line: int(180), Column: int(5), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(59), }, }, @@ -29223,11 +29446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(177), + Line: int(179), Column: int(14), }, End: ast.Location{ - Line: int(177), + Line: int(179), Column: int(17), }, }, @@ -29258,11 +29481,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(177), + Line: int(179), Column: int(3), }, End: ast.Location{ - Line: int(183), + Line: int(185), Column: int(59), }, }, @@ -29313,11 +29536,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(186), + Line: int(188), Column: int(16), }, End: ast.Location{ - Line: int(186), + Line: int(188), Column: int(19), }, }, @@ -29359,11 +29582,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(186), + Line: int(188), Column: int(16), }, End: ast.Location{ - Line: int(186), + Line: int(188), Column: int(29), }, }, @@ -29377,11 +29600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(186), + Line: int(188), Column: int(11), }, End: ast.Location{ - Line: int(186), + Line: int(188), Column: int(29), }, }, @@ -29407,11 +29630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(54), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(56), }, }, @@ -29430,11 +29653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(46), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(48), }, }, @@ -29456,11 +29679,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(49), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(50), }, }, @@ -29484,11 +29707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(46), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(51), }, }, @@ -29508,11 +29731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(46), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(56), }, }, @@ -29530,11 +29753,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(40), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(42), }, }, @@ -29553,11 +29776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(31), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(33), }, }, @@ -29579,11 +29802,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(34), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(35), }, }, @@ -29607,11 +29830,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(31), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(36), }, }, @@ -29631,11 +29854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(31), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(42), }, }, @@ -29654,11 +29877,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(31), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(56), }, }, @@ -29686,11 +29909,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(188), + Line: int(190), Column: int(7), }, End: ast.Location{ - Line: int(188), + Line: int(190), Column: int(10), }, }, @@ -29732,11 +29955,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(188), + Line: int(190), Column: int(7), }, End: ast.Location{ - Line: int(188), + Line: int(190), Column: int(15), }, }, @@ -29757,11 +29980,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(188), + Line: int(190), Column: int(24), }, End: ast.Location{ - Line: int(188), + Line: int(190), Column: int(26), }, }, @@ -29780,11 +30003,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(188), + Line: int(190), Column: int(16), }, End: ast.Location{ - Line: int(188), + Line: int(190), Column: int(18), }, }, @@ -29806,11 +30029,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(188), + Line: int(190), Column: int(19), }, End: ast.Location{ - Line: int(188), + Line: int(190), Column: int(20), }, }, @@ -29834,11 +30057,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(188), + Line: int(190), Column: int(16), }, End: ast.Location{ - Line: int(188), + Line: int(190), Column: int(21), }, }, @@ -29858,11 +30081,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(188), + Line: int(190), Column: int(16), }, End: ast.Location{ - Line: int(188), + Line: int(190), Column: int(26), }, }, @@ -29888,11 +30111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(188), + Line: int(190), Column: int(7), }, End: ast.Location{ - Line: int(188), + Line: int(190), Column: int(27), }, }, @@ -29919,11 +30142,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(190), + Line: int(192), Column: int(7), }, End: ast.Location{ - Line: int(190), + Line: int(192), Column: int(8), }, }, @@ -29950,11 +30173,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(28), }, End: ast.Location{ - Line: int(190), + Line: int(192), Column: int(8), }, }, @@ -29971,11 +30194,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(23), }, End: ast.Location{ - Line: int(187), + Line: int(189), Column: int(24), }, }, @@ -29992,11 +30215,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(11), }, End: ast.Location{ - Line: int(190), + Line: int(192), Column: int(8), }, }, @@ -30042,11 +30265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(5), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(8), }, }, @@ -30088,11 +30311,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(5), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(13), }, }, @@ -30114,11 +30337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(14), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(16), }, }, @@ -30142,11 +30365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(18), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(21), }, }, @@ -30188,11 +30411,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(18), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(25), }, }, @@ -30214,11 +30437,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(26), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(37), }, }, @@ -30241,11 +30464,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(39), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(42), }, }, @@ -30287,11 +30510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(39), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(54), }, }, @@ -30313,11 +30536,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(55), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(58), }, }, @@ -30341,11 +30564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(39), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(59), }, }, @@ -30372,11 +30595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(18), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(60), }, }, @@ -30403,11 +30626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(191), + Line: int(193), Column: int(5), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(61), }, }, @@ -30434,11 +30657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(187), + Line: int(189), Column: int(5), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(61), }, }, @@ -30462,11 +30685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(186), + Line: int(188), Column: int(5), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(61), }, }, @@ -30483,11 +30706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(185), + Line: int(187), Column: int(14), }, End: ast.Location{ - Line: int(185), + Line: int(187), Column: int(17), }, }, @@ -30518,11 +30741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(185), + Line: int(187), Column: int(3), }, End: ast.Location{ - Line: int(191), + Line: int(193), Column: int(61), }, }, @@ -30577,11 +30800,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(5), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(8), }, }, @@ -30623,11 +30846,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(5), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(18), }, }, @@ -30648,11 +30871,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(31), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(32), }, }, @@ -30671,11 +30894,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(24), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(28), }, }, @@ -30693,11 +30916,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(19), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(21), }, }, @@ -30715,11 +30938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(19), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(28), }, }, @@ -30738,11 +30961,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(19), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(32), }, }, @@ -30768,11 +30991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(50), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(54), }, }, @@ -30790,11 +31013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(46), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(47), }, }, @@ -30812,11 +31035,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(46), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(54), }, }, @@ -30834,11 +31057,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(43), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(44), }, }, @@ -30854,11 +31077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(34), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(54), }, }, @@ -30884,11 +31107,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(194), + Line: int(196), Column: int(5), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(55), }, }, @@ -30907,11 +31130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(193), + Line: int(195), Column: int(9), }, End: ast.Location{ - Line: int(193), + Line: int(195), Column: int(13), }, }, @@ -30926,11 +31149,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(193), + Line: int(195), Column: int(15), }, End: ast.Location{ - Line: int(193), + Line: int(195), Column: int(17), }, }, @@ -30961,11 +31184,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(193), + Line: int(195), Column: int(3), }, End: ast.Location{ - Line: int(194), + Line: int(196), Column: int(55), }, }, @@ -31018,11 +31241,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(198), + Line: int(200), Column: int(10), }, End: ast.Location{ - Line: int(198), + Line: int(200), Column: int(13), }, }, @@ -31064,11 +31287,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(198), + Line: int(200), Column: int(10), }, End: ast.Location{ - Line: int(198), + Line: int(200), Column: int(22), }, }, @@ -31090,11 +31313,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(198), + Line: int(200), Column: int(23), }, End: ast.Location{ - Line: int(198), + Line: int(200), Column: int(27), }, }, @@ -31118,11 +31341,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(198), + Line: int(200), Column: int(10), }, End: ast.Location{ - Line: int(198), + Line: int(200), Column: int(28), }, }, @@ -31142,11 +31365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(198), + Line: int(200), Column: int(34), }, End: ast.Location{ - Line: int(198), + Line: int(200), Column: int(36), }, }, @@ -31168,11 +31391,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(199), + Line: int(201), Column: int(15), }, End: ast.Location{ - Line: int(199), + Line: int(201), Column: int(18), }, }, @@ -31214,11 +31437,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(199), + Line: int(201), Column: int(15), }, End: ast.Location{ - Line: int(199), + Line: int(201), Column: int(26), }, }, @@ -31240,11 +31463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(199), + Line: int(201), Column: int(27), }, End: ast.Location{ - Line: int(199), + Line: int(201), Column: int(31), }, }, @@ -31268,11 +31491,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(199), + Line: int(201), Column: int(15), }, End: ast.Location{ - Line: int(199), + Line: int(201), Column: int(32), }, }, @@ -31291,11 +31514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(199), + Line: int(201), Column: int(38), }, End: ast.Location{ - Line: int(199), + Line: int(201), Column: int(40), }, }, @@ -31315,11 +31538,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(200), + Line: int(202), Column: int(18), }, End: ast.Location{ - Line: int(200), + Line: int(202), Column: int(74), }, }, @@ -31334,11 +31557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(200), + Line: int(202), Column: int(12), }, End: ast.Location{ - Line: int(200), + Line: int(202), Column: int(74), }, }, @@ -31364,11 +31587,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(199), + Line: int(201), Column: int(12), }, End: ast.Location{ - Line: int(200), + Line: int(202), Column: int(74), }, }, @@ -31401,11 +31624,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(198), + Line: int(200), Column: int(7), }, End: ast.Location{ - Line: int(200), + Line: int(202), Column: int(74), }, }, @@ -31419,11 +31642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(197), + Line: int(199), Column: int(11), }, End: ast.Location{ - Line: int(200), + Line: int(202), Column: int(74), }, }, @@ -31450,11 +31673,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(5), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(8), }, }, @@ -31496,11 +31719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(5), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(13), }, }, @@ -31522,11 +31745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(14), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(20), }, }, @@ -31549,11 +31772,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(22), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(25), }, }, @@ -31595,11 +31818,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(22), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(35), }, }, @@ -31621,11 +31844,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(36), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(41), }, }, @@ -31649,11 +31872,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(55), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(59), }, }, @@ -31670,11 +31893,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(52), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(53), }, }, @@ -31690,11 +31913,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(43), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(59), }, }, @@ -31720,11 +31943,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(22), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(60), }, }, @@ -31752,11 +31975,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(201), + Line: int(203), Column: int(5), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(61), }, }, @@ -31783,11 +32006,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(197), + Line: int(199), Column: int(5), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(61), }, }, @@ -31804,11 +32027,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(196), + Line: int(198), Column: int(10), }, End: ast.Location{ - Line: int(196), + Line: int(198), Column: int(14), }, }, @@ -31823,11 +32046,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(196), + Line: int(198), Column: int(16), }, End: ast.Location{ - Line: int(196), + Line: int(198), Column: int(21), }, }, @@ -31858,11 +32081,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(196), + Line: int(198), Column: int(3), }, End: ast.Location{ - Line: int(201), + Line: int(203), Column: int(61), }, }, @@ -31939,11 +32162,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(207), + Line: int(209), Column: int(20), }, End: ast.Location{ - Line: int(207), + Line: int(209), Column: int(29), }, }, @@ -31953,11 +32176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(207), + Line: int(209), Column: int(9), }, End: ast.Location{ - Line: int(207), + Line: int(209), Column: int(29), }, }, @@ -31999,11 +32222,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(209), + Line: int(211), Column: int(23), }, End: ast.Location{ - Line: int(209), + Line: int(211), Column: int(27), }, }, @@ -32021,11 +32244,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(209), + Line: int(211), Column: int(14), }, End: ast.Location{ - Line: int(209), + Line: int(211), Column: int(19), }, }, @@ -32042,11 +32265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(209), + Line: int(211), Column: int(14), }, End: ast.Location{ - Line: int(209), + Line: int(211), Column: int(27), }, }, @@ -32063,39 +32286,458 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(209), - Column: int(33), + Line: int(212), + Column: int(16), }, End: ast.Location{ - Line: int(209), - Column: int(34), + Line: int(212), + Column: int(17), }, }, }, }, - BranchFalse: &ast.Var{ - Id: "index", + BranchFalse: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(214), + Column: int(24), + }, + End: ast.Location{ + Line: int(214), + Column: int(25), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "index", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "index", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(214), + Column: int(16), + }, + End: ast.Location{ + Line: int(214), + Column: int(21), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "index", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(214), + Column: int(16), + }, + End: ast.Location{ + Line: int(214), + Column: int(25), + }, + }, + }, + Op: ast.BinaryOp(9), + }, + BranchTrue: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(18), + }, + End: ast.Location{ + Line: int(215), + Column: int(21), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "max", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(18), + }, + End: ast.Location{ + Line: int(215), + Column: int(25), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2236, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(26), + }, + End: ast.Location{ + Line: int(215), + Column: int(27), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Binary{ + Right: &ast.Var{ + Id: "index", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2236, + FreeVars: ast.Identifiers{ + "index", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(53), + }, + End: ast.Location{ + Line: int(215), + Column: int(58), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(29), + }, + End: ast.Location{ + Line: int(215), + Column: int(32), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2236, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(29), + }, + End: ast.Location{ + Line: int(215), + Column: int(39), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "indexable", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2248, + FreeVars: ast.Identifiers{ + "indexable", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(40), + }, + End: ast.Location{ + Line: int(215), + Column: int(49), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2236, + FreeVars: ast.Identifiers{ + "indexable", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(29), + }, + End: ast.Location{ + Line: int(215), + Column: int(50), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2236, + FreeVars: ast.Identifiers{ + "index", + "indexable", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(29), + }, + End: ast.Location{ + Line: int(215), + Column: int(58), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "index", + "indexable", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(215), + Column: int(18), + }, + End: ast.Location{ + Line: int(215), + Column: int(59), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchFalse: &ast.Var{ + Id: "index", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "index", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(216), + Column: int(18), + }, + End: ast.Location{ + Line: int(216), + Column: int(23), + }, + }, + }, + }, + ThenFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(12), + }, + }, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(12), + }, + }, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(12), + }, + }, Ctx: p2212, FreeVars: ast.Identifiers{ "index", + "indexable", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(210), - Column: int(16), + Line: int(214), + Column: int(13), }, End: ast.Location{ - Line: int(210), - Column: int(21), + Line: int(216), + Column: int(23), }, }, }, }, - ThenFodder: ast.Fodder{}, + ThenFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(10), + }, + }, ElseFodder: ast.Fodder{ ast.FodderElement{ Comment: []string{}, @@ -32116,17 +32758,19 @@ var _StdAst = &ast.DesugaredObject{ Ctx: p2212, FreeVars: ast.Identifiers{ "index", + "indexable", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(209), + Line: int(211), Column: int(11), }, End: ast.Location{ - Line: int(210), - Column: int(21), + Line: int(216), + Column: int(23), }, }, }, @@ -32135,12 +32779,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(208), + Line: int(210), Column: int(9), }, End: ast.Location{ - Line: int(210), - Column: int(21), + Line: int(216), + Column: int(23), }, }, Hide: ast.ObjectFieldHide(1), @@ -32181,11 +32825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(212), + Line: int(218), Column: int(21), }, End: ast.Location{ - Line: int(212), + Line: int(218), Column: int(25), }, }, @@ -32203,11 +32847,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(212), + Line: int(218), Column: int(14), }, End: ast.Location{ - Line: int(212), + Line: int(218), Column: int(17), }, }, @@ -32224,11 +32868,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(212), + Line: int(218), Column: int(14), }, End: ast.Location{ - Line: int(212), + Line: int(218), Column: int(25), }, }, @@ -32249,12 +32893,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(212), - Column: int(31), + Line: int(219), + Column: int(16), }, End: ast.Location{ - Line: int(212), - Column: int(34), + Line: int(219), + Column: int(19), }, }, }, @@ -32295,12 +32939,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(212), - Column: int(31), + Line: int(219), + Column: int(16), }, End: ast.Location{ - Line: int(212), - Column: int(41), + Line: int(219), + Column: int(26), }, }, }, @@ -32313,7 +32957,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexable", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2242, + Ctx: p2278, FreeVars: ast.Identifiers{ "indexable", }, @@ -32321,12 +32965,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(212), - Column: int(42), + Line: int(219), + Column: int(27), }, End: ast.Location{ - Line: int(212), - Column: int(51), + Line: int(219), + Column: int(36), }, }, }, @@ -32349,41 +32993,332 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(212), - Column: int(31), + Line: int(219), + Column: int(16), }, End: ast.Location{ - Line: int(212), - Column: int(52), + Line: int(219), + Column: int(37), }, }, }, TrailingComma: false, TailStrict: false, }, - BranchFalse: &ast.Var{ - Id: "end", + BranchFalse: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(221), + Column: int(22), + }, + End: ast.Location{ + Line: int(221), + Column: int(23), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "end", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "end", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(221), + Column: int(16), + }, + End: ast.Location{ + Line: int(221), + Column: int(19), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "end", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(221), + Column: int(16), + }, + End: ast.Location{ + Line: int(221), + Column: int(23), + }, + }, + }, + Op: ast.BinaryOp(9), + }, + BranchTrue: &ast.Binary{ + Right: &ast.Var{ + Id: "end", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "end", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(222), + Column: int(42), + }, + End: ast.Location{ + Line: int(222), + Column: int(45), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(222), + Column: int(18), + }, + End: ast.Location{ + Line: int(222), + Column: int(21), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(222), + Column: int(18), + }, + End: ast.Location{ + Line: int(222), + Column: int(28), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "indexable", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2298, + FreeVars: ast.Identifiers{ + "indexable", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(222), + Column: int(29), + }, + End: ast.Location{ + Line: int(222), + Column: int(38), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "indexable", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(222), + Column: int(18), + }, + End: ast.Location{ + Line: int(222), + Column: int(39), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "end", + "indexable", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(222), + Column: int(18), + }, + End: ast.Location{ + Line: int(222), + Column: int(45), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + BranchFalse: &ast.Var{ + Id: "end", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2212, + FreeVars: ast.Identifiers{ + "end", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(223), + Column: int(18), + }, + End: ast.Location{ + Line: int(223), + Column: int(21), + }, + }, + }, + }, + ThenFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(12), + }, + }, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(12), + }, + }, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(12), + }, + }, Ctx: p2212, FreeVars: ast.Identifiers{ "end", + "indexable", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(213), - Column: int(16), + Line: int(221), + Column: int(13), }, End: ast.Location{ - Line: int(213), - Column: int(19), + Line: int(223), + Column: int(21), }, }, }, }, - ThenFodder: ast.Fodder{}, + ThenFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(10), + }, + }, ElseFodder: ast.Fodder{ ast.FodderElement{ Comment: []string{}, @@ -32411,12 +33346,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(212), + Line: int(218), Column: int(11), }, End: ast.Location{ - Line: int(213), - Column: int(19), + Line: int(223), + Column: int(21), }, }, }, @@ -32425,12 +33360,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(211), + Line: int(217), Column: int(9), }, End: ast.Location{ - Line: int(213), - Column: int(19), + Line: int(223), + Column: int(21), }, }, Hide: ast.ObjectFieldHide(1), @@ -32471,11 +33406,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(215), + Line: int(225), Column: int(22), }, End: ast.Location{ - Line: int(215), + Line: int(225), Column: int(26), }, }, @@ -32493,11 +33428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(215), + Line: int(225), Column: int(14), }, End: ast.Location{ - Line: int(215), + Line: int(225), Column: int(18), }, }, @@ -32514,11 +33449,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(215), + Line: int(225), Column: int(14), }, End: ast.Location{ - Line: int(215), + Line: int(225), Column: int(26), }, }, @@ -32535,12 +33470,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(215), - Column: int(32), + Line: int(226), + Column: int(16), }, End: ast.Location{ - Line: int(215), - Column: int(33), + Line: int(226), + Column: int(17), }, }, }, @@ -32557,17 +33492,24 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(216), + Line: int(227), Column: int(16), }, End: ast.Location{ - Line: int(216), + Line: int(227), Column: int(20), }, }, }, }, - ThenFodder: ast.Fodder{}, + ThenFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(10), + }, + }, ElseFodder: ast.Fodder{ ast.FodderElement{ Comment: []string{}, @@ -32593,11 +33535,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(215), + Line: int(225), Column: int(11), }, End: ast.Location{ - Line: int(216), + Line: int(227), Column: int(20), }, }, @@ -32607,11 +33549,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(214), + Line: int(224), Column: int(9), }, End: ast.Location{ - Line: int(216), + Line: int(227), Column: int(20), }, }, @@ -32656,11 +33598,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(217), + Line: int(228), Column: int(17), }, End: ast.Location{ - Line: int(217), + Line: int(228), Column: int(20), }, }, @@ -32702,11 +33644,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(217), + Line: int(228), Column: int(17), }, End: ast.Location{ - Line: int(217), + Line: int(228), Column: int(27), }, }, @@ -32720,7 +33662,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexable", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2272, + Ctx: p2335, FreeVars: ast.Identifiers{ "indexable", }, @@ -32728,11 +33670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(217), + Line: int(228), Column: int(28), }, End: ast.Location{ - Line: int(217), + Line: int(228), Column: int(37), }, }, @@ -32756,11 +33698,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(217), + Line: int(228), Column: int(17), }, End: ast.Location{ - Line: int(217), + Line: int(228), Column: int(38), }, }, @@ -32772,11 +33714,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(217), + Line: int(228), Column: int(9), }, End: ast.Location{ - Line: int(217), + Line: int(228), Column: int(38), }, }, @@ -32821,11 +33763,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(218), + Line: int(229), Column: int(15), }, End: ast.Location{ - Line: int(218), + Line: int(229), Column: int(18), }, }, @@ -32867,11 +33809,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(218), + Line: int(229), Column: int(15), }, End: ast.Location{ - Line: int(218), + Line: int(229), Column: int(23), }, }, @@ -32885,7 +33827,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexable", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2284, + Ctx: p2347, FreeVars: ast.Identifiers{ "indexable", }, @@ -32893,11 +33835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(218), + Line: int(229), Column: int(24), }, End: ast.Location{ - Line: int(218), + Line: int(229), Column: int(33), }, }, @@ -32921,11 +33863,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(218), + Line: int(229), Column: int(15), }, End: ast.Location{ - Line: int(218), + Line: int(229), Column: int(34), }, }, @@ -32937,11 +33879,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(218), + Line: int(229), Column: int(9), }, End: ast.Location{ - Line: int(218), + Line: int(229), Column: int(34), }, }, @@ -32967,7 +33909,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p2289, + Ctx: p2352, FreeVars: ast.Identifiers{ "end", "index", @@ -32979,11 +33921,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(206), + Line: int(208), Column: int(7), }, End: ast.Location{ - Line: int(219), + Line: int(230), Column: int(8), }, }, @@ -32997,11 +33939,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(204), + Line: int(206), Column: int(11), }, End: ast.Location{ - Line: int(219), + Line: int(230), Column: int(8), }, }, @@ -33009,213 +33951,32 @@ var _StdAst = &ast.DesugaredObject{ }, Body: &ast.Conditional{ Cond: &ast.Binary{ - Right: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "0", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2295, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(64), - }, - End: ast.Location{ - Line: int(220), - Column: int(65), - }, - }, - }, - }, - Left: &ast.Index{ - Target: &ast.Var{ - Id: "invar", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "invar", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(50), - }, - End: ast.Location{ - Line: int(220), - Column: int(55), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "step", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2295, - FreeVars: ast.Identifiers{ - "invar", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(50), - }, - End: ast.Location{ - Line: int(220), - Column: int(60), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, + Right: &ast.LiteralNumber{ + OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, - FreeVars: ast.Identifiers{ - "invar", - }, + Ctx: p2357, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(50), + Line: int(231), + Column: int(26), }, End: ast.Location{ - Line: int(220), - Column: int(65), + Line: int(231), + Column: int(27), }, }, }, - Op: ast.BinaryOp(8), }, - Left: &ast.Binary{ - Right: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "0", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2295, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(45), - }, - End: ast.Location{ - Line: int(220), - Column: int(46), - }, - }, - }, - }, - Left: &ast.Index{ - Target: &ast.Var{ - Id: "invar", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "invar", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(32), - }, - End: ast.Location{ - Line: int(220), - Column: int(37), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "end", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2295, - FreeVars: ast.Identifiers{ - "invar", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(32), - }, - End: ast.Location{ - Line: int(220), - Column: int(41), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, + Left: &ast.Index{ + Target: &ast.Var{ + Id: "invar", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: nil, FreeVars: ast.Identifiers{ "invar", }, @@ -33223,133 +33984,45 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(32), + Line: int(231), + Column: int(12), }, End: ast.Location{ - Line: int(220), - Column: int(46), + Line: int(231), + Column: int(17), }, }, }, - Op: ast.BinaryOp(8), }, - Left: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "0", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2295, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(27), - }, - End: ast.Location{ - Line: int(220), - Column: int(28), - }, - }, - }, - }, - Left: &ast.Index{ - Target: &ast.Var{ - Id: "invar", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "invar", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(12), - }, - End: ast.Location{ - Line: int(220), - Column: int(17), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "index", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2295, - FreeVars: ast.Identifiers{ - "invar", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(220), - Column: int(12), - }, - End: ast.Location{ - Line: int(220), - Column: int(23), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, + Index: &ast.LiteralString{ + Value: "step", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2295, - FreeVars: ast.Identifiers{ - "invar", - }, + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(12), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(220), - Column: int(28), + Line: int(0), + Column: int(0), }, }, }, - Op: ast.BinaryOp(8), + Kind: ast.LiteralStringKind(1), }, - OpFodder: ast.Fodder{}, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "invar", }, @@ -33357,21 +34030,20 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), + Line: int(231), Column: int(12), }, End: ast.Location{ - Line: int(220), - Column: int(46), + Line: int(231), + Column: int(22), }, }, }, - Op: ast.BinaryOp(17), }, OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "invar", }, @@ -33379,16 +34051,16 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), + Line: int(231), Column: int(12), }, End: ast.Location{ - Line: int(220), - Column: int(65), + Line: int(231), + Column: int(27), }, }, }, - Op: ast.BinaryOp(17), + Op: ast.BinaryOp(8), }, BranchTrue: &ast.Conditional{ Cond: &ast.Binary{ @@ -33396,17 +34068,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(221), + Line: int(232), Column: int(20), }, End: ast.Location{ - Line: int(221), + Line: int(232), Column: int(21), }, }, @@ -33416,7 +34088,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "step", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "step", }, @@ -33424,11 +34096,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(221), + Line: int(232), Column: int(12), }, End: ast.Location{ - Line: int(221), + Line: int(232), Column: int(16), }, }, @@ -33437,7 +34109,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "step", }, @@ -33445,11 +34117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(221), + Line: int(232), Column: int(12), }, End: ast.Location{ - Line: int(221), + Line: int(232), Column: int(21), }, }, @@ -33472,11 +34144,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(39), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(42), }, }, @@ -33510,7 +34182,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "std", }, @@ -33518,11 +34190,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(39), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(50), }, }, @@ -33536,7 +34208,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexable", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2337, + Ctx: p2380, FreeVars: ast.Identifiers{ "indexable", }, @@ -33544,11 +34216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(51), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(60), }, }, @@ -33563,7 +34235,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "indexable", "std", @@ -33572,11 +34244,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(39), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(61), }, }, @@ -33598,11 +34270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(12), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(15), }, }, @@ -33636,7 +34308,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "std", }, @@ -33644,11 +34316,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(12), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(24), }, }, @@ -33662,7 +34334,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexable", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2348, + Ctx: p2391, FreeVars: ast.Identifiers{ "indexable", }, @@ -33670,11 +34342,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(25), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(34), }, }, @@ -33689,7 +34361,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "indexable", "std", @@ -33698,11 +34370,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(12), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(35), }, }, @@ -33713,7 +34385,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "indexable", "std", @@ -33722,11 +34394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(12), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(61), }, }, @@ -33756,11 +34428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(37), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(42), }, }, @@ -33794,7 +34466,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "invar", }, @@ -33802,11 +34474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(37), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(49), }, }, @@ -33816,7 +34488,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cur", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "cur", }, @@ -33824,11 +34496,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(30), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(33), }, }, @@ -33837,7 +34509,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "cur", "invar", @@ -33846,11 +34518,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(30), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(49), }, }, @@ -33871,11 +34543,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(17), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(22), }, }, @@ -33909,7 +34581,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "invar", }, @@ -33917,11 +34589,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(17), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(26), }, }, @@ -33931,7 +34603,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cur", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "cur", }, @@ -33939,11 +34611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(10), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(13), }, }, @@ -33952,7 +34624,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "cur", "invar", @@ -33961,11 +34633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(10), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(26), }, }, @@ -33975,7 +34647,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "cur", "invar", @@ -33984,11 +34656,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(10), }, End: ast.Location{ - Line: int(224), + Line: int(235), Column: int(49), }, }, @@ -34006,7 +34678,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "slice", }, @@ -34014,11 +34686,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(225), + Line: int(236), Column: int(9), }, End: ast.Location{ - Line: int(225), + Line: int(236), Column: int(14), }, }, @@ -34036,7 +34708,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "build", }, @@ -34044,11 +34716,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(227), + Line: int(238), Column: int(9), }, End: ast.Location{ - Line: int(227), + Line: int(238), Column: int(14), }, }, @@ -34066,17 +34738,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(228), + Line: int(239), Column: int(28), }, End: ast.Location{ - Line: int(228), + Line: int(239), Column: int(36), }, }, @@ -34096,11 +34768,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(228), + Line: int(239), Column: int(14), }, End: ast.Location{ - Line: int(228), + Line: int(239), Column: int(19), }, }, @@ -34134,7 +34806,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "invar", }, @@ -34142,11 +34814,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(228), + Line: int(239), Column: int(14), }, End: ast.Location{ - Line: int(228), + Line: int(239), Column: int(24), }, }, @@ -34155,7 +34827,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "invar", }, @@ -34163,11 +34835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(228), + Line: int(239), Column: int(14), }, End: ast.Location{ - Line: int(228), + Line: int(239), Column: int(36), }, }, @@ -34189,11 +34861,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(229), + Line: int(240), Column: int(21), }, End: ast.Location{ - Line: int(229), + Line: int(240), Column: int(26), }, }, @@ -34227,7 +34899,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "invar", }, @@ -34235,11 +34907,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(229), + Line: int(240), Column: int(21), }, End: ast.Location{ - Line: int(229), + Line: int(240), Column: int(36), }, }, @@ -34249,7 +34921,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cur", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "cur", }, @@ -34257,11 +34929,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(229), + Line: int(240), Column: int(37), }, End: ast.Location{ - Line: int(229), + Line: int(240), Column: int(40), }, }, @@ -34272,7 +34944,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "cur", "invar", @@ -34281,11 +34953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(229), + Line: int(240), Column: int(21), }, End: ast.Location{ - Line: int(229), + Line: int(240), Column: int(41), }, }, @@ -34302,7 +34974,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "slice", }, @@ -34310,11 +34982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(229), + Line: int(240), Column: int(13), }, End: ast.Location{ - Line: int(229), + Line: int(240), Column: int(18), }, }, @@ -34323,7 +34995,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "cur", "invar", @@ -34333,11 +35005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(229), + Line: int(240), Column: int(13), }, End: ast.Location{ - Line: int(229), + Line: int(240), Column: int(41), }, }, @@ -34362,11 +35034,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(231), + Line: int(242), Column: int(22), }, End: ast.Location{ - Line: int(231), + Line: int(242), Column: int(27), }, }, @@ -34400,7 +35072,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2417, + Ctx: p2460, FreeVars: ast.Identifiers{ "invar", }, @@ -34408,11 +35080,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(231), + Line: int(242), Column: int(22), }, End: ast.Location{ - Line: int(231), + Line: int(242), Column: int(37), }, }, @@ -34422,7 +35094,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cur", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2417, + Ctx: p2460, FreeVars: ast.Identifiers{ "cur", }, @@ -34430,11 +35102,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(231), + Line: int(242), Column: int(38), }, End: ast.Location{ - Line: int(231), + Line: int(242), Column: int(41), }, }, @@ -34445,7 +35117,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2417, + Ctx: p2460, FreeVars: ast.Identifiers{ "cur", "invar", @@ -34454,11 +35126,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(231), + Line: int(242), Column: int(22), }, End: ast.Location{ - Line: int(231), + Line: int(242), Column: int(42), }, }, @@ -34470,7 +35142,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "cur", "invar", @@ -34479,11 +35151,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(231), + Line: int(242), Column: int(21), }, End: ast.Location{ - Line: int(231), + Line: int(242), Column: int(43), }, }, @@ -34501,7 +35173,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "slice", }, @@ -34509,11 +35181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(231), + Line: int(242), Column: int(13), }, End: ast.Location{ - Line: int(231), + Line: int(242), Column: int(18), }, }, @@ -34522,7 +35194,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "cur", "invar", @@ -34532,11 +35204,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(231), + Line: int(242), Column: int(13), }, End: ast.Location{ - Line: int(231), + Line: int(242), Column: int(43), }, }, @@ -34561,7 +35233,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "cur", "invar", @@ -34571,11 +35243,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(228), + Line: int(239), Column: int(11), }, End: ast.Location{ - Line: int(231), + Line: int(242), Column: int(43), }, }, @@ -34598,11 +35270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(232), + Line: int(243), Column: int(17), }, End: ast.Location{ - Line: int(232), + Line: int(243), Column: int(22), }, }, @@ -34636,7 +35308,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "invar", }, @@ -34644,11 +35316,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(232), + Line: int(243), Column: int(17), }, End: ast.Location{ - Line: int(232), + Line: int(243), Column: int(27), }, }, @@ -34665,7 +35337,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "cur", }, @@ -34673,11 +35345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(232), + Line: int(243), Column: int(11), }, End: ast.Location{ - Line: int(232), + Line: int(243), Column: int(14), }, }, @@ -34686,7 +35358,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2388, + Ctx: p2431, FreeVars: ast.Identifiers{ "cur", "invar", @@ -34695,11 +35367,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(232), + Line: int(243), Column: int(11), }, End: ast.Location{ - Line: int(232), + Line: int(243), Column: int(27), }, }, @@ -34722,7 +35394,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "build", "cur", @@ -34733,11 +35405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(227), + Line: int(238), Column: int(9), }, End: ast.Location{ - Line: int(233), + Line: int(244), Column: int(10), }, }, @@ -34763,7 +35435,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p2362, + Ctx: p2405, FreeVars: ast.Identifiers{ "build", "cur", @@ -34774,11 +35446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(224), + Line: int(235), Column: int(7), }, End: ast.Location{ - Line: int(233), + Line: int(244), Column: int(10), }, }, @@ -34795,11 +35467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(223), + Line: int(234), Column: int(17), }, End: ast.Location{ - Line: int(223), + Line: int(234), Column: int(22), }, }, @@ -34814,11 +35486,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(223), + Line: int(234), Column: int(24), }, End: ast.Location{ - Line: int(223), + Line: int(234), Column: int(27), }, }, @@ -34826,7 +35498,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p2446, + Ctx: p2489, FreeVars: ast.Identifiers{ "build", "invar", @@ -34835,11 +35507,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(223), + Line: int(234), Column: int(11), }, End: ast.Location{ - Line: int(233), + Line: int(244), Column: int(10), }, }, @@ -34876,7 +35548,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "build", }, @@ -34884,11 +35556,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(5), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(10), }, }, @@ -34906,17 +35578,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2456, + Ctx: p2499, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(28), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(36), }, }, @@ -34936,11 +35608,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(14), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(19), }, }, @@ -34974,7 +35646,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2456, + Ctx: p2499, FreeVars: ast.Identifiers{ "invar", }, @@ -34982,11 +35654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(14), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(24), }, }, @@ -34995,7 +35667,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2456, + Ctx: p2499, FreeVars: ast.Identifiers{ "invar", }, @@ -35003,11 +35675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(14), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(36), }, }, @@ -35020,17 +35692,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2456, + Ctx: p2499, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(42), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(44), }, }, @@ -35042,17 +35714,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2456, + Ctx: p2499, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(50), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(52), }, }, @@ -35063,7 +35735,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2456, + Ctx: p2499, FreeVars: ast.Identifiers{ "invar", }, @@ -35071,11 +35743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(11), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(52), }, }, @@ -35097,11 +35769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(54), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(59), }, }, @@ -35135,7 +35807,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2456, + Ctx: p2499, FreeVars: ast.Identifiers{ "invar", }, @@ -35143,11 +35815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(54), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(65), }, }, @@ -35162,7 +35834,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "build", "invar", @@ -35171,11 +35843,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(234), + Line: int(245), Column: int(5), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(66), }, }, @@ -35192,7 +35864,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "invar", }, @@ -35200,11 +35872,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(223), + Line: int(234), Column: int(5), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(66), }, }, @@ -35291,17 +35963,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(64), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(117), }, }, @@ -35325,11 +35997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(120), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(123), }, }, @@ -35363,7 +36035,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "std", }, @@ -35371,11 +36043,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(120), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(128), }, }, @@ -35389,7 +36061,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexable", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2491, + Ctx: p2534, FreeVars: ast.Identifiers{ "indexable", }, @@ -35397,11 +36069,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(129), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(138), }, }, @@ -35416,7 +36088,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "indexable", "std", @@ -35425,11 +36097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(120), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(139), }, }, @@ -35456,11 +36128,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(64), }, End: ast.Location{ - Line: int(222), + Line: int(233), Column: int(139), }, }, @@ -35480,11 +36152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(222), + Line: int(233), Column: int(5), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(66), }, }, @@ -35596,17 +36268,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(221), + Line: int(232), Column: int(24), }, End: ast.Location{ - Line: int(221), + Line: int(232), Column: int(64), }, }, @@ -35620,7 +36292,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "step", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "step", }, @@ -35628,11 +36300,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(221), + Line: int(232), Column: int(67), }, End: ast.Location{ - Line: int(221), + Line: int(232), Column: int(71), }, }, @@ -35656,11 +36328,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(221), + Line: int(232), Column: int(24), }, End: ast.Location{ - Line: int(221), + Line: int(232), Column: int(71), }, }, @@ -35679,11 +36351,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(221), + Line: int(232), Column: int(5), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(66), }, }, @@ -35791,23 +36463,23 @@ var _StdAst = &ast.DesugaredObject{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ Expr: &ast.LiteralString{ - Value: "got [%s:%s:%s] but negative index, end, and steps are not supported", + Value: "got [%s:%s:%s] but negative steps are not supported", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(68), + Line: int(231), + Column: int(30), }, End: ast.Location{ - Line: int(220), - Column: int(137), + Line: int(231), + Column: int(83), }, }, }, @@ -35832,12 +36504,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(141), + Line: int(231), + Column: int(87), }, End: ast.Location{ - Line: int(220), - Column: int(146), + Line: int(231), + Column: int(92), }, }, }, @@ -35870,7 +36542,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2526, + Ctx: p2569, FreeVars: ast.Identifiers{ "invar", }, @@ -35878,12 +36550,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(141), + Line: int(231), + Column: int(87), }, End: ast.Location{ - Line: int(220), - Column: int(152), + Line: int(231), + Column: int(98), }, }, }, @@ -35904,12 +36576,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(154), + Line: int(231), + Column: int(100), }, End: ast.Location{ - Line: int(220), - Column: int(159), + Line: int(231), + Column: int(105), }, }, }, @@ -35942,7 +36614,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2526, + Ctx: p2569, FreeVars: ast.Identifiers{ "invar", }, @@ -35950,12 +36622,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(154), + Line: int(231), + Column: int(100), }, End: ast.Location{ - Line: int(220), - Column: int(163), + Line: int(231), + Column: int(109), }, }, }, @@ -35976,12 +36648,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(165), + Line: int(231), + Column: int(111), }, End: ast.Location{ - Line: int(220), - Column: int(170), + Line: int(231), + Column: int(116), }, }, }, @@ -36014,7 +36686,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2526, + Ctx: p2569, FreeVars: ast.Identifiers{ "invar", }, @@ -36022,12 +36694,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(165), + Line: int(231), + Column: int(111), }, End: ast.Location{ - Line: int(220), - Column: int(175), + Line: int(231), + Column: int(121), }, }, }, @@ -36038,7 +36710,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "invar", }, @@ -36046,12 +36718,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(140), + Line: int(231), + Column: int(86), }, End: ast.Location{ - Line: int(220), - Column: int(176), + Line: int(231), + Column: int(122), }, }, }, @@ -36075,12 +36747,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), - Column: int(68), + Line: int(231), + Column: int(30), }, End: ast.Location{ - Line: int(220), - Column: int(176), + Line: int(231), + Column: int(122), }, }, }, @@ -36098,11 +36770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(220), + Line: int(231), Column: int(5), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(66), }, }, @@ -36143,7 +36815,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p2295, + Ctx: p2357, FreeVars: ast.Identifiers{ "$std", "end", @@ -36156,11 +36828,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(204), + Line: int(206), Column: int(5), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(66), }, }, @@ -36177,11 +36849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(203), + Line: int(205), Column: int(9), }, End: ast.Location{ - Line: int(203), + Line: int(205), Column: int(18), }, }, @@ -36196,11 +36868,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(203), + Line: int(205), Column: int(20), }, End: ast.Location{ - Line: int(203), + Line: int(205), Column: int(25), }, }, @@ -36215,11 +36887,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(203), + Line: int(205), Column: int(27), }, End: ast.Location{ - Line: int(203), + Line: int(205), Column: int(30), }, }, @@ -36234,11 +36906,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(203), + Line: int(205), Column: int(32), }, End: ast.Location{ - Line: int(203), + Line: int(205), Column: int(36), }, }, @@ -36270,11 +36942,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(203), + Line: int(205), Column: int(3), }, End: ast.Location{ - Line: int(234), + Line: int(245), Column: int(66), }, }, @@ -36323,11 +36995,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(237), + Line: int(248), Column: int(8), }, End: ast.Location{ - Line: int(237), + Line: int(248), Column: int(11), }, }, @@ -36361,7 +37033,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "std", }, @@ -36369,11 +37041,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(237), + Line: int(248), Column: int(8), }, End: ast.Location{ - Line: int(237), + Line: int(248), Column: int(19), }, }, @@ -36387,7 +37059,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2558, + Ctx: p2601, FreeVars: ast.Identifiers{ "arr", }, @@ -36395,11 +37067,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(237), + Line: int(248), Column: int(20), }, End: ast.Location{ - Line: int(237), + Line: int(248), Column: int(23), }, }, @@ -36414,7 +37086,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "arr", "std", @@ -36423,11 +37095,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(237), + Line: int(248), Column: int(8), }, End: ast.Location{ - Line: int(237), + Line: int(248), Column: int(24), }, }, @@ -36440,17 +37112,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(238), + Line: int(249), Column: int(27), }, End: ast.Location{ - Line: int(238), + Line: int(249), Column: int(28), }, }, @@ -36477,11 +37149,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(238), + Line: int(249), Column: int(7), }, End: ast.Location{ - Line: int(238), + Line: int(249), Column: int(10), }, }, @@ -36515,7 +37187,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "std", }, @@ -36523,11 +37195,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(238), + Line: int(249), Column: int(7), }, End: ast.Location{ - Line: int(238), + Line: int(249), Column: int(16), }, }, @@ -36541,7 +37213,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2572, + Ctx: p2615, FreeVars: ast.Identifiers{ "arr", }, @@ -36549,11 +37221,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(238), + Line: int(249), Column: int(17), }, End: ast.Location{ - Line: int(238), + Line: int(249), Column: int(20), }, }, @@ -36566,7 +37238,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2572, + Ctx: p2615, FreeVars: ast.Identifiers{ "x", }, @@ -36574,11 +37246,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(238), + Line: int(249), Column: int(22), }, End: ast.Location{ - Line: int(238), + Line: int(249), Column: int(23), }, }, @@ -36593,7 +37265,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "arr", "std", @@ -36603,11 +37275,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(238), + Line: int(249), Column: int(7), }, End: ast.Location{ - Line: int(238), + Line: int(249), Column: int(24), }, }, @@ -36618,7 +37290,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "arr", "std", @@ -36628,11 +37300,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(238), + Line: int(249), Column: int(7), }, End: ast.Location{ - Line: int(238), + Line: int(249), Column: int(28), }, }, @@ -36654,11 +37326,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(239), + Line: int(250), Column: int(13), }, End: ast.Location{ - Line: int(239), + Line: int(250), Column: int(16), }, }, @@ -36692,7 +37364,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "std", }, @@ -36700,11 +37372,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(239), + Line: int(250), Column: int(13), }, End: ast.Location{ - Line: int(239), + Line: int(250), Column: int(25), }, }, @@ -36718,7 +37390,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2587, + Ctx: p2630, FreeVars: ast.Identifiers{ "arr", }, @@ -36726,11 +37398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(239), + Line: int(250), Column: int(26), }, End: ast.Location{ - Line: int(239), + Line: int(250), Column: int(29), }, }, @@ -36745,7 +37417,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "arr", "std", @@ -36754,11 +37426,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(239), + Line: int(250), Column: int(13), }, End: ast.Location{ - Line: int(239), + Line: int(250), Column: int(30), }, }, @@ -36771,17 +37443,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(44), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(45), }, }, @@ -36808,11 +37480,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(7), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(10), }, }, @@ -36846,7 +37518,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "std", }, @@ -36854,11 +37526,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(7), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(17), }, }, @@ -36882,11 +37554,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(18), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(21), }, }, @@ -36920,7 +37592,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2605, + Ctx: p2648, FreeVars: ast.Identifiers{ "std", }, @@ -36928,11 +37600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(18), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(32), }, }, @@ -36946,7 +37618,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2609, + Ctx: p2652, FreeVars: ast.Identifiers{ "x", }, @@ -36954,11 +37626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(33), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(34), }, }, @@ -36971,7 +37643,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2609, + Ctx: p2652, FreeVars: ast.Identifiers{ "arr", }, @@ -36979,11 +37651,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(36), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(39), }, }, @@ -36998,7 +37670,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2605, + Ctx: p2648, FreeVars: ast.Identifiers{ "arr", "std", @@ -37008,11 +37680,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(18), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(40), }, }, @@ -37029,7 +37701,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "arr", "std", @@ -37039,11 +37711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(7), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(41), }, }, @@ -37054,7 +37726,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "arr", "std", @@ -37064,11 +37736,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(240), + Line: int(251), Column: int(7), }, End: ast.Location{ - Line: int(240), + Line: int(251), Column: int(45), }, }, @@ -37082,17 +37754,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(241), + Line: int(252), Column: int(16), }, End: ast.Location{ - Line: int(241), + Line: int(252), Column: int(72), }, }, @@ -37101,17 +37773,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(241), + Line: int(252), Column: int(10), }, End: ast.Location{ - Line: int(241), + Line: int(252), Column: int(72), }, }, @@ -37128,7 +37800,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "arr", "std", @@ -37138,11 +37810,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(239), + Line: int(250), Column: int(10), }, End: ast.Location{ - Line: int(241), + Line: int(252), Column: int(72), }, }, @@ -37166,7 +37838,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p2554, + Ctx: p2597, FreeVars: ast.Identifiers{ "arr", "std", @@ -37176,11 +37848,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(237), + Line: int(248), Column: int(5), }, End: ast.Location{ - Line: int(241), + Line: int(252), Column: int(72), }, }, @@ -37197,11 +37869,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(236), + Line: int(247), Column: int(10), }, End: ast.Location{ - Line: int(236), + Line: int(247), Column: int(13), }, }, @@ -37216,11 +37888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(236), + Line: int(247), Column: int(15), }, End: ast.Location{ - Line: int(236), + Line: int(247), Column: int(16), }, }, @@ -37251,11 +37923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(236), + Line: int(247), Column: int(3), }, End: ast.Location{ - Line: int(241), + Line: int(252), Column: int(72), }, }, @@ -37303,11 +37975,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(19), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(22), }, }, @@ -37341,7 +38013,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2632, + Ctx: p2675, FreeVars: ast.Identifiers{ "std", }, @@ -37349,11 +38021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(19), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(29), }, }, @@ -37377,11 +38049,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(30), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(33), }, }, @@ -37415,7 +38087,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2640, + Ctx: p2683, FreeVars: ast.Identifiers{ "std", }, @@ -37423,11 +38095,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(30), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(40), }, }, @@ -37445,7 +38117,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2646, + Ctx: p2689, FreeVars: ast.Identifiers{ "x", }, @@ -37453,11 +38125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(58), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(59), }, }, @@ -37467,7 +38139,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2646, + Ctx: p2689, FreeVars: ast.Identifiers{ "v", }, @@ -37475,11 +38147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(53), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(54), }, }, @@ -37488,7 +38160,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2646, + Ctx: p2689, FreeVars: ast.Identifiers{ "v", "x", @@ -37497,11 +38169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(53), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(59), }, }, @@ -37519,11 +38191,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(50), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(51), }, }, @@ -37531,7 +38203,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2652, + Ctx: p2695, FreeVars: ast.Identifiers{ "x", }, @@ -37539,11 +38211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(41), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(59), }, }, @@ -37557,7 +38229,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2652, + Ctx: p2695, FreeVars: ast.Identifiers{ "arr", }, @@ -37565,11 +38237,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(61), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(64), }, }, @@ -37584,7 +38256,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2640, + Ctx: p2683, FreeVars: ast.Identifiers{ "arr", "std", @@ -37594,11 +38266,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(30), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(65), }, }, @@ -37615,7 +38287,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2632, + Ctx: p2675, FreeVars: ast.Identifiers{ "arr", "std", @@ -37625,11 +38297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(19), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(66), }, }, @@ -37648,11 +38320,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(9), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(12), }, }, @@ -37667,11 +38339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(14), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(15), }, }, @@ -37702,11 +38374,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(243), + Line: int(254), Column: int(3), }, End: ast.Location{ - Line: int(243), + Line: int(254), Column: int(66), }, }, @@ -37756,11 +38428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(246), + Line: int(257), Column: int(27), }, End: ast.Location{ - Line: int(246), + Line: int(257), Column: int(30), }, }, @@ -37794,7 +38466,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "std", }, @@ -37802,11 +38474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(246), + Line: int(257), Column: int(27), }, End: ast.Location{ - Line: int(246), + Line: int(257), Column: int(39), }, }, @@ -37820,7 +38492,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2673, + Ctx: p2716, FreeVars: ast.Identifiers{ "b", }, @@ -37828,11 +38500,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(246), + Line: int(257), Column: int(40), }, End: ast.Location{ - Line: int(246), + Line: int(257), Column: int(41), }, }, @@ -37847,7 +38519,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "b", "std", @@ -37856,11 +38528,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(246), + Line: int(257), Column: int(27), }, End: ast.Location{ - Line: int(246), + Line: int(257), Column: int(42), }, }, @@ -37882,11 +38554,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(246), + Line: int(257), Column: int(8), }, End: ast.Location{ - Line: int(246), + Line: int(257), Column: int(11), }, }, @@ -37920,317 +38592,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(246), - Column: int(8), - }, - End: ast.Location{ - Line: int(246), - Column: int(20), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "a", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2684, - FreeVars: ast.Identifiers{ - "a", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(246), - Column: int(21), - }, - End: ast.Location{ - Line: int(246), - Column: int(22), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2669, - FreeVars: ast.Identifiers{ - "a", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(246), - Column: int(8), - }, - End: ast.Location{ - Line: int(246), - Column: int(23), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2669, - FreeVars: ast.Identifiers{ - "a", - "b", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(246), - Column: int(8), - }, - End: ast.Location{ - Line: int(246), - Column: int(42), - }, - }, - }, - Op: ast.BinaryOp(17), - }, - BranchTrue: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(247), - Column: int(7), - }, - End: ast.Location{ - Line: int(247), - Column: int(10), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "modulo", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2669, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(247), - Column: int(7), - }, - End: ast.Location{ - Line: int(247), - Column: int(17), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "a", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2697, - FreeVars: ast.Identifiers{ - "a", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(247), - Column: int(18), - }, - End: ast.Location{ - Line: int(247), - Column: int(19), - }, - }, - }, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "b", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2697, - FreeVars: ast.Identifiers{ - "b", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(247), - Column: int(21), - }, - End: ast.Location{ - Line: int(247), - Column: int(22), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2669, - FreeVars: ast.Identifiers{ - "a", - "b", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(247), - Column: int(7), - }, - End: ast.Location{ - Line: int(247), - Column: int(23), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - BranchFalse: &ast.Conditional{ - Cond: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(248), - Column: int(13), - }, - End: ast.Location{ - Line: int(248), - Column: int(16), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "isString", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "std", }, @@ -38238,11 +38600,321 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(248), + Line: int(257), + Column: int(8), + }, + End: ast.Location{ + Line: int(257), + Column: int(20), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2727, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(257), + Column: int(21), + }, + End: ast.Location{ + Line: int(257), + Column: int(22), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2712, + FreeVars: ast.Identifiers{ + "a", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(257), + Column: int(8), + }, + End: ast.Location{ + Line: int(257), + Column: int(23), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2712, + FreeVars: ast.Identifiers{ + "a", + "b", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(257), + Column: int(8), + }, + End: ast.Location{ + Line: int(257), + Column: int(42), + }, + }, + }, + Op: ast.BinaryOp(17), + }, + BranchTrue: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(258), + Column: int(7), + }, + End: ast.Location{ + Line: int(258), + Column: int(10), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "modulo", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2712, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(258), + Column: int(7), + }, + End: ast.Location{ + Line: int(258), + Column: int(17), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2740, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(258), + Column: int(18), + }, + End: ast.Location{ + Line: int(258), + Column: int(19), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2740, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(258), + Column: int(21), + }, + End: ast.Location{ + Line: int(258), + Column: int(22), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2712, + FreeVars: ast.Identifiers{ + "a", + "b", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(258), + Column: int(7), + }, + End: ast.Location{ + Line: int(258), + Column: int(23), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchFalse: &ast.Conditional{ + Cond: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(259), + Column: int(13), + }, + End: ast.Location{ + Line: int(259), + Column: int(16), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isString", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2712, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(259), Column: int(13), }, End: ast.Location{ - Line: int(248), + Line: int(259), Column: int(25), }, }, @@ -38256,7 +38928,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2711, + Ctx: p2754, FreeVars: ast.Identifiers{ "a", }, @@ -38264,11 +38936,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(248), + Line: int(259), Column: int(26), }, End: ast.Location{ - Line: int(248), + Line: int(259), Column: int(27), }, }, @@ -38283,7 +38955,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "std", @@ -38292,11 +38964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(248), + Line: int(259), Column: int(13), }, End: ast.Location{ - Line: int(248), + Line: int(259), Column: int(28), }, }, @@ -38325,11 +38997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(249), + Line: int(260), Column: int(7), }, End: ast.Location{ - Line: int(249), + Line: int(260), Column: int(10), }, }, @@ -38363,7 +39035,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "std", }, @@ -38371,11 +39043,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(249), + Line: int(260), Column: int(7), }, End: ast.Location{ - Line: int(249), + Line: int(260), Column: int(17), }, }, @@ -38389,7 +39061,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2723, + Ctx: p2766, FreeVars: ast.Identifiers{ "a", }, @@ -38397,11 +39069,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(249), + Line: int(260), Column: int(18), }, End: ast.Location{ - Line: int(249), + Line: int(260), Column: int(19), }, }, @@ -38414,7 +39086,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2723, + Ctx: p2766, FreeVars: ast.Identifiers{ "b", }, @@ -38422,11 +39094,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(249), + Line: int(260), Column: int(21), }, End: ast.Location{ - Line: int(249), + Line: int(260), Column: int(22), }, }, @@ -38441,7 +39113,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "b", @@ -38451,11 +39123,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(249), + Line: int(260), Column: int(7), }, End: ast.Location{ - Line: int(249), + Line: int(260), Column: int(23), }, }, @@ -38471,17 +39143,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(91), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(94), }, }, @@ -38503,11 +39175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(77), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(80), }, }, @@ -38541,7 +39213,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "std", }, @@ -38549,11 +39221,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(77), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(85), }, }, @@ -38567,7 +39239,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2740, + Ctx: p2783, FreeVars: ast.Identifiers{ "b", }, @@ -38575,11 +39247,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(86), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(87), }, }, @@ -38594,7 +39266,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "b", "std", @@ -38603,11 +39275,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(77), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(88), }, }, @@ -38622,17 +39294,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(67), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(74), }, }, @@ -38654,11 +39326,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(53), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(56), }, }, @@ -38692,7 +39364,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "std", }, @@ -38700,11 +39372,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(53), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(61), }, }, @@ -38718,7 +39390,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2754, + Ctx: p2797, FreeVars: ast.Identifiers{ "a", }, @@ -38726,11 +39398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(62), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(63), }, }, @@ -38745,7 +39417,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "std", @@ -38754,11 +39426,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(53), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(64), }, }, @@ -38772,17 +39444,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(13), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(50), }, }, @@ -38792,7 +39464,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "std", @@ -38801,11 +39473,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(13), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(64), }, }, @@ -38815,7 +39487,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "std", @@ -38824,11 +39496,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(13), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(74), }, }, @@ -38838,7 +39510,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "b", @@ -38848,11 +39520,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(13), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(88), }, }, @@ -38862,7 +39534,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "b", @@ -38872,11 +39544,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(13), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(94), }, }, @@ -38892,7 +39564,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "b", @@ -38902,11 +39574,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(251), + Line: int(262), Column: int(7), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(94), }, }, @@ -38923,7 +39595,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "b", @@ -38933,11 +39605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(248), + Line: int(259), Column: int(10), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(94), }, }, @@ -38961,7 +39633,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p2669, + Ctx: p2712, FreeVars: ast.Identifiers{ "a", "b", @@ -38971,11 +39643,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(246), + Line: int(257), Column: int(5), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(94), }, }, @@ -38992,11 +39664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(245), + Line: int(256), Column: int(7), }, End: ast.Location{ - Line: int(245), + Line: int(256), Column: int(8), }, }, @@ -39011,11 +39683,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(245), + Line: int(256), Column: int(10), }, End: ast.Location{ - Line: int(245), + Line: int(256), Column: int(11), }, }, @@ -39046,11 +39718,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(245), + Line: int(256), Column: int(3), }, End: ast.Location{ - Line: int(251), + Line: int(262), Column: int(94), }, }, @@ -39059,7 +39731,66 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "map", + Value: "pi", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.LiteralNumber{ + OriginalString: "3.14159265358979311600", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p23, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(265), + Column: int(8), + }, + End: ast.Location{ + Line: int(265), + Column: int(30), + }, + }, + }, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(265), + Column: int(3), + }, + End: ast.Location{ + Line: int(265), + Column: int(30), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "deg2rad", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -39084,61 +39815,34 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Function{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, - Body: &ast.Conditional{ - Cond: &ast.Unary{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(254), - Column: int(9), - }, - End: ast.Location{ - Line: int(254), - Column: int(12), - }, - }, - }, + Body: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "180", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2820, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(267), + Column: int(29), }, - Index: &ast.LiteralString{ - Value: "isFunction", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), + End: ast.Location{ + Line: int(267), + Column: int(32), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + }, + }, + }, + Left: &ast.Binary{ + Right: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: nil, FreeVars: ast.Identifiers{ "std", }, @@ -39146,881 +39850,944 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(254), - Column: int(9), + Line: int(267), + Column: int(20), }, End: ast.Location{ - Line: int(254), + Line: int(267), Column: int(23), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "func", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2784, - FreeVars: ast.Identifiers{ - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(254), - Column: int(24), - }, - End: ast.Location{ - Line: int(254), - Column: int(28), - }, - }, - }, + Index: &ast.LiteralString{ + Value: "pi", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), }, - CommaFodder: nil, }, }, - Named: nil, + Kind: ast.LiteralStringKind(1), }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: p2820, FreeVars: ast.Identifiers{ - "func", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(254), - Column: int(9), + Line: int(267), + Column: int(20), }, End: ast.Location{ - Line: int(254), - Column: int(29), + Line: int(267), + Column: int(26), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2820, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(267), + Column: int(16), + }, + End: ast.Location{ + Line: int(267), + Column: int(17), }, }, }, - TrailingComma: false, - TailStrict: false, }, + OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: p2820, FreeVars: ast.Identifiers{ - "func", "std", + "x", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(254), - Column: int(8), + Line: int(267), + Column: int(16), }, End: ast.Location{ - Line: int(254), - Column: int(29), + Line: int(267), + Column: int(26), }, }, }, - Op: ast.UnaryOp(0), + Op: ast.BinaryOp(0), }, - BranchTrue: &ast.Error{ - Expr: &ast.Binary{ - Right: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(255), - Column: int(61), - }, - End: ast.Location{ - Line: int(255), - Column: int(64), - }, - }, - }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2820, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(267), + Column: int(16), + }, + End: ast.Location{ + Line: int(267), + Column: int(32), + }, + }, + }, + Op: ast.BinaryOp(1), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(267), + Column: int(11), + }, + End: ast.Location{ + Line: int(267), + Column: int(12), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(267), + Column: int(3), + }, + End: ast.Location{ + Line: int(267), + Column: int(32), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "rad2deg", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(268), + Column: int(26), }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), + End: ast.Location{ + Line: int(268), + Column: int(29), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(255), - Column: int(61), - }, - End: ast.Location{ - Line: int(255), - Column: int(69), - }, - }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "pi", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "func", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2798, - FreeVars: ast.Identifiers{ - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(255), - Column: int(70), - }, - End: ast.Location{ - Line: int(255), - Column: int(74), - }, - }, - }, - }, - CommaFodder: nil, - }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2840, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(268), + Column: int(26), + }, + End: ast.Location{ + Line: int(268), + Column: int(32), + }, + }, + }, + }, + Left: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "180", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2840, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(268), + Column: int(20), + }, + End: ast.Location{ + Line: int(268), + Column: int(23), }, - Named: nil, }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + }, + }, + Left: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2840, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(268), + Column: int(16), + }, + End: ast.Location{ + Line: int(268), + Column: int(17), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2840, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(268), + Column: int(16), + }, + End: ast.Location{ + Line: int(268), + Column: int(23), + }, + }, + }, + Op: ast.BinaryOp(0), + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2840, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(268), + Column: int(16), + }, + End: ast.Location{ + Line: int(268), + Column: int(32), + }, + }, + }, + Op: ast.BinaryOp(1), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(268), + Column: int(11), + }, + End: ast.Location{ + Line: int(268), + Column: int(12), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(268), + Column: int(3), + }, + End: ast.Location{ + Line: int(268), + Column: int(32), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "log2", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: nil, FreeVars: ast.Identifiers{ - "func", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(255), - Column: int(61), + Line: int(270), + Column: int(26), }, End: ast.Location{ - Line: int(255), - Column: int(75), + Line: int(270), + Column: int(29), }, }, }, - TrailingComma: false, - TailStrict: false, }, - Left: &ast.LiteralString{ - Value: "std.map first param must be function, got ", + Index: &ast.LiteralString{ + Value: "log", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(255), - Column: int(14), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(255), - Column: int(58), + Line: int(0), + Column: int(0), }, }, }, Kind: ast.LiteralStringKind(1), }, - OpFodder: ast.Fodder{}, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: p2858, FreeVars: ast.Identifiers{ - "func", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(255), - Column: int(14), + Line: int(270), + Column: int(26), }, End: ast.Location{ - Line: int(255), - Column: int(75), + Line: int(270), + Column: int(33), }, }, }, - Op: ast.BinaryOp(3), }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "2", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2862, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(270), + Column: int(34), + }, + End: ast.Location{ + Line: int(270), + Column: int(35), + }, + }, + }, + }, + CommaFodder: nil, }, }, - Ctx: p2780, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2858, FreeVars: ast.Identifiers{ - "func", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(255), - Column: int(7), + Line: int(270), + Column: int(26), }, End: ast.Location{ - Line: int(255), - Column: int(76), + Line: int(270), + Column: int(36), }, }, }, + TrailingComma: false, + TailStrict: false, }, - BranchFalse: &ast.Conditional{ - Cond: &ast.Binary{ - Right: &ast.Unary{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(256), - Column: int(35), - }, - End: ast.Location{ - Line: int(256), - Column: int(38), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "isString", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(256), - Column: int(35), - }, - End: ast.Location{ - Line: int(256), - Column: int(47), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2816, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(256), - Column: int(48), - }, - End: ast.Location{ - Line: int(256), - Column: int(51), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(256), - Column: int(35), - }, - End: ast.Location{ - Line: int(256), - Column: int(52), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(256), - Column: int(34), + Line: int(270), + Column: int(13), }, End: ast.Location{ - Line: int(256), - Column: int(52), + Line: int(270), + Column: int(16), }, }, }, - Op: ast.UnaryOp(0), }, - Left: &ast.Unary{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(256), - Column: int(14), - }, - End: ast.Location{ - Line: int(256), - Column: int(17), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "isArray", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(256), - Column: int(14), - }, - End: ast.Location{ - Line: int(256), - Column: int(25), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2829, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(256), - Column: int(26), - }, - End: ast.Location{ - Line: int(256), - Column: int(29), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(256), - Column: int(14), - }, - End: ast.Location{ - Line: int(256), - Column: int(30), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, + Index: &ast.LiteralString{ + Value: "log", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(256), - Column: int(13), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(256), - Column: int(30), + Line: int(0), + Column: int(0), }, }, }, - Op: ast.UnaryOp(0), + Kind: ast.LiteralStringKind(1), }, - OpFodder: ast.Fodder{}, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: p2858, FreeVars: ast.Identifiers{ - "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(256), + Line: int(270), Column: int(13), }, End: ast.Location{ - Line: int(256), - Column: int(52), + Line: int(270), + Column: int(20), }, }, }, - Op: ast.BinaryOp(17), }, - BranchTrue: &ast.Error{ - Expr: &ast.Binary{ - Right: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2872, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(270), + Column: int(21), }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(257), - Column: int(68), - }, - End: ast.Location{ - Line: int(257), - Column: int(71), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(257), - Column: int(68), - }, - End: ast.Location{ - Line: int(257), - Column: int(76), + End: ast.Location{ + Line: int(270), + Column: int(22), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2844, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(257), - Column: int(77), - }, - End: ast.Location{ - Line: int(257), - Column: int(80), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(257), - Column: int(68), - }, - End: ast.Location{ - Line: int(257), - Column: int(81), - }, - }, - }, - TrailingComma: false, - TailStrict: false, + CommaFodder: nil, }, - Left: &ast.LiteralString{ - Value: "std.map second param must be array / string, got ", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2780, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(257), - Column: int(14), - }, - End: ast.Location{ - Line: int(257), - Column: int(65), - }, - }, - }, - Kind: ast.LiteralStringKind(1), + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2858, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(270), + Column: int(13), }, - OpFodder: ast.Fodder{}, + End: ast.Location{ + Line: int(270), + Column: int(23), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2858, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(270), + Column: int(13), + }, + End: ast.Location{ + Line: int(270), + Column: int(36), + }, + }, + }, + Op: ast.BinaryOp(1), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(270), + Column: int(8), + }, + End: ast.Location{ + Line: int(270), + Column: int(9), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(270), + Column: int(3), + }, + End: ast.Location{ + Line: int(270), + Column: int(36), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "log10", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(257), - Column: int(14), + Line: int(271), + Column: int(27), }, End: ast.Location{ - Line: int(257), - Column: int(81), + Line: int(271), + Column: int(30), }, }, }, - Op: ast.BinaryOp(3), }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), + Index: &ast.LiteralString{ + Value: "log", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, }, }, - Ctx: p2780, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2886, FreeVars: ast.Identifiers{ - "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(257), - Column: int(7), + Line: int(271), + Column: int(27), }, End: ast.Location{ - Line: int(257), - Column: int(82), + Line: int(271), + Column: int(34), }, }, }, }, - BranchFalse: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(7), - }, - End: ast.Location{ - Line: int(259), - Column: int(10), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "10", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2890, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(271), + Column: int(35), + }, + End: ast.Location{ + Line: int(271), + Column: int(37), + }, }, }, }, + CommaFodder: nil, }, - Index: &ast.LiteralString{ - Value: "makeArray", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2886, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(271), + Column: int(27), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + End: ast.Location{ + Line: int(271), + Column: int(38), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: nil, FreeVars: ast.Identifiers{ "std", }, @@ -40028,445 +40795,145 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(259), - Column: int(7), + Line: int(271), + Column: int(14), }, End: ast.Location{ - Line: int(259), - Column: int(20), + Line: int(271), + Column: int(17), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(21), - }, - End: ast.Location{ - Line: int(259), - Column: int(24), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "length", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2864, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(21), - }, - End: ast.Location{ - Line: int(259), - Column: int(31), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2868, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(32), - }, - End: ast.Location{ - Line: int(259), - Column: int(35), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2864, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(21), - }, - End: ast.Location{ - Line: int(259), - Column: int(36), - }, - }, - }, - TrailingComma: false, - TailStrict: false, + Index: &ast.LiteralString{ + Value: "log", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Apply{ - Target: &ast.Var{ - Id: "func", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2874, - FreeVars: ast.Identifiers{ - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(50), - }, - End: ast.Location{ - Line: int(259), - Column: int(54), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Index{ - Target: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2879, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(55), - }, - End: ast.Location{ - Line: int(259), - Column: int(58), - }, - }, - }, - }, - Index: &ast.Var{ - Id: "i", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2879, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(59), - }, - End: ast.Location{ - Line: int(259), - Column: int(60), - }, - }, - }, - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2879, - FreeVars: ast.Identifiers{ - "arr", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(55), - }, - End: ast.Location{ - Line: int(259), - Column: int(61), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2874, - FreeVars: ast.Identifiers{ - "arr", - "func", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(50), - }, - End: ast.Location{ - Line: int(259), - Column: int(62), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "i", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(47), - }, - End: ast.Location{ - Line: int(259), - Column: int(48), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p2864, - FreeVars: ast.Identifiers{ - "arr", - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(259), - Column: int(38), - }, - End: ast.Location{ - Line: int(259), - Column: int(62), - }, - }, - }, - TrailingComma: false, + End: ast.Location{ + Line: int(0), + Column: int(0), }, - CommaFodder: nil, }, }, - Named: nil, + Kind: ast.LiteralStringKind(1), }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: p2886, FreeVars: ast.Identifiers{ - "arr", - "func", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(259), - Column: int(7), + Line: int(271), + Column: int(14), }, End: ast.Location{ - Line: int(259), - Column: int(63), + Line: int(271), + Column: int(21), }, }, }, - TrailingComma: false, - TailStrict: false, }, - ThenFodder: ast.Fodder{}, - ElseFodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p2900, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(271), + Column: int(22), + }, + End: ast.Location{ + Line: int(271), + Column: int(23), + }, + }, + }, + }, + CommaFodder: nil, + }, }, + Named: nil, }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2780, + Ctx: p2886, FreeVars: ast.Identifiers{ - "arr", - "func", "std", + "x", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(256), - Column: int(10), + Line: int(271), + Column: int(14), }, End: ast.Location{ - Line: int(259), - Column: int(63), + Line: int(271), + Column: int(24), }, }, }, + TrailingComma: false, + TailStrict: false, }, - ThenFodder: ast.Fodder{}, - ElseFodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, + OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - Ctx: p2780, + Fodder: ast.Fodder{}, + Ctx: p2886, FreeVars: ast.Identifiers{ - "arr", - "func", "std", + "x", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(254), - Column: int(5), + Line: int(271), + Column: int(14), }, End: ast.Location{ - Line: int(259), - Column: int(63), + Line: int(271), + Column: int(38), }, }, }, + Op: ast.BinaryOp(1), }, Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "func", - CommaFodder: ast.Fodder{}, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(253), - Column: int(7), - }, - End: ast.Location{ - Line: int(253), - Column: int(11), - }, - }, - }, - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "arr", + Name: "x", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -40474,12 +40941,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(253), - Column: int(13), + Line: int(271), + Column: int(9), }, End: ast.Location{ - Line: int(253), - Column: int(16), + Line: int(271), + Column: int(10), }, }, }, @@ -40509,12 +40976,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(253), + Line: int(271), Column: int(3), }, End: ast.Location{ - Line: int(259), - Column: int(63), + Line: int(271), + Column: int(38), }, }, Hide: ast.ObjectFieldHide(0), @@ -40522,7 +40989,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "mapWithIndex", + Value: "map", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -40563,11 +41030,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(262), + Line: int(274), Column: int(9), }, End: ast.Location{ - Line: int(262), + Line: int(274), Column: int(12), }, }, @@ -40601,7 +41068,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "std", }, @@ -40609,11 +41076,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(262), + Line: int(274), Column: int(9), }, End: ast.Location{ - Line: int(262), + Line: int(274), Column: int(23), }, }, @@ -40627,7 +41094,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2908, + Ctx: p2919, FreeVars: ast.Identifiers{ "func", }, @@ -40635,11 +41102,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(262), + Line: int(274), Column: int(24), }, End: ast.Location{ - Line: int(262), + Line: int(274), Column: int(28), }, }, @@ -40654,7 +41121,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "func", "std", @@ -40663,11 +41130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(262), + Line: int(274), Column: int(9), }, End: ast.Location{ - Line: int(262), + Line: int(274), Column: int(29), }, }, @@ -40677,7 +41144,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "func", "std", @@ -40686,11 +41153,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(262), + Line: int(274), Column: int(8), }, End: ast.Location{ - Line: int(262), + Line: int(274), Column: int(29), }, }, @@ -40713,12 +41180,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(263), - Column: int(70), + Line: int(275), + Column: int(61), }, End: ast.Location{ - Line: int(263), - Column: int(73), + Line: int(275), + Column: int(64), }, }, }, @@ -40751,7 +41218,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "std", }, @@ -40759,12 +41226,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(263), - Column: int(70), + Line: int(275), + Column: int(61), }, End: ast.Location{ - Line: int(263), - Column: int(78), + Line: int(275), + Column: int(69), }, }, }, @@ -40777,7 +41244,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2922, + Ctx: p2933, FreeVars: ast.Identifiers{ "func", }, @@ -40785,12 +41252,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(263), - Column: int(79), + Line: int(275), + Column: int(70), }, End: ast.Location{ - Line: int(263), - Column: int(83), + Line: int(275), + Column: int(74), }, }, }, @@ -40804,7 +41271,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "func", "std", @@ -40813,12 +41280,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(263), - Column: int(70), + Line: int(275), + Column: int(61), }, End: ast.Location{ - Line: int(263), - Column: int(84), + Line: int(275), + Column: int(75), }, }, }, @@ -40826,23 +41293,23 @@ var _StdAst = &ast.DesugaredObject{ TailStrict: false, }, Left: &ast.LiteralString{ - Value: "std.mapWithIndex first param must be function, got ", + Value: "std.map first param must be function, got ", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(263), + Line: int(275), Column: int(14), }, End: ast.Location{ - Line: int(263), - Column: int(67), + Line: int(275), + Column: int(58), }, }, }, @@ -40851,7 +41318,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "func", "std", @@ -40860,12 +41327,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(263), + Line: int(275), Column: int(14), }, End: ast.Location{ - Line: int(263), - Column: int(84), + Line: int(275), + Column: int(75), }, }, }, @@ -40880,7 +41347,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "func", "std", @@ -40889,12 +41356,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(263), + Line: int(275), Column: int(7), }, End: ast.Location{ - Line: int(263), - Column: int(85), + Line: int(275), + Column: int(76), }, }, }, @@ -40916,11 +41383,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(35), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(38), }, }, @@ -40954,7 +41421,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "std", }, @@ -40962,11 +41429,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(35), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(47), }, }, @@ -40980,7 +41447,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2940, + Ctx: p2951, FreeVars: ast.Identifiers{ "arr", }, @@ -40988,11 +41455,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(48), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(51), }, }, @@ -41007,7 +41474,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "std", @@ -41016,11 +41483,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(35), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(52), }, }, @@ -41030,7 +41497,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "std", @@ -41039,11 +41506,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(34), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(52), }, }, @@ -41065,11 +41532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(14), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(17), }, }, @@ -41103,7 +41570,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "std", }, @@ -41111,11 +41578,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(14), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(25), }, }, @@ -41129,7 +41596,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2953, + Ctx: p2964, FreeVars: ast.Identifiers{ "arr", }, @@ -41137,11 +41604,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(26), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(29), }, }, @@ -41156,7 +41623,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "std", @@ -41165,11 +41632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(14), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(30), }, }, @@ -41179,7 +41646,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "std", @@ -41188,11 +41655,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(13), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(30), }, }, @@ -41202,7 +41669,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "std", @@ -41211,11 +41678,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(13), }, End: ast.Location{ - Line: int(264), + Line: int(276), Column: int(52), }, }, @@ -41238,11 +41705,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(265), + Line: int(277), Column: int(68), }, End: ast.Location{ - Line: int(265), + Line: int(277), Column: int(71), }, }, @@ -41276,7 +41743,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "std", }, @@ -41284,11 +41751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(265), + Line: int(277), Column: int(68), }, End: ast.Location{ - Line: int(265), + Line: int(277), Column: int(76), }, }, @@ -41302,7 +41769,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2968, + Ctx: p2979, FreeVars: ast.Identifiers{ "arr", }, @@ -41310,11 +41777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(265), + Line: int(277), Column: int(77), }, End: ast.Location{ - Line: int(265), + Line: int(277), Column: int(80), }, }, @@ -41329,7 +41796,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "std", @@ -41338,11 +41805,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(265), + Line: int(277), Column: int(68), }, End: ast.Location{ - Line: int(265), + Line: int(277), Column: int(81), }, }, @@ -41351,22 +41818,22 @@ var _StdAst = &ast.DesugaredObject{ TailStrict: false, }, Left: &ast.LiteralString{ - Value: "std.mapWithIndex second param must be array, got ", + Value: "std.map second param must be array / string, got ", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(265), + Line: int(277), Column: int(14), }, End: ast.Location{ - Line: int(265), + Line: int(277), Column: int(65), }, }, @@ -41376,7 +41843,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "std", @@ -41385,11 +41852,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(265), + Line: int(277), Column: int(14), }, End: ast.Location{ - Line: int(265), + Line: int(277), Column: int(81), }, }, @@ -41405,7 +41872,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "std", @@ -41414,11 +41881,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(265), + Line: int(277), Column: int(7), }, End: ast.Location{ - Line: int(265), + Line: int(277), Column: int(82), }, }, @@ -41445,11 +41912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(7), }, End: ast.Location{ - Line: int(267), + Line: int(279), Column: int(10), }, }, @@ -41483,7 +41950,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "std", }, @@ -41491,11 +41958,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(7), }, End: ast.Location{ - Line: int(267), + Line: int(279), Column: int(20), }, }, @@ -41519,11 +41986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(21), }, End: ast.Location{ - Line: int(267), + Line: int(279), Column: int(24), }, }, @@ -41557,7 +42024,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2988, + Ctx: p2999, FreeVars: ast.Identifiers{ "std", }, @@ -41565,11 +42032,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(21), }, End: ast.Location{ - Line: int(267), + Line: int(279), Column: int(31), }, }, @@ -41583,7 +42050,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2992, + Ctx: p3003, FreeVars: ast.Identifiers{ "arr", }, @@ -41591,11 +42058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(32), }, End: ast.Location{ - Line: int(267), + Line: int(279), Column: int(35), }, }, @@ -41610,7 +42077,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2988, + Ctx: p2999, FreeVars: ast.Identifiers{ "arr", "std", @@ -41619,11 +42086,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(21), }, End: ast.Location{ - Line: int(267), + Line: int(279), Column: int(36), }, }, @@ -41642,7 +42109,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2998, + Ctx: p3009, FreeVars: ast.Identifiers{ "func", }, @@ -41650,11 +42117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(50), }, End: ast.Location{ - Line: int(267), + Line: int(279), Column: int(54), }, }, @@ -41663,38 +42130,13 @@ var _StdAst = &ast.DesugaredObject{ FodderLeft: ast.Fodder{}, Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "i", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3002, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(267), - Column: int(55), - }, - End: ast.Location{ - Line: int(267), - Column: int(56), - }, - }, - }, - }, - CommaFodder: ast.Fodder{}, - }, ast.CommaSeparatedExpr{ Expr: &ast.Index{ Target: &ast.Var{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3002, + Ctx: p3014, FreeVars: ast.Identifiers{ "arr", }, @@ -41702,12 +42144,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), - Column: int(58), + Line: int(279), + Column: int(55), }, End: ast.Location{ - Line: int(267), - Column: int(61), + Line: int(279), + Column: int(58), }, }, }, @@ -41716,7 +42158,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3002, + Ctx: p3014, FreeVars: ast.Identifiers{ "i", }, @@ -41724,12 +42166,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), - Column: int(62), + Line: int(279), + Column: int(59), }, End: ast.Location{ - Line: int(267), - Column: int(63), + Line: int(279), + Column: int(60), }, }, }, @@ -41739,7 +42181,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3002, + Ctx: p3014, FreeVars: ast.Identifiers{ "arr", "i", @@ -41748,12 +42190,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), - Column: int(58), + Line: int(279), + Column: int(55), }, End: ast.Location{ - Line: int(267), - Column: int(64), + Line: int(279), + Column: int(61), }, }, }, @@ -41767,7 +42209,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2998, + Ctx: p3009, FreeVars: ast.Identifiers{ "arr", "func", @@ -41777,12 +42219,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(50), }, End: ast.Location{ - Line: int(267), - Column: int(65), + Line: int(279), + Column: int(62), }, }, }, @@ -41800,11 +42242,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(47), }, End: ast.Location{ - Line: int(267), + Line: int(279), Column: int(48), }, }, @@ -41812,7 +42254,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2988, + Ctx: p2999, FreeVars: ast.Identifiers{ "arr", "func", @@ -41821,12 +42263,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(38), }, End: ast.Location{ - Line: int(267), - Column: int(65), + Line: int(279), + Column: int(62), }, }, }, @@ -41841,7 +42283,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "func", @@ -41851,12 +42293,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(267), + Line: int(279), Column: int(7), }, End: ast.Location{ - Line: int(267), - Column: int(66), + Line: int(279), + Column: int(63), }, }, }, @@ -41874,7 +42316,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "func", @@ -41884,12 +42326,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(264), + Line: int(276), Column: int(10), }, End: ast.Location{ - Line: int(267), - Column: int(66), + Line: int(279), + Column: int(63), }, }, }, @@ -41912,7 +42354,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p2904, + Ctx: p2915, FreeVars: ast.Identifiers{ "arr", "func", @@ -41922,12 +42364,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(262), + Line: int(274), Column: int(5), }, End: ast.Location{ - Line: int(267), - Column: int(66), + Line: int(279), + Column: int(63), }, }, }, @@ -41943,12 +42385,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(261), - Column: int(16), + Line: int(273), + Column: int(7), }, End: ast.Location{ - Line: int(261), - Column: int(20), + Line: int(273), + Column: int(11), }, }, }, @@ -41962,12 +42404,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(261), - Column: int(22), + Line: int(273), + Column: int(13), }, End: ast.Location{ - Line: int(261), - Column: int(25), + Line: int(273), + Column: int(16), }, }, }, @@ -41997,12 +42439,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(261), + Line: int(273), Column: int(3), }, End: ast.Location{ - Line: int(267), - Column: int(66), + Line: int(279), + Column: int(63), }, }, Hide: ast.ObjectFieldHide(0), @@ -42010,7 +42452,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "mapWithKey", + Value: "mapWithIndex", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -42051,11 +42493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(270), + Line: int(282), Column: int(9), }, End: ast.Location{ - Line: int(270), + Line: int(282), Column: int(12), }, }, @@ -42089,7 +42531,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ "std", }, @@ -42097,11 +42539,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(270), + Line: int(282), Column: int(9), }, End: ast.Location{ - Line: int(270), + Line: int(282), Column: int(23), }, }, @@ -42115,7 +42557,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3034, + Ctx: p3043, FreeVars: ast.Identifiers{ "func", }, @@ -42123,11 +42565,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(270), + Line: int(282), Column: int(24), }, End: ast.Location{ - Line: int(270), + Line: int(282), Column: int(28), }, }, @@ -42142,7 +42584,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ "func", "std", @@ -42151,11 +42593,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(270), + Line: int(282), Column: int(9), }, End: ast.Location{ - Line: int(270), + Line: int(282), Column: int(29), }, }, @@ -42165,7 +42607,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ "func", "std", @@ -42174,11 +42616,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(270), + Line: int(282), Column: int(8), }, End: ast.Location{ - Line: int(270), + Line: int(282), Column: int(29), }, }, @@ -42201,12 +42643,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(271), - Column: int(68), + Line: int(283), + Column: int(70), }, End: ast.Location{ - Line: int(271), - Column: int(71), + Line: int(283), + Column: int(73), }, }, }, @@ -42239,7 +42681,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ "std", }, @@ -42247,12 +42689,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(271), - Column: int(68), + Line: int(283), + Column: int(70), }, End: ast.Location{ - Line: int(271), - Column: int(76), + Line: int(283), + Column: int(78), }, }, }, @@ -42265,7 +42707,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3048, + Ctx: p3057, FreeVars: ast.Identifiers{ "func", }, @@ -42273,12 +42715,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(271), - Column: int(77), + Line: int(283), + Column: int(79), }, End: ast.Location{ - Line: int(271), - Column: int(81), + Line: int(283), + Column: int(83), }, }, }, @@ -42292,7 +42734,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ "func", "std", @@ -42301,12 +42743,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(271), - Column: int(68), + Line: int(283), + Column: int(70), }, End: ast.Location{ - Line: int(271), - Column: int(82), + Line: int(283), + Column: int(84), }, }, }, @@ -42314,23 +42756,23 @@ var _StdAst = &ast.DesugaredObject{ TailStrict: false, }, Left: &ast.LiteralString{ - Value: "std.mapWithKey first param must be function, got ", + Value: "std.mapWithIndex first param must be function, got ", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(271), + Line: int(283), Column: int(14), }, End: ast.Location{ - Line: int(271), - Column: int(65), + Line: int(283), + Column: int(67), }, }, }, @@ -42339,7 +42781,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ "func", "std", @@ -42348,12 +42790,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(271), + Line: int(283), Column: int(14), }, End: ast.Location{ - Line: int(271), - Column: int(82), + Line: int(283), + Column: int(84), }, }, }, @@ -42368,7 +42810,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ "func", "std", @@ -42377,25 +42819,72 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(271), + Line: int(283), Column: int(7), }, End: ast.Location{ - Line: int(271), - Column: int(83), + Line: int(283), + Column: int(85), }, }, }, }, BranchFalse: &ast.Conditional{ - Cond: &ast.Unary{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + Cond: &ast.Binary{ + Right: &ast.Unary{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(284), + Column: int(35), + }, + End: ast.Location{ + Line: int(284), + Column: int(38), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isString", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p3039, FreeVars: ast.Identifiers{ "std", }, @@ -42403,139 +42892,265 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(272), - Column: int(14), + Line: int(284), + Column: int(35), }, End: ast.Location{ - Line: int(272), - Column: int(17), + Line: int(284), + Column: int(47), }, }, }, }, - Index: &ast.LiteralString{ - Value: "isObject", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3075, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(284), + Column: int(48), + }, + End: ast.Location{ + Line: int(284), + Column: int(51), + }, + }, + }, }, + CommaFodder: nil, }, }, - Kind: ast.LiteralStringKind(1), + Named: nil, }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ + "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(272), - Column: int(14), + Line: int(284), + Column: int(35), }, End: ast.Location{ - Line: int(272), - Column: int(26), + Line: int(284), + Column: int(52), }, }, }, + TrailingComma: false, + TailStrict: false, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "obj", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3065, - FreeVars: ast.Identifiers{ - "obj", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3039, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(284), + Column: int(34), + }, + End: ast.Location{ + Line: int(284), + Column: int(52), + }, + }, + }, + Op: ast.UnaryOp(0), + }, + Left: &ast.Unary{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(284), + Column: int(14), }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(272), - Column: int(27), + End: ast.Location{ + Line: int(284), + Column: int(17), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3039, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(284), + Column: int(14), + }, + End: ast.Location{ + Line: int(284), + Column: int(25), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3088, + FreeVars: ast.Identifiers{ + "arr", }, - End: ast.Location{ - Line: int(272), - Column: int(30), + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(284), + Column: int(26), + }, + End: ast.Location{ + Line: int(284), + Column: int(29), + }, }, }, }, + CommaFodder: nil, }, - CommaFodder: nil, }, + Named: nil, }, - Named: nil, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3039, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(284), + Column: int(14), + }, + End: ast.Location{ + Line: int(284), + Column: int(30), + }, + }, + }, + TrailingComma: false, + TailStrict: false, }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ - "obj", + "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(272), - Column: int(14), + Line: int(284), + Column: int(13), }, End: ast.Location{ - Line: int(272), - Column: int(31), + Line: int(284), + Column: int(30), }, }, }, - TrailingComma: false, - TailStrict: false, + Op: ast.UnaryOp(0), }, + OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ - "obj", + "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(272), + Line: int(284), Column: int(13), }, End: ast.Location{ - Line: int(272), - Column: int(31), + Line: int(284), + Column: int(52), }, }, }, - Op: ast.UnaryOp(0), + Op: ast.BinaryOp(17), }, BranchTrue: &ast.Error{ Expr: &ast.Binary{ @@ -42553,12 +43168,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(273), - Column: int(67), + Line: int(285), + Column: int(68), }, End: ast.Location{ - Line: int(273), - Column: int(70), + Line: int(285), + Column: int(71), }, }, }, @@ -42591,7 +43206,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ "std", }, @@ -42599,12 +43214,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(273), - Column: int(67), + Line: int(285), + Column: int(68), }, End: ast.Location{ - Line: int(273), - Column: int(75), + Line: int(285), + Column: int(76), }, }, }, @@ -42614,23 +43229,23 @@ var _StdAst = &ast.DesugaredObject{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ Expr: &ast.Var{ - Id: "obj", + Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3079, + Ctx: p3103, FreeVars: ast.Identifiers{ - "obj", + "arr", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(273), - Column: int(76), + Line: int(285), + Column: int(77), }, End: ast.Location{ - Line: int(273), - Column: int(79), + Line: int(285), + Column: int(80), }, }, }, @@ -42644,21 +43259,21 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ - "obj", + "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(273), - Column: int(67), + Line: int(285), + Column: int(68), }, End: ast.Location{ - Line: int(273), - Column: int(80), + Line: int(285), + Column: int(81), }, }, }, @@ -42666,23 +43281,23 @@ var _StdAst = &ast.DesugaredObject{ TailStrict: false, }, Left: &ast.LiteralString{ - Value: "std.mapWithKey second param must be object, got ", + Value: "std.mapWithIndex second param must be array, got ", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(273), + Line: int(285), Column: int(14), }, End: ast.Location{ - Line: int(273), - Column: int(64), + Line: int(285), + Column: int(65), }, }, }, @@ -42691,21 +43306,21 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ - "obj", + "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(273), + Line: int(285), Column: int(14), }, End: ast.Location{ - Line: int(273), - Column: int(80), + Line: int(285), + Column: int(81), }, }, }, @@ -42720,21 +43335,21 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ - "obj", + "arr", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(273), + Line: int(285), Column: int(7), }, End: ast.Location{ - Line: int(273), - Column: int(81), + Line: int(285), + Column: int(82), }, }, }, @@ -42742,29 +43357,36 @@ var _StdAst = &ast.DesugaredObject{ BranchFalse: &ast.Apply{ Target: &ast.Index{ Target: &ast.Var{ - Id: "$std", + Id: "std", NodeBase: ast.NodeBase{ - Fodder: nil, + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, Ctx: nil, FreeVars: ast.Identifiers{ - "$std", + "std", }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(7), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(10), }, }, }, }, Index: &ast.LiteralString{ - Value: "$objectFlatMerge", + Value: "makeArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -42786,59 +43408,59 @@ var _StdAst = &ast.DesugaredObject{ }, Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: nil, - LeftBracketFodder: nil, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, Id: nil, NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, + Fodder: ast.Fodder{}, + Ctx: p3039, FreeVars: ast.Identifiers{ - "$std", + "std", }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(7), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(20), }, }, }, }, - FodderLeft: nil, + FodderLeft: ast.Fodder{}, Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ Expr: &ast.Apply{ Target: &ast.Index{ Target: &ast.Var{ - Id: "$std", + Id: "std", NodeBase: ast.NodeBase{ - Fodder: nil, + Fodder: ast.Fodder{}, Ctx: nil, FreeVars: ast.Identifiers{ - "$std", + "std", }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(21), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(24), }, }, }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "length", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -42860,520 +43482,311 @@ var _StdAst = &ast.DesugaredObject{ }, Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: nil, - LeftBracketFodder: nil, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, Id: nil, NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, + Fodder: ast.Fodder{}, + Ctx: p3123, FreeVars: ast.Identifiers{ - "$std", + "std", }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(21), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(31), }, }, }, }, - FodderLeft: nil, + FodderLeft: ast.Fodder{}, Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ - Expr: &ast.Function{ - ParenLeftFodder: nil, - ParenRightFodder: nil, - Body: &ast.Array{ - Elements: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.DesugaredObject{ - Asserts: ast.Nodes{}, - Fields: ast.DesugaredObjectFields{ - ast.DesugaredObjectField{ - Name: &ast.Var{ - Id: "k", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3030, - FreeVars: ast.Identifiers{ - "k", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(10), - }, - End: ast.Location{ - Line: int(275), - Column: int(11), - }, - }, - }, - }, - Body: &ast.Apply{ - Target: &ast.Var{ - Id: "func", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3109, - FreeVars: ast.Identifiers{ - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(14), - }, - End: ast.Location{ - Line: int(275), - Column: int(18), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "k", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3113, - FreeVars: ast.Identifiers{ - "k", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(19), - }, - End: ast.Location{ - Line: int(275), - Column: int(20), - }, - }, - }, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Index{ - Target: &ast.Var{ - Id: "obj", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3113, - FreeVars: ast.Identifiers{ - "obj", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(22), - }, - End: ast.Location{ - Line: int(275), - Column: int(25), - }, - }, - }, - }, - Index: &ast.Var{ - Id: "k", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3113, - FreeVars: ast.Identifiers{ - "k", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(26), - }, - End: ast.Location{ - Line: int(275), - Column: int(27), - }, - }, - }, - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3113, - FreeVars: ast.Identifiers{ - "k", - "obj", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(22), - }, - End: ast.Location{ - Line: int(275), - Column: int(28), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3109, - FreeVars: ast.Identifiers{ - "func", - "k", - "obj", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(14), - }, - End: ast.Location{ - Line: int(275), - Column: int(29), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(9), - }, - End: ast.Location{ - Line: int(275), - Column: int(29), - }, - }, - Hide: ast.ObjectFieldHide(1), - PlusSuper: false, - }, - }, - Locals: ast.LocalBinds{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - Ctx: p3030, - FreeVars: ast.Identifiers{ - "func", - "k", - "obj", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(7), - }, - End: ast.Location{ - Line: int(275), - Column: int(62), - }, - }, - }, - }, - CommaFodder: nil, - }, + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3127, + FreeVars: ast.Identifiers{ + "arr", }, - CloseFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "func", - "k", - "obj", + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(287), + Column: int(32), }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, + End: ast.Location{ + Line: int(287), + Column: int(35), }, }, - TrailingComma: false, }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: nil, - Name: "k", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3123, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(287), + Column: int(21), + }, + End: ast.Location{ + Line: int(287), + Column: int(36), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Apply{ + Target: &ast.Var{ + Id: "func", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3133, + FreeVars: ast.Identifiers{ + "func", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(287), + Column: int(50), + }, + End: ast.Location{ + Line: int(287), + Column: int(54), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3137, + FreeVars: ast.Identifiers{ + "i", + }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(55), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(56), }, }, }, }, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "func", - "obj", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - TrailingComma: false, + CommaFodder: ast.Fodder{}, }, - CommaFodder: nil, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ + ast.CommaSeparatedExpr{ + Expr: &ast.Index{ Target: &ast.Var{ - Id: "std", + Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p3137, FreeVars: ast.Identifiers{ - "std", + "arr", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(275), - Column: int(39), + Line: int(287), + Column: int(58), }, End: ast.Location{ - Line: int(275), - Column: int(42), + Line: int(287), + Column: int(61), }, }, }, }, - Index: &ast.LiteralString{ - Value: "objectFields", - BlockIndent: "", - BlockTermIndent: "", + Index: &ast.Var{ + Id: "i", NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, + Fodder: ast.Fodder{}, + Ctx: p3137, + FreeVars: ast.Identifiers{ + "i", + }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(62), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(287), + Column: int(63), }, }, }, - Kind: ast.LiteralStringKind(1), }, RightBracketFodder: ast.Fodder{}, LeftBracketFodder: ast.Fodder{}, Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3137, FreeVars: ast.Identifiers{ - "std", + "arr", + "i", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(275), - Column: int(39), + Line: int(287), + Column: int(58), }, End: ast.Location{ - Line: int(275), - Column: int(55), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "obj", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3135, - FreeVars: ast.Identifiers{ - "obj", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(56), - }, - End: ast.Location{ - Line: int(275), - Column: int(59), - }, - }, - }, + Line: int(287), + Column: int(64), }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3030, - FreeVars: ast.Identifiers{ - "obj", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(275), - Column: int(39), - }, - End: ast.Location{ - Line: int(275), - Column: int(60), }, }, }, - TrailingComma: false, - TailStrict: false, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3133, + FreeVars: ast.Identifiers{ + "arr", + "func", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(287), + Column: int(50), + }, + End: ast.Location{ + Line: int(287), + Column: int(65), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "i", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(287), + Column: int(47), + }, + End: ast.Location{ + Line: int(287), + Column: int(48), }, - CommaFodder: nil, }, }, - Named: nil, }, - FodderRight: nil, - TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, + Fodder: ast.Fodder{}, + Ctx: p3123, FreeVars: ast.Identifiers{ - "$std", + "arr", "func", - "obj", - "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(275), - Column: int(7), + Line: int(287), + Column: int(38), }, End: ast.Location{ - Line: int(275), - Column: int(62), + Line: int(287), + Column: int(65), }, }, }, TrailingComma: false, - TailStrict: false, }, CommaFodder: nil, }, }, Named: nil, }, - FodderRight: nil, + FodderRight: ast.Fodder{}, TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, + Fodder: ast.Fodder{}, + Ctx: p3039, FreeVars: ast.Identifiers{ - "$std", + "arr", "func", - "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(275), + Line: int(287), Column: int(7), }, End: ast.Location{ - Line: int(275), - Column: int(62), + Line: int(287), + Column: int(66), }, }, }, @@ -43391,23 +43804,22 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ - "$std", + "arr", "func", - "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(272), + Line: int(284), Column: int(10), }, End: ast.Location{ - Line: int(275), - Column: int(62), + Line: int(287), + Column: int(66), }, }, }, @@ -43430,23 +43842,22 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p3030, + Ctx: p3039, FreeVars: ast.Identifiers{ - "$std", + "arr", "func", - "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(270), + Line: int(282), Column: int(5), }, End: ast.Location{ - Line: int(275), - Column: int(62), + Line: int(287), + Column: int(66), }, }, }, @@ -43462,18 +43873,18 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(269), - Column: int(14), + Line: int(281), + Column: int(16), }, End: ast.Location{ - Line: int(269), - Column: int(18), + Line: int(281), + Column: int(20), }, }, }, ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "obj", + Name: "arr", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -43481,12 +43892,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(269), - Column: int(20), + Line: int(281), + Column: int(22), }, End: ast.Location{ - Line: int(269), - Column: int(23), + Line: int(281), + Column: int(25), }, }, }, @@ -43495,7 +43906,6 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: p23, FreeVars: ast.Identifiers{ - "$std", "std", }, LocRange: ast.LocationRange{ @@ -43517,12 +43927,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(269), + Line: int(281), Column: int(3), }, End: ast.Location{ - Line: int(275), - Column: int(62), + Line: int(287), + Column: int(66), }, }, Hide: ast.ObjectFieldHide(0), @@ -43530,7 +43940,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "flatMap", + Value: "mapWithKey", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -43571,11 +43981,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(278), + Line: int(290), Column: int(9), }, End: ast.Location{ - Line: int(278), + Line: int(290), Column: int(12), }, }, @@ -43609,7 +44019,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ "std", }, @@ -43617,11 +44027,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(278), + Line: int(290), Column: int(9), }, End: ast.Location{ - Line: int(278), + Line: int(290), Column: int(23), }, }, @@ -43635,7 +44045,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3160, + Ctx: p3169, FreeVars: ast.Identifiers{ "func", }, @@ -43643,11 +44053,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(278), + Line: int(290), Column: int(24), }, End: ast.Location{ - Line: int(278), + Line: int(290), Column: int(28), }, }, @@ -43662,7 +44072,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ "func", "std", @@ -43671,11 +44081,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(278), + Line: int(290), Column: int(9), }, End: ast.Location{ - Line: int(278), + Line: int(290), Column: int(29), }, }, @@ -43685,7 +44095,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ "func", "std", @@ -43694,11 +44104,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(278), + Line: int(290), Column: int(8), }, End: ast.Location{ - Line: int(278), + Line: int(290), Column: int(29), }, }, @@ -43721,12 +44131,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(279), - Column: int(65), + Line: int(291), + Column: int(68), }, End: ast.Location{ - Line: int(279), - Column: int(68), + Line: int(291), + Column: int(71), }, }, }, @@ -43759,7 +44169,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ "std", }, @@ -43767,12 +44177,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(279), - Column: int(65), + Line: int(291), + Column: int(68), }, End: ast.Location{ - Line: int(279), - Column: int(73), + Line: int(291), + Column: int(76), }, }, }, @@ -43785,7 +44195,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3174, + Ctx: p3183, FreeVars: ast.Identifiers{ "func", }, @@ -43793,12 +44203,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(279), - Column: int(74), + Line: int(291), + Column: int(77), }, End: ast.Location{ - Line: int(279), - Column: int(78), + Line: int(291), + Column: int(81), }, }, }, @@ -43812,7 +44222,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ "func", "std", @@ -43821,12 +44231,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(279), - Column: int(65), + Line: int(291), + Column: int(68), }, End: ast.Location{ - Line: int(279), - Column: int(79), + Line: int(291), + Column: int(82), }, }, }, @@ -43834,23 +44244,23 @@ var _StdAst = &ast.DesugaredObject{ TailStrict: false, }, Left: &ast.LiteralString{ - Value: "std.flatMap first param must be function, got ", + Value: "std.mapWithKey first param must be function, got ", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(279), + Line: int(291), Column: int(14), }, End: ast.Location{ - Line: int(279), - Column: int(62), + Line: int(291), + Column: int(65), }, }, }, @@ -43859,7 +44269,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ "func", "std", @@ -43868,12 +44278,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(279), + Line: int(291), Column: int(14), }, End: ast.Location{ - Line: int(279), - Column: int(79), + Line: int(291), + Column: int(82), }, }, }, @@ -43888,7 +44298,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ "func", "std", @@ -43897,24 +44307,71 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(279), + Line: int(291), Column: int(7), }, End: ast.Location{ - Line: int(279), - Column: int(80), + Line: int(291), + Column: int(83), }, }, }, }, BranchFalse: &ast.Conditional{ - Cond: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + Cond: &ast.Unary{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(292), + Column: int(14), + }, + End: ast.Location{ + Line: int(292), + Column: int(17), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isObject", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p3165, FreeVars: ast.Identifiers{ "std", }, @@ -43922,151 +44379,322 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(280), - Column: int(13), + Line: int(292), + Column: int(14), }, End: ast.Location{ - Line: int(280), - Column: int(16), + Line: int(292), + Column: int(26), }, }, }, }, - Index: &ast.LiteralString{ - Value: "isArray", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "obj", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3200, + FreeVars: ast.Identifiers{ + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(292), + Column: int(27), + }, + End: ast.Location{ + Line: int(292), + Column: int(30), + }, + }, + }, }, + CommaFodder: nil, }, }, - Kind: ast.LiteralStringKind(1), + Named: nil, }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ + "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(280), - Column: int(13), + Line: int(292), + Column: int(14), }, End: ast.Location{ - Line: int(280), - Column: int(24), + Line: int(292), + Column: int(31), }, }, }, + TrailingComma: false, + TailStrict: false, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3165, + FreeVars: ast.Identifiers{ + "obj", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(292), + Column: int(13), + }, + End: ast.Location{ + Line: int(292), + Column: int(31), + }, + }, + }, + Op: ast.UnaryOp(0), + }, + BranchTrue: &ast.Error{ + Expr: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3190, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(280), - Column: int(25), + Line: int(293), + Column: int(67), }, End: ast.Location{ - Line: int(280), - Column: int(28), + Line: int(293), + Column: int(70), }, }, }, }, - CommaFodder: nil, + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3165, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(293), + Column: int(67), + }, + End: ast.Location{ + Line: int(293), + Column: int(75), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "obj", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3214, + FreeVars: ast.Identifiers{ + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(293), + Column: int(76), + }, + End: ast.Location{ + Line: int(293), + Column: int(79), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3165, + FreeVars: ast.Identifiers{ + "obj", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(293), + Column: int(67), + }, + End: ast.Location{ + Line: int(293), + Column: int(80), + }, + }, }, + TrailingComma: false, + TailStrict: false, }, - Named: nil, + Left: &ast.LiteralString{ + Value: "std.mapWithKey second param must be object, got ", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3165, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(293), + Column: int(14), + }, + End: ast.Location{ + Line: int(293), + Column: int(64), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3165, + FreeVars: ast.Identifiers{ + "obj", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(293), + Column: int(14), + }, + End: ast.Location{ + Line: int(293), + Column: int(80), + }, + }, + }, + Op: ast.BinaryOp(3), }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p3165, FreeVars: ast.Identifiers{ - "arr", + "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(280), - Column: int(13), + Line: int(293), + Column: int(7), }, End: ast.Location{ - Line: int(280), - Column: int(29), + Line: int(293), + Column: int(81), }, }, }, - TrailingComma: false, - TailStrict: false, }, - BranchTrue: &ast.Apply{ + BranchFalse: &ast.Apply{ Target: &ast.Index{ Target: &ast.Var{ - Id: "std", + Id: "$std", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, + Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(281), - Column: int(7), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(281), - Column: int(10), + Line: int(0), + Column: int(0), }, }, }, }, Index: &ast.LiteralString{ - Value: "flattenArrays", + Value: "$objectFlatMerge", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -44088,59 +44716,59 @@ var _StdAst = &ast.DesugaredObject{ }, Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, + RightBracketFodder: nil, + LeftBracketFodder: nil, Id: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(281), - Column: int(7), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(281), - Column: int(24), + Line: int(0), + Column: int(0), }, }, }, }, - FodderLeft: ast.Fodder{}, + FodderLeft: nil, Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ Expr: &ast.Apply{ Target: &ast.Index{ Target: &ast.Var{ - Id: "std", + Id: "$std", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, + Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(281), - Column: int(25), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(281), - Column: int(28), + Line: int(0), + Column: int(0), }, }, }, }, Index: &ast.LiteralString{ - Value: "makeArray", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -44162,32 +44790,335 @@ var _StdAst = &ast.DesugaredObject{ }, Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, + RightBracketFodder: nil, + LeftBracketFodder: nil, Id: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3206, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(281), - Column: int(25), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(281), - Column: int(38), + Line: int(0), + Column: int(0), }, }, }, }, - FodderLeft: ast.Fodder{}, + FodderLeft: nil, Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: nil, + ParenRightFodder: nil, + Body: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.DesugaredObject{ + Asserts: ast.Nodes{}, + Fields: ast.DesugaredObjectFields{ + ast.DesugaredObjectField{ + Name: &ast.Var{ + Id: "k", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3165, + FreeVars: ast.Identifiers{ + "k", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(10), + }, + End: ast.Location{ + Line: int(295), + Column: int(11), + }, + }, + }, + }, + Body: &ast.Apply{ + Target: &ast.Var{ + Id: "func", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3244, + FreeVars: ast.Identifiers{ + "func", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(14), + }, + End: ast.Location{ + Line: int(295), + Column: int(18), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "k", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3248, + FreeVars: ast.Identifiers{ + "k", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(19), + }, + End: ast.Location{ + Line: int(295), + Column: int(20), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Index{ + Target: &ast.Var{ + Id: "obj", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3248, + FreeVars: ast.Identifiers{ + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(22), + }, + End: ast.Location{ + Line: int(295), + Column: int(25), + }, + }, + }, + }, + Index: &ast.Var{ + Id: "k", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3248, + FreeVars: ast.Identifiers{ + "k", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(26), + }, + End: ast.Location{ + Line: int(295), + Column: int(27), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3248, + FreeVars: ast.Identifiers{ + "k", + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(22), + }, + End: ast.Location{ + Line: int(295), + Column: int(28), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3244, + FreeVars: ast.Identifiers{ + "func", + "k", + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(14), + }, + End: ast.Location{ + Line: int(295), + Column: int(29), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(9), + }, + End: ast.Location{ + Line: int(295), + Column: int(29), + }, + }, + Hide: ast.ObjectFieldHide(1), + PlusSuper: false, + }, + }, + Locals: ast.LocalBinds{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p3165, + FreeVars: ast.Identifiers{ + "func", + "k", + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(295), + Column: int(7), + }, + End: ast.Location{ + Line: int(295), + Column: int(62), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + CloseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "func", + "k", + "obj", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: nil, + Name: "k", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "func", + "obj", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + CommaFodder: nil, + }, ast.CommaSeparatedExpr{ Expr: &ast.Apply{ Target: &ast.Index{ @@ -44203,18 +45134,18 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(281), + Line: int(295), Column: int(39), }, End: ast.Location{ - Line: int(281), + Line: int(295), Column: int(42), }, }, }, }, Index: &ast.LiteralString{ - Value: "length", + Value: "objectFields", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -44241,7 +45172,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3214, + Ctx: p3165, FreeVars: ast.Identifiers{ "std", }, @@ -44249,12 +45180,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(281), + Line: int(295), Column: int(39), }, End: ast.Location{ - Line: int(281), - Column: int(49), + Line: int(295), + Column: int(55), }, }, }, @@ -44264,23 +45195,23 @@ var _StdAst = &ast.DesugaredObject{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ Expr: &ast.Var{ - Id: "arr", + Id: "obj", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3218, + Ctx: p3270, FreeVars: ast.Identifiers{ - "arr", + "obj", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(281), - Column: int(50), + Line: int(295), + Column: int(56), }, End: ast.Location{ - Line: int(281), - Column: int(53), + Line: int(295), + Column: int(59), }, }, }, @@ -44294,228 +45225,53 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3214, + Ctx: p3165, FreeVars: ast.Identifiers{ - "arr", + "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(281), + Line: int(295), Column: int(39), }, End: ast.Location{ - Line: int(281), - Column: int(54), + Line: int(295), + Column: int(60), }, }, }, TrailingComma: false, TailStrict: false, }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Apply{ - Target: &ast.Var{ - Id: "func", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3224, - FreeVars: ast.Identifiers{ - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(281), - Column: int(68), - }, - End: ast.Location{ - Line: int(281), - Column: int(72), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Index{ - Target: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3229, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(281), - Column: int(73), - }, - End: ast.Location{ - Line: int(281), - Column: int(76), - }, - }, - }, - }, - Index: &ast.Var{ - Id: "i", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3229, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(281), - Column: int(77), - }, - End: ast.Location{ - Line: int(281), - Column: int(78), - }, - }, - }, - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3229, - FreeVars: ast.Identifiers{ - "arr", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(281), - Column: int(73), - }, - End: ast.Location{ - Line: int(281), - Column: int(79), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3224, - FreeVars: ast.Identifiers{ - "arr", - "func", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(281), - Column: int(68), - }, - End: ast.Location{ - Line: int(281), - Column: int(80), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "i", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(281), - Column: int(65), - }, - End: ast.Location{ - Line: int(281), - Column: int(66), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3214, - FreeVars: ast.Identifiers{ - "arr", - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(281), - Column: int(56), - }, - End: ast.Location{ - Line: int(281), - Column: int(80), - }, - }, - }, - TrailingComma: false, - }, CommaFodder: nil, }, }, Named: nil, }, - FodderRight: ast.Fodder{}, + FodderRight: nil, TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3206, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", + "$std", "func", + "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(281), - Column: int(25), + Line: int(295), + Column: int(7), }, End: ast.Location{ - Line: int(281), - Column: int(81), + Line: int(295), + Column: int(62), }, }, }, @@ -44527,957 +45283,61 @@ var _StdAst = &ast.DesugaredObject{ }, Named: nil, }, - FodderRight: ast.Fodder{}, + FodderRight: nil, TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", + "$std", "func", + "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(281), + Line: int(295), Column: int(7), }, End: ast.Location{ - Line: int(281), - Column: int(82), + Line: int(295), + Column: int(62), }, }, }, TrailingComma: false, TailStrict: false, }, - BranchFalse: &ast.Conditional{ - Cond: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(282), - Column: int(13), - }, - End: ast.Location{ - Line: int(282), - Column: int(16), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "isString", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(282), - Column: int(13), - }, - End: ast.Location{ - Line: int(282), - Column: int(25), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3248, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(282), - Column: int(26), - }, - End: ast.Location{ - Line: int(282), - Column: int(29), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3165, + FreeVars: ast.Identifiers{ + "$std", + "func", + "obj", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(292), + Column: int(10), }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(282), - Column: int(13), - }, - End: ast.Location{ - Line: int(282), - Column: int(30), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - BranchTrue: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(7), - }, - End: ast.Location{ - Line: int(283), - Column: int(10), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "join", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(7), - }, - End: ast.Location{ - Line: int(283), - Column: int(15), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.LiteralString{ - Value: "", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3260, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(16), - }, - End: ast.Location{ - Line: int(283), - Column: int(18), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(20), - }, - End: ast.Location{ - Line: int(283), - Column: int(23), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "makeArray", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3260, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(20), - }, - End: ast.Location{ - Line: int(283), - Column: int(33), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(34), - }, - End: ast.Location{ - Line: int(283), - Column: int(37), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "length", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3273, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(34), - }, - End: ast.Location{ - Line: int(283), - Column: int(44), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3277, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(45), - }, - End: ast.Location{ - Line: int(283), - Column: int(48), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3273, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(34), - }, - End: ast.Location{ - Line: int(283), - Column: int(49), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Apply{ - Target: &ast.Var{ - Id: "func", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3283, - FreeVars: ast.Identifiers{ - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(63), - }, - End: ast.Location{ - Line: int(283), - Column: int(67), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Index{ - Target: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3288, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(68), - }, - End: ast.Location{ - Line: int(283), - Column: int(71), - }, - }, - }, - }, - Index: &ast.Var{ - Id: "i", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3288, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(72), - }, - End: ast.Location{ - Line: int(283), - Column: int(73), - }, - }, - }, - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3288, - FreeVars: ast.Identifiers{ - "arr", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(68), - }, - End: ast.Location{ - Line: int(283), - Column: int(74), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3283, - FreeVars: ast.Identifiers{ - "arr", - "func", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(63), - }, - End: ast.Location{ - Line: int(283), - Column: int(75), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "i", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(60), - }, - End: ast.Location{ - Line: int(283), - Column: int(61), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3273, - FreeVars: ast.Identifiers{ - "arr", - "func", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(51), - }, - End: ast.Location{ - Line: int(283), - Column: int(75), - }, - }, - }, - TrailingComma: false, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3260, - FreeVars: ast.Identifiers{ - "arr", - "func", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(20), - }, - End: ast.Location{ - Line: int(283), - Column: int(76), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "arr", - "func", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(283), - Column: int(7), - }, - End: ast.Location{ - Line: int(283), - Column: int(77), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - BranchFalse: &ast.Error{ - Expr: &ast.Binary{ - Right: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(284), - Column: int(75), - }, - End: ast.Location{ - Line: int(284), - Column: int(78), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(284), - Column: int(75), - }, - End: ast.Location{ - Line: int(284), - Column: int(83), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3308, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(284), - Column: int(84), - }, - End: ast.Location{ - Line: int(284), - Column: int(87), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(284), - Column: int(75), - }, - End: ast.Location{ - Line: int(284), - Column: int(88), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - Left: &ast.LiteralString{ - Value: "std.flatMap second param must be array / string, got ", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(284), - Column: int(17), - }, - End: ast.Location{ - Line: int(284), - Column: int(72), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(284), - Column: int(17), - }, - End: ast.Location{ - Line: int(284), - Column: int(88), - }, - }, - }, - Op: ast.BinaryOp(3), - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(284), - Column: int(10), - }, - End: ast.Location{ - Line: int(284), - Column: int(89), - }, - }, - }, - }, - ThenFodder: ast.Fodder{}, - ElseFodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "arr", - "func", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(282), - Column: int(10), - }, - End: ast.Location{ - Line: int(284), - Column: int(89), - }, - }, - }, - }, - ThenFodder: ast.Fodder{}, - ElseFodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3156, - FreeVars: ast.Identifiers{ - "arr", - "func", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(280), - Column: int(10), - }, - End: ast.Location{ - Line: int(284), - Column: int(89), + End: ast.Location{ + Line: int(295), + Column: int(62), }, }, }, @@ -45500,22 +45360,23 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p3156, + Ctx: p3165, FreeVars: ast.Identifiers{ - "arr", + "$std", "func", + "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(278), + Line: int(290), Column: int(5), }, End: ast.Location{ - Line: int(284), - Column: int(89), + Line: int(295), + Column: int(62), }, }, }, @@ -45531,18 +45392,18 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(277), - Column: int(11), + Line: int(289), + Column: int(14), }, End: ast.Location{ - Line: int(277), - Column: int(15), + Line: int(289), + Column: int(18), }, }, }, ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "arr", + Name: "obj", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -45550,12 +45411,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(277), - Column: int(17), + Line: int(289), + Column: int(20), }, End: ast.Location{ - Line: int(277), - Column: int(20), + Line: int(289), + Column: int(23), }, }, }, @@ -45564,6 +45425,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: p23, FreeVars: ast.Identifiers{ + "$std", "std", }, LocRange: ast.LocationRange{ @@ -45585,12 +45447,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(277), + Line: int(289), Column: int(3), }, End: ast.Location{ - Line: int(284), - Column: int(89), + Line: int(295), + Column: int(62), }, }, Hide: ast.ObjectFieldHide(0), @@ -45598,7 +45460,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "join", + Value: "flatMap", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -45623,355 +45485,632 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Function{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, - Body: &ast.Local{ - Binds: ast.LocalBinds{ - ast.LocalBind{ - VarFodder: nil, - Body: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Conditional{ - Cond: &ast.Binary{ - Right: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(288), - Column: int(15), - }, - End: ast.Location{ - Line: int(288), - Column: int(18), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "length", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(288), - Column: int(15), - }, - End: ast.Location{ - Line: int(288), - Column: int(25), - }, - }, - }, + Body: &ast.Conditional{ + Cond: &ast.Unary{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(298), + Column: int(9), }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3339, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(288), - Column: int(26), - }, - End: ast.Location{ - Line: int(288), - Column: int(29), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, + End: ast.Location{ + Line: int(298), + Column: int(12), }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "arr", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(288), - Column: int(15), - }, - End: ast.Location{ - Line: int(288), - Column: int(30), - }, - }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isFunction", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), }, - TrailingComma: false, - TailStrict: false, }, - Left: &ast.Var{ - Id: "i", + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(298), + Column: int(9), + }, + End: ast.Location{ + Line: int(298), + Column: int(23), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: p3295, FreeVars: ast.Identifiers{ - "i", + "func", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(288), - Column: int(10), + Line: int(298), + Column: int(24), }, End: ast.Location{ - Line: int(288), - Column: int(11), + Line: int(298), + Column: int(28), }, }, }, }, - OpFodder: ast.Fodder{}, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(298), + Column: int(9), + }, + End: ast.Location{ + Line: int(298), + Column: int(29), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(298), + Column: int(8), + }, + End: ast.Location{ + Line: int(298), + Column: int(29), + }, + }, + }, + Op: ast.UnaryOp(0), + }, + BranchTrue: &ast.Error{ + Expr: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", - "i", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(288), - Column: int(10), + Line: int(299), + Column: int(65), }, End: ast.Location{ - Line: int(288), - Column: int(30), + Line: int(299), + Column: int(68), }, }, }, - Op: ast.BinaryOp(8), }, - BranchTrue: &ast.Var{ - Id: "running", + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), - }, - }, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "running", - }, + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(289), - Column: int(9), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(289), - Column: int(16), + Line: int(0), + Column: int(0), }, }, }, + Kind: ast.LiteralStringKind(1), }, - BranchFalse: &ast.Conditional{ - Cond: &ast.Binary{ - Right: &ast.LiteralNull{ + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(299), + Column: int(65), + }, + End: ast.Location{ + Line: int(299), + Column: int(73), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{}, + Ctx: p3309, + FreeVars: ast.Identifiers{ + "func", + }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(290), - Column: int(25), + Line: int(299), + Column: int(74), }, End: ast.Location{ - Line: int(290), - Column: int(29), + Line: int(299), + Column: int(78), }, }, }, }, - Left: &ast.Index{ + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(299), + Column: int(65), + }, + End: ast.Location{ + Line: int(299), + Column: int(79), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Left: &ast.LiteralString{ + Value: "std.flatMap first param must be function, got ", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(299), + Column: int(14), + }, + End: ast.Location{ + Line: int(299), + Column: int(62), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(299), + Column: int(14), + }, + End: ast.Location{ + Line: int(299), + Column: int(79), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(299), + Column: int(7), + }, + End: ast.Location{ + Line: int(299), + Column: int(80), + }, + }, + }, + }, + BranchFalse: &ast.Conditional{ + Cond: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(300), + Column: int(13), + }, + End: ast.Location{ + Line: int(300), + Column: int(16), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(300), + Column: int(13), + }, + End: ast.Location{ + Line: int(300), + Column: int(24), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3325, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(300), + Column: int(25), + }, + End: ast.Location{ + Line: int(300), + Column: int(28), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(300), + Column: int(13), + }, + End: ast.Location{ + Line: int(300), + Column: int(29), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchTrue: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(7), + }, + End: ast.Location{ + Line: int(301), + Column: int(10), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "flattenArrays", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(7), + }, + End: ast.Location{ + Line: int(301), + Column: int(24), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ Target: &ast.Var{ - Id: "arr", + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(290), - Column: int(15), + Line: int(301), + Column: int(25), }, End: ast.Location{ - Line: int(290), - Column: int(18), + Line: int(301), + Column: int(28), }, }, }, }, - Index: &ast.Var{ - Id: "i", + Index: &ast.LiteralString{ + Value: "makeArray", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "i", - }, + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(290), - Column: int(19), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(290), - Column: int(20), + Line: int(0), + Column: int(0), }, }, }, + Kind: ast.LiteralStringKind(1), }, RightBracketFodder: ast.Fodder{}, LeftBracketFodder: ast.Fodder{}, Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "arr", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(290), - Column: int(15), - }, - End: ast.Location{ - Line: int(290), - Column: int(21), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "arr", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(290), - Column: int(15), - }, - End: ast.Location{ - Line: int(290), - Column: int(29), - }, - }, - }, - Op: ast.BinaryOp(12), - }, - BranchTrue: &ast.Apply{ - Target: &ast.Var{ - Id: "aux", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), - }, - }, - Ctx: p3335, + Ctx: p3341, FreeVars: ast.Identifiers{ - "aux", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(291), - Column: int(9), + Line: int(301), + Column: int(25), }, End: ast.Location{ - Line: int(291), - Column: int(12), + Line: int(301), + Column: int(38), }, }, }, @@ -45980,145 +46119,307 @@ var _StdAst = &ast.DesugaredObject{ Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3364, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(291), - Column: int(13), - }, - End: ast.Location{ - Line: int(291), - Column: int(16), + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(39), + }, + End: ast.Location{ + Line: int(301), + Column: int(42), + }, + }, }, }, - }, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "1", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3364, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(291), - Column: int(22), - }, - End: ast.Location{ - Line: int(291), - Column: int(23), + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, }, }, + Kind: ast.LiteralStringKind(1), }, - }, - Left: &ast.Var{ - Id: "i", + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3364, + Ctx: p3349, FreeVars: ast.Identifiers{ - "i", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(291), - Column: int(18), + Line: int(301), + Column: int(39), }, End: ast.Location{ - Line: int(291), - Column: int(19), + Line: int(301), + Column: int(49), }, }, }, }, - OpFodder: ast.Fodder{}, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3353, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(50), + }, + End: ast.Location{ + Line: int(301), + Column: int(53), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3364, + Ctx: p3349, FreeVars: ast.Identifiers{ - "i", + "arr", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(291), - Column: int(18), + Line: int(301), + Column: int(39), }, End: ast.Location{ - Line: int(291), - Column: int(23), + Line: int(301), + Column: int(54), }, }, }, - Op: ast.BinaryOp(3), + TrailingComma: false, + TailStrict: false, }, CommaFodder: ast.Fodder{}, }, ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "first", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3364, - FreeVars: ast.Identifiers{ - "first", + Expr: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Apply{ + Target: &ast.Var{ + Id: "func", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3359, + FreeVars: ast.Identifiers{ + "func", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(68), + }, + End: ast.Location{ + Line: int(301), + Column: int(72), + }, + }, + }, }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(291), - Column: int(25), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Index{ + Target: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3364, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(73), + }, + End: ast.Location{ + Line: int(301), + Column: int(76), + }, + }, + }, + }, + Index: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3364, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(77), + }, + End: ast.Location{ + Line: int(301), + Column: int(78), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3364, + FreeVars: ast.Identifiers{ + "arr", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(73), + }, + End: ast.Location{ + Line: int(301), + Column: int(79), + }, + }, + }, + }, + CommaFodder: nil, + }, }, - End: ast.Location{ - Line: int(291), - Column: int(30), + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3359, + FreeVars: ast.Identifiers{ + "arr", + "func", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(68), + }, + End: ast.Location{ + Line: int(301), + Column: int(80), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "i", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(65), + }, + End: ast.Location{ + Line: int(301), + Column: int(66), + }, }, }, }, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "running", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3364, + Ctx: p3349, FreeVars: ast.Identifiers{ - "running", + "arr", + "func", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(291), - Column: int(32), + Line: int(301), + Column: int(56), }, End: ast.Location{ - Line: int(291), - Column: int(39), + Line: int(301), + Column: int(80), }, }, }, + TrailingComma: false, }, CommaFodder: nil, }, @@ -46126,214 +46427,303 @@ var _StdAst = &ast.DesugaredObject{ Named: nil, }, FodderRight: ast.Fodder{}, - TailStrictFodder: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: p3341, FreeVars: ast.Identifiers{ "arr", - "aux", - "first", - "i", - "running", + "func", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(291), - Column: int(9), + Line: int(301), + Column: int(25), }, End: ast.Location{ - Line: int(291), - Column: int(40), + Line: int(301), + Column: int(81), }, }, }, TrailingComma: false, - TailStrict: true, + TailStrict: false, }, - BranchFalse: &ast.Conditional{ - Cond: &ast.Binary{ - Right: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(292), - Column: int(35), - }, - End: ast.Location{ - Line: int(292), - Column: int(38), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(292), - Column: int(35), - }, - End: ast.Location{ - Line: int(292), - Column: int(43), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "sep", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3386, - FreeVars: ast.Identifiers{ - "sep", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(292), - Column: int(44), - }, - End: ast.Location{ - Line: int(292), - Column: int(47), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(301), + Column: int(7), + }, + End: ast.Location{ + Line: int(301), + Column: int(82), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchFalse: &ast.Conditional{ + Cond: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(302), + Column: int(13), + }, + End: ast.Location{ + Line: int(302), + Column: int(16), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isString", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(302), + Column: int(13), + }, + End: ast.Location{ + Line: int(302), + Column: int(25), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3383, + FreeVars: ast.Identifiers{ + "arr", }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "sep", - "std", + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(302), + Column: int(26), }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(292), - Column: int(35), - }, - End: ast.Location{ - Line: int(292), - Column: int(48), - }, + End: ast.Location{ + Line: int(302), + Column: int(29), }, }, - TrailingComma: false, - TailStrict: false, }, - Left: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(292), - Column: int(15), - }, - End: ast.Location{ - Line: int(292), - Column: int(18), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(302), + Column: int(13), + }, + End: ast.Location{ + Line: int(302), + Column: int(30), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchTrue: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(7), + }, + End: ast.Location{ + Line: int(303), + Column: int(10), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "join", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(7), + }, + End: ast.Location{ + Line: int(303), + Column: int(15), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralString{ + Value: "", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3395, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(16), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + End: ast.Location{ + Line: int(303), + Column: int(18), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: nil, FreeVars: ast.Identifiers{ "std", }, @@ -46341,957 +46731,1628 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(292), - Column: int(15), + Line: int(303), + Column: int(20), }, End: ast.Location{ - Line: int(292), + Line: int(303), Column: int(23), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Index{ + Index: &ast.LiteralString{ + Value: "makeArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3395, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(20), + }, + End: ast.Location{ + Line: int(303), + Column: int(33), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ Target: &ast.Var{ - Id: "arr", + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3398, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(292), - Column: int(24), + Line: int(303), + Column: int(34), }, End: ast.Location{ - Line: int(292), - Column: int(27), + Line: int(303), + Column: int(37), }, }, }, }, - Index: &ast.Var{ - Id: "i", + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3398, - FreeVars: ast.Identifiers{ - "i", - }, + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(292), - Column: int(28), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(292), - Column: int(29), + Line: int(0), + Column: int(0), }, }, }, + Kind: ast.LiteralStringKind(1), }, RightBracketFodder: ast.Fodder{}, LeftBracketFodder: ast.Fodder{}, Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3398, + Ctx: p3408, FreeVars: ast.Identifiers{ - "arr", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(292), - Column: int(24), - }, - End: ast.Location{ - Line: int(292), - Column: int(30), - }, + "std", }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "arr", - "i", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(292), - Column: int(15), - }, - End: ast.Location{ - Line: int(292), - Column: int(31), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "arr", - "i", - "sep", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(292), - Column: int(15), - }, - End: ast.Location{ - Line: int(292), - Column: int(48), - }, - }, - }, - Op: ast.BinaryOp(13), - }, - BranchTrue: &ast.Error{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "$std", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "mod", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: nil, - LeftBracketFodder: nil, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - }, - FodderLeft: nil, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.LiteralString{ - Value: "expected %s but arr[%d] was %s ", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(293), - Column: int(15), + Line: int(303), + Column: int(34), }, End: ast.Location{ - Line: int(293), - Column: int(48), + Line: int(303), + Column: int(44), }, }, }, - Kind: ast.LiteralStringKind(1), }, - CommaFodder: nil, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Array{ - Elements: []ast.CommaSeparatedExpr{ + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(52), - }, - End: ast.Location{ - Line: int(293), - Column: int(55), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3421, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(52), - }, - End: ast.Location{ - Line: int(293), - Column: int(60), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "sep", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3425, - FreeVars: ast.Identifiers{ - "sep", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(61), - }, - End: ast.Location{ - Line: int(293), - Column: int(64), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + Expr: &ast.Var{ + Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3421, + Ctx: p3412, FreeVars: ast.Identifiers{ - "sep", - "std", + "arr", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(293), - Column: int(52), + Line: int(303), + Column: int(45), }, End: ast.Location{ - Line: int(293), - Column: int(65), + Line: int(303), + Column: int(48), }, }, }, - TrailingComma: false, - TailStrict: false, }, - CommaFodder: ast.Fodder{}, + CommaFodder: nil, }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "i", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3421, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(67), - }, - End: ast.Location{ - Line: int(293), - Column: int(68), - }, - }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3408, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(34), + }, + End: ast.Location{ + Line: int(303), + Column: int(49), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Apply{ + Target: &ast.Var{ + Id: "func", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3418, + FreeVars: ast.Identifiers{ + "func", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(63), + }, + End: ast.Location{ + Line: int(303), + Column: int(67), }, }, - CommaFodder: ast.Fodder{}, }, - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Index{ Target: &ast.Var{ - Id: "std", + Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p3423, FreeVars: ast.Identifiers{ - "std", + "arr", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(293), - Column: int(70), + Line: int(303), + Column: int(68), }, End: ast.Location{ - Line: int(293), - Column: int(73), + Line: int(303), + Column: int(71), }, }, }, }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", + Index: &ast.Var{ + Id: "i", NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, + Fodder: ast.Fodder{}, + Ctx: p3423, + FreeVars: ast.Identifiers{ + "i", + }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(303), + Column: int(72), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(303), + Column: int(73), }, }, }, - Kind: ast.LiteralStringKind(1), }, RightBracketFodder: ast.Fodder{}, LeftBracketFodder: ast.Fodder{}, Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3421, + Ctx: p3423, FreeVars: ast.Identifiers{ - "std", + "arr", + "i", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(293), - Column: int(70), + Line: int(303), + Column: int(68), }, End: ast.Location{ - Line: int(293), - Column: int(78), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Index{ - Target: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3439, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(79), - }, - End: ast.Location{ - Line: int(293), - Column: int(82), - }, - }, - }, - }, - Index: &ast.Var{ - Id: "i", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3439, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(83), - }, - End: ast.Location{ - Line: int(293), - Column: int(84), - }, - }, - }, - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3439, - FreeVars: ast.Identifiers{ - "arr", - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(79), - }, - End: ast.Location{ - Line: int(293), - Column: int(85), - }, - }, - }, + Line: int(303), + Column: int(74), }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3421, - FreeVars: ast.Identifiers{ - "arr", - "i", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(70), - }, - End: ast.Location{ - Line: int(293), - Column: int(86), }, }, }, - TrailingComma: false, - TailStrict: false, + CommaFodder: nil, }, - CommaFodder: nil, }, + Named: nil, }, - CloseFodder: ast.Fodder{}, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: p3418, FreeVars: ast.Identifiers{ "arr", + "func", "i", - "sep", - "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(293), - Column: int(51), + Line: int(303), + Column: int(63), }, End: ast.Location{ - Line: int(293), - Column: int(87), + Line: int(303), + Column: int(75), }, }, }, TrailingComma: false, + TailStrict: false, }, - CommaFodder: nil, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "i", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(60), + }, + End: ast.Location{ + Line: int(303), + Column: int(61), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3408, + FreeVars: ast.Identifiers{ + "arr", + "func", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(51), + }, + End: ast.Location{ + Line: int(303), + Column: int(75), + }, + }, + }, + TrailingComma: false, }, + CommaFodder: nil, }, - Named: nil, }, - FodderRight: nil, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - "arr", - "i", - "sep", - "std", + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3395, + FreeVars: ast.Identifiers{ + "arr", + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(20), }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(293), - Column: int(15), - }, - End: ast.Location{ - Line: int(293), - Column: int(87), - }, + End: ast.Location{ + Line: int(303), + Column: int(76), }, }, - TrailingComma: false, - TailStrict: false, }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(303), + Column: int(7), + }, + End: ast.Location{ + Line: int(303), + Column: int(77), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchFalse: &ast.Error{ + Expr: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), - }, - }, - Ctx: p3335, + Fodder: ast.Fodder{}, + Ctx: nil, FreeVars: ast.Identifiers{ - "$std", - "arr", - "i", - "sep", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(293), - Column: int(9), + Line: int(304), + Column: int(75), }, End: ast.Location{ - Line: int(293), - Column: int(87), + Line: int(304), + Column: int(78), }, }, }, }, - BranchFalse: &ast.Conditional{ - Cond: &ast.Var{ - Id: "first", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3335, - FreeVars: ast.Identifiers{ - "first", + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(294), - Column: int(15), - }, - End: ast.Location{ - Line: int(294), - Column: int(20), - }, + End: ast.Location{ + Line: int(0), + Column: int(0), }, }, }, - BranchTrue: &ast.Apply{ - Target: &ast.Var{ - Id: "aux", + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(304), + Column: int(75), + }, + End: ast.Location{ + Line: int(304), + Column: int(83), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), - }, - }, - Ctx: p3335, + Fodder: ast.Fodder{}, + Ctx: p3443, FreeVars: ast.Identifiers{ - "aux", + "arr", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(295), - Column: int(9), + Line: int(304), + Column: int(84), }, End: ast.Location{ - Line: int(295), - Column: int(12), + Line: int(304), + Column: int(87), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3458, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(295), - Column: int(13), - }, - End: ast.Location{ - Line: int(295), - Column: int(16), - }, - }, - }, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "1", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3458, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(295), - Column: int(22), - }, - End: ast.Location{ - Line: int(295), - Column: int(23), - }, - }, - }, - }, - Left: &ast.Var{ - Id: "i", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3458, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(295), - Column: int(18), - }, - End: ast.Location{ - Line: int(295), - Column: int(19), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3458, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(295), - Column: int(18), - }, - End: ast.Location{ - Line: int(295), - Column: int(23), - }, - }, - }, - Op: ast.BinaryOp(3), + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(304), + Column: int(75), + }, + End: ast.Location{ + Line: int(304), + Column: int(88), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Left: &ast.LiteralString{ + Value: "std.flatMap second param must be array / string, got ", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(304), + Column: int(17), + }, + End: ast.Location{ + Line: int(304), + Column: int(72), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(304), + Column: int(17), + }, + End: ast.Location{ + Line: int(304), + Column: int(88), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(304), + Column: int(10), + }, + End: ast.Location{ + Line: int(304), + Column: int(89), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(302), + Column: int(10), + }, + End: ast.Location{ + Line: int(304), + Column: int(89), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(300), + Column: int(10), + }, + End: ast.Location{ + Line: int(304), + Column: int(89), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p3291, + FreeVars: ast.Identifiers{ + "arr", + "func", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(298), + Column: int(5), + }, + End: ast.Location{ + Line: int(304), + Column: int(89), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "func", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(297), + Column: int(11), + }, + End: ast.Location{ + Line: int(297), + Column: int(15), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(297), + Column: int(17), + }, + End: ast.Location{ + Line: int(297), + Column: int(20), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(297), + Column: int(3), + }, + End: ast.Location{ + Line: int(304), + Column: int(89), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "join", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Local{ + Binds: ast.LocalBinds{ + ast.LocalBind{ + VarFodder: nil, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(308), + Column: int(15), + }, + End: ast.Location{ + Line: int(308), + Column: int(18), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(308), + Column: int(15), + }, + End: ast.Location{ + Line: int(308), + Column: int(25), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3474, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(308), + Column: int(26), + }, + End: ast.Location{ + Line: int(308), + Column: int(29), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(308), + Column: int(15), + }, + End: ast.Location{ + Line: int(308), + Column: int(30), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Left: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(308), + Column: int(10), + }, + End: ast.Location{ + Line: int(308), + Column: int(11), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + "i", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(308), + Column: int(10), + }, + End: ast.Location{ + Line: int(308), + Column: int(30), + }, + }, + }, + Op: ast.BinaryOp(8), + }, + BranchTrue: &ast.Var{ + Id: "running", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "running", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(309), + Column: int(9), + }, + End: ast.Location{ + Line: int(309), + Column: int(16), + }, + }, + }, + }, + BranchFalse: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNull{ + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(310), + Column: int(25), + }, + End: ast.Location{ + Line: int(310), + Column: int(29), + }, + }, + }, + }, + Left: &ast.Index{ + Target: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(310), + Column: int(15), + }, + End: ast.Location{ + Line: int(310), + Column: int(18), + }, + }, + }, + }, + Index: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(310), + Column: int(19), + }, + End: ast.Location{ + Line: int(310), + Column: int(20), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(310), + Column: int(15), + }, + End: ast.Location{ + Line: int(310), + Column: int(21), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(310), + Column: int(15), + }, + End: ast.Location{ + Line: int(310), + Column: int(29), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + BranchTrue: &ast.Apply{ + Target: &ast.Var{ + Id: "aux", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "aux", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(311), + Column: int(9), + }, + End: ast.Location{ + Line: int(311), + Column: int(12), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3499, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(311), + Column: int(13), + }, + End: ast.Location{ + Line: int(311), + Column: int(16), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3499, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(311), + Column: int(22), + }, + End: ast.Location{ + Line: int(311), + Column: int(23), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3499, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(311), + Column: int(18), + }, + End: ast.Location{ + Line: int(311), + Column: int(19), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3499, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(311), + Column: int(18), + }, + End: ast.Location{ + Line: int(311), + Column: int(23), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "first", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3499, + FreeVars: ast.Identifiers{ + "first", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(311), + Column: int(25), + }, + End: ast.Location{ + Line: int(311), + Column: int(30), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "running", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3499, + FreeVars: ast.Identifiers{ + "running", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(311), + Column: int(32), + }, + End: ast.Location{ + Line: int(311), + Column: int(39), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + "aux", + "first", + "i", + "running", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(311), + Column: int(9), + }, + End: ast.Location{ + Line: int(311), + Column: int(40), + }, + }, + }, + TrailingComma: false, + TailStrict: true, + }, + BranchFalse: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(312), + Column: int(35), + }, + End: ast.Location{ + Line: int(312), + Column: int(38), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(312), + Column: int(35), + }, + End: ast.Location{ + Line: int(312), + Column: int(43), }, - CommaFodder: ast.Fodder{}, }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ - Expr: &ast.LiteralBoolean{ + Expr: &ast.Var{ + Id: "sep", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3458, - FreeVars: ast.Identifiers{}, + Ctx: p3521, + FreeVars: ast.Identifiers{ + "sep", + }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(295), - Column: int(25), + Line: int(312), + Column: int(44), }, End: ast.Location{ - Line: int(295), - Column: int(30), + Line: int(312), + Column: int(47), }, }, }, - Value: false, }, - CommaFodder: ast.Fodder{}, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "sep", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(312), + Column: int(35), + }, + End: ast.Location{ + Line: int(312), + Column: int(48), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(312), + Column: int(15), + }, + End: ast.Location{ + Line: int(312), + Column: int(18), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(312), + Column: int(15), + }, + End: ast.Location{ + Line: int(312), + Column: int(23), + }, }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ - Expr: &ast.Binary{ - Right: &ast.Index{ - Target: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3458, - FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(295), - Column: int(42), - }, - End: ast.Location{ - Line: int(295), - Column: int(45), - }, - }, - }, - }, - Index: &ast.Var{ - Id: "i", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p3458, - FreeVars: ast.Identifiers{ - "i", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(295), - Column: int(46), - }, - End: ast.Location{ - Line: int(295), - Column: int(47), - }, - }, - }, - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + Expr: &ast.Index{ + Target: &ast.Var{ + Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3458, + Ctx: p3533, FreeVars: ast.Identifiers{ "arr", - "i", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(295), - Column: int(42), + Line: int(312), + Column: int(24), }, End: ast.Location{ - Line: int(295), - Column: int(48), + Line: int(312), + Column: int(27), }, }, }, }, - Left: &ast.Var{ - Id: "running", + Index: &ast.Var{ + Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3458, + Ctx: p3533, FreeVars: ast.Identifiers{ - "running", + "i", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(295), - Column: int(32), + Line: int(312), + Column: int(28), }, End: ast.Location{ - Line: int(295), - Column: int(39), + Line: int(312), + Column: int(29), }, }, }, }, - OpFodder: ast.Fodder{}, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3458, + Ctx: p3533, FreeVars: ast.Identifiers{ "arr", "i", - "running", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(295), - Column: int(32), + Line: int(312), + Column: int(24), }, End: ast.Location{ - Line: int(295), - Column: int(48), + Line: int(312), + Column: int(30), }, }, }, - Op: ast.BinaryOp(3), }, CommaFodder: nil, }, @@ -47299,45 +48360,914 @@ var _StdAst = &ast.DesugaredObject{ Named: nil, }, FodderRight: ast.Fodder{}, - TailStrictFodder: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: p3470, FreeVars: ast.Identifiers{ "arr", - "aux", "i", - "running", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(295), - Column: int(9), + Line: int(312), + Column: int(15), }, End: ast.Location{ - Line: int(295), - Column: int(49), + Line: int(312), + Column: int(31), }, }, }, TrailingComma: false, - TailStrict: true, + TailStrict: false, }, - BranchFalse: &ast.Apply{ - Target: &ast.Var{ - Id: "aux", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + "i", + "sep", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(312), + Column: int(15), + }, + End: ast.Location{ + Line: int(312), + Column: int(48), + }, + }, + }, + Op: ast.BinaryOp(13), + }, + BranchTrue: &ast.Error{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "mod", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralString{ + Value: "expected %s but arr[%d] was %s ", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(15), + }, + End: ast.Location{ + Line: int(313), + Column: int(48), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + CommaFodder: nil, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(52), + }, + End: ast.Location{ + Line: int(313), + Column: int(55), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3556, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(52), + }, + End: ast.Location{ + Line: int(313), + Column: int(60), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "sep", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3560, + FreeVars: ast.Identifiers{ + "sep", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(61), + }, + End: ast.Location{ + Line: int(313), + Column: int(64), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3556, + FreeVars: ast.Identifiers{ + "sep", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(52), + }, + End: ast.Location{ + Line: int(313), + Column: int(65), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3556, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(67), + }, + End: ast.Location{ + Line: int(313), + Column: int(68), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(70), + }, + End: ast.Location{ + Line: int(313), + Column: int(73), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3556, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(70), + }, + End: ast.Location{ + Line: int(313), + Column: int(78), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Index{ + Target: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3574, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(79), + }, + End: ast.Location{ + Line: int(313), + Column: int(82), + }, + }, + }, + }, + Index: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3574, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(83), + }, + End: ast.Location{ + Line: int(313), + Column: int(84), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3574, + FreeVars: ast.Identifiers{ + "arr", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(79), + }, + End: ast.Location{ + Line: int(313), + Column: int(85), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3556, + FreeVars: ast.Identifiers{ + "arr", + "i", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(70), + }, + End: ast.Location{ + Line: int(313), + Column: int(86), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: nil, + }, + }, + CloseFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + "i", + "sep", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(51), + }, + End: ast.Location{ + Line: int(313), + Column: int(87), + }, + }, + }, + TrailingComma: false, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: nil, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + "arr", + "i", + "sep", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(15), + }, + End: ast.Location{ + Line: int(313), + Column: int(87), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "$std", + "arr", + "i", + "sep", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(313), + Column: int(9), + }, + End: ast.Location{ + Line: int(313), + Column: int(87), + }, + }, + }, + }, + BranchFalse: &ast.Conditional{ + Cond: &ast.Var{ + Id: "first", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "first", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(314), + Column: int(15), + }, + End: ast.Location{ + Line: int(314), + Column: int(20), + }, + }, + }, + }, + BranchTrue: &ast.Apply{ + Target: &ast.Var{ + Id: "aux", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "aux", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(9), + }, + End: ast.Location{ + Line: int(315), + Column: int(12), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(13), + }, + End: ast.Location{ + Line: int(315), + Column: int(16), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(22), + }, + End: ast.Location{ + Line: int(315), + Column: int(23), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(18), + }, + End: ast.Location{ + Line: int(315), + Column: int(19), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(18), + }, + End: ast.Location{ + Line: int(315), + Column: int(23), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralBoolean{ + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(25), + }, + End: ast.Location{ + Line: int(315), + Column: int(30), + }, + }, + }, + Value: false, }, + CommaFodder: ast.Fodder{}, }, - Ctx: p3335, + ast.CommaSeparatedExpr{ + Expr: &ast.Binary{ + Right: &ast.Index{ + Target: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(42), + }, + End: ast.Location{ + Line: int(315), + Column: int(45), + }, + }, + }, + }, + Index: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(46), + }, + End: ast.Location{ + Line: int(315), + Column: int(47), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{ + "arr", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(42), + }, + End: ast.Location{ + Line: int(315), + Column: int(48), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "running", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{ + "running", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(32), + }, + End: ast.Location{ + Line: int(315), + Column: int(39), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3593, + FreeVars: ast.Identifiers{ + "arr", + "i", + "running", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(32), + }, + End: ast.Location{ + Line: int(315), + Column: int(48), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p3470, + FreeVars: ast.Identifiers{ + "arr", + "aux", + "i", + "running", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(315), + Column: int(9), + }, + End: ast.Location{ + Line: int(315), + Column: int(49), + }, + }, + }, + TrailingComma: false, + TailStrict: true, + }, + BranchFalse: &ast.Apply{ + Target: &ast.Var{ + Id: "aux", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + Ctx: p3470, FreeVars: ast.Identifiers{ "aux", }, @@ -47345,11 +49275,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(9), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(12), }, }, @@ -47363,7 +49293,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "arr", }, @@ -47371,11 +49301,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(13), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(16), }, }, @@ -47389,17 +49319,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(22), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(23), }, }, @@ -47409,7 +49339,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "i", }, @@ -47417,11 +49347,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(18), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(19), }, }, @@ -47430,7 +49360,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "i", }, @@ -47438,11 +49368,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(18), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(23), }, }, @@ -47455,17 +49385,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(25), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(30), }, }, @@ -47481,7 +49411,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "arr", }, @@ -47489,11 +49419,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(48), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(51), }, }, @@ -47503,7 +49433,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "i", }, @@ -47511,11 +49441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(52), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(53), }, }, @@ -47526,7 +49456,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "arr", "i", @@ -47535,11 +49465,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(48), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(54), }, }, @@ -47550,7 +49480,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sep", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "sep", }, @@ -47558,11 +49488,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(42), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(45), }, }, @@ -47572,7 +49502,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "running", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "running", }, @@ -47580,11 +49510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(32), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(39), }, }, @@ -47593,7 +49523,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "running", "sep", @@ -47602,11 +49532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(32), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(45), }, }, @@ -47616,7 +49546,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3483, + Ctx: p3618, FreeVars: ast.Identifiers{ "arr", "i", @@ -47627,11 +49557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(32), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(54), }, }, @@ -47647,7 +49577,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: p3470, FreeVars: ast.Identifiers{ "arr", "aux", @@ -47659,11 +49589,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(297), + Line: int(317), Column: int(9), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(55), }, }, @@ -47682,7 +49612,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: p3470, FreeVars: ast.Identifiers{ "arr", "aux", @@ -47695,11 +49625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(294), + Line: int(314), Column: int(12), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(55), }, }, @@ -47716,7 +49646,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: p3470, FreeVars: ast.Identifiers{ "$std", "arr", @@ -47731,11 +49661,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(292), + Line: int(312), Column: int(12), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(55), }, }, @@ -47752,7 +49682,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3335, + Ctx: p3470, FreeVars: ast.Identifiers{ "$std", "arr", @@ -47767,11 +49697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(290), + Line: int(310), Column: int(12), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(55), }, }, @@ -47795,7 +49725,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3335, + Ctx: p3470, FreeVars: ast.Identifiers{ "$std", "arr", @@ -47810,11 +49740,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(288), + Line: int(308), Column: int(7), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(55), }, }, @@ -47831,11 +49761,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(287), + Line: int(307), Column: int(15), }, End: ast.Location{ - Line: int(287), + Line: int(307), Column: int(18), }, }, @@ -47850,11 +49780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(287), + Line: int(307), Column: int(20), }, End: ast.Location{ - Line: int(287), + Line: int(307), Column: int(21), }, }, @@ -47869,11 +49799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(287), + Line: int(307), Column: int(23), }, End: ast.Location{ - Line: int(287), + Line: int(307), Column: int(28), }, }, @@ -47888,11 +49818,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(287), + Line: int(307), Column: int(30), }, End: ast.Location{ - Line: int(287), + Line: int(307), Column: int(37), }, }, @@ -47900,7 +49830,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p3516, + Ctx: p3651, FreeVars: ast.Identifiers{ "$std", "aux", @@ -47911,11 +49841,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(287), + Line: int(307), Column: int(11), }, End: ast.Location{ - Line: int(297), + Line: int(317), Column: int(55), }, }, @@ -47956,11 +49886,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(298), + Line: int(318), Column: int(9), }, End: ast.Location{ - Line: int(298), + Line: int(318), Column: int(12), }, }, @@ -47994,7 +49924,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "std", }, @@ -48002,11 +49932,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(298), + Line: int(318), Column: int(9), }, End: ast.Location{ - Line: int(298), + Line: int(318), Column: int(20), }, }, @@ -48020,7 +49950,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3529, + Ctx: p3664, FreeVars: ast.Identifiers{ "arr", }, @@ -48028,11 +49958,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(298), + Line: int(318), Column: int(21), }, End: ast.Location{ - Line: int(298), + Line: int(318), Column: int(24), }, }, @@ -48047,7 +49977,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "std", @@ -48056,11 +49986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(298), + Line: int(318), Column: int(9), }, End: ast.Location{ - Line: int(298), + Line: int(318), Column: int(25), }, }, @@ -48070,7 +50000,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "std", @@ -48079,11 +50009,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(298), + Line: int(318), Column: int(8), }, End: ast.Location{ - Line: int(298), + Line: int(318), Column: int(25), }, }, @@ -48106,11 +50036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(299), + Line: int(319), Column: int(61), }, End: ast.Location{ - Line: int(299), + Line: int(319), Column: int(64), }, }, @@ -48144,7 +50074,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "std", }, @@ -48152,11 +50082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(299), + Line: int(319), Column: int(61), }, End: ast.Location{ - Line: int(299), + Line: int(319), Column: int(69), }, }, @@ -48170,7 +50100,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3543, + Ctx: p3678, FreeVars: ast.Identifiers{ "arr", }, @@ -48178,11 +50108,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(299), + Line: int(319), Column: int(70), }, End: ast.Location{ - Line: int(299), + Line: int(319), Column: int(73), }, }, @@ -48197,7 +50127,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "std", @@ -48206,11 +50136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(299), + Line: int(319), Column: int(61), }, End: ast.Location{ - Line: int(299), + Line: int(319), Column: int(74), }, }, @@ -48224,17 +50154,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(299), + Line: int(319), Column: int(13), }, End: ast.Location{ - Line: int(299), + Line: int(319), Column: int(58), }, }, @@ -48244,7 +50174,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "std", @@ -48253,11 +50183,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(299), + Line: int(319), Column: int(13), }, End: ast.Location{ - Line: int(299), + Line: int(319), Column: int(74), }, }, @@ -48273,7 +50203,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "std", @@ -48282,11 +50212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(299), + Line: int(319), Column: int(7), }, End: ast.Location{ - Line: int(299), + Line: int(319), Column: int(74), }, }, @@ -48307,11 +50237,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(300), + Line: int(320), Column: int(13), }, End: ast.Location{ - Line: int(300), + Line: int(320), Column: int(16), }, }, @@ -48345,7 +50275,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "std", }, @@ -48353,11 +50283,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(300), + Line: int(320), Column: int(13), }, End: ast.Location{ - Line: int(300), + Line: int(320), Column: int(25), }, }, @@ -48371,7 +50301,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sep", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3559, + Ctx: p3694, FreeVars: ast.Identifiers{ "sep", }, @@ -48379,11 +50309,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(300), + Line: int(320), Column: int(26), }, End: ast.Location{ - Line: int(300), + Line: int(320), Column: int(29), }, }, @@ -48398,7 +50328,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "sep", "std", @@ -48407,11 +50337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(300), + Line: int(320), Column: int(13), }, End: ast.Location{ - Line: int(300), + Line: int(320), Column: int(30), }, }, @@ -48431,7 +50361,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "aux", }, @@ -48439,11 +50369,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(301), + Line: int(321), Column: int(7), }, End: ast.Location{ - Line: int(301), + Line: int(321), Column: int(10), }, }, @@ -48457,7 +50387,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3568, + Ctx: p3703, FreeVars: ast.Identifiers{ "arr", }, @@ -48465,11 +50395,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(301), + Line: int(321), Column: int(11), }, End: ast.Location{ - Line: int(301), + Line: int(321), Column: int(14), }, }, @@ -48482,17 +50412,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3568, + Ctx: p3703, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(301), + Line: int(321), Column: int(16), }, End: ast.Location{ - Line: int(301), + Line: int(321), Column: int(17), }, }, @@ -48504,17 +50434,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3568, + Ctx: p3703, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(301), + Line: int(321), Column: int(19), }, End: ast.Location{ - Line: int(301), + Line: int(321), Column: int(23), }, }, @@ -48530,17 +50460,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3568, + Ctx: p3703, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(301), + Line: int(321), Column: int(25), }, End: ast.Location{ - Line: int(301), + Line: int(321), Column: int(27), }, }, @@ -48556,7 +50486,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "aux", @@ -48565,11 +50495,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(301), + Line: int(321), Column: int(7), }, End: ast.Location{ - Line: int(301), + Line: int(321), Column: int(28), }, }, @@ -48592,11 +50522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(302), + Line: int(322), Column: int(13), }, End: ast.Location{ - Line: int(302), + Line: int(322), Column: int(16), }, }, @@ -48630,7 +50560,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "std", }, @@ -48638,11 +50568,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(302), + Line: int(322), Column: int(13), }, End: ast.Location{ - Line: int(302), + Line: int(322), Column: int(24), }, }, @@ -48656,7 +50586,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sep", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3583, + Ctx: p3718, FreeVars: ast.Identifiers{ "sep", }, @@ -48664,11 +50594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(302), + Line: int(322), Column: int(25), }, End: ast.Location{ - Line: int(302), + Line: int(322), Column: int(28), }, }, @@ -48683,7 +50613,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "sep", "std", @@ -48692,11 +50622,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(302), + Line: int(322), Column: int(13), }, End: ast.Location{ - Line: int(302), + Line: int(322), Column: int(29), }, }, @@ -48716,7 +50646,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "aux", }, @@ -48724,11 +50654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(303), + Line: int(323), Column: int(7), }, End: ast.Location{ - Line: int(303), + Line: int(323), Column: int(10), }, }, @@ -48742,7 +50672,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3592, + Ctx: p3727, FreeVars: ast.Identifiers{ "arr", }, @@ -48750,11 +50680,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(303), + Line: int(323), Column: int(11), }, End: ast.Location{ - Line: int(303), + Line: int(323), Column: int(14), }, }, @@ -48767,17 +50697,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3592, + Ctx: p3727, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(303), + Line: int(323), Column: int(16), }, End: ast.Location{ - Line: int(303), + Line: int(323), Column: int(17), }, }, @@ -48789,17 +50719,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3592, + Ctx: p3727, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(303), + Line: int(323), Column: int(19), }, End: ast.Location{ - Line: int(303), + Line: int(323), Column: int(23), }, }, @@ -48814,17 +50744,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3592, + Ctx: p3727, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(303), + Line: int(323), Column: int(25), }, End: ast.Location{ - Line: int(303), + Line: int(323), Column: int(27), }, }, @@ -48840,7 +50770,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "aux", @@ -48849,11 +50779,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(303), + Line: int(323), Column: int(7), }, End: ast.Location{ - Line: int(303), + Line: int(323), Column: int(28), }, }, @@ -48877,11 +50807,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(305), + Line: int(325), Column: int(70), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(73), }, }, @@ -48915,7 +50845,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "std", }, @@ -48923,11 +50853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(305), + Line: int(325), Column: int(70), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(78), }, }, @@ -48941,7 +50871,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sep", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3608, + Ctx: p3743, FreeVars: ast.Identifiers{ "sep", }, @@ -48949,11 +50879,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(305), + Line: int(325), Column: int(79), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(82), }, }, @@ -48968,7 +50898,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "sep", "std", @@ -48977,11 +50907,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(305), + Line: int(325), Column: int(70), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(83), }, }, @@ -48995,17 +50925,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(305), + Line: int(325), Column: int(13), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(67), }, }, @@ -49015,7 +50945,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "sep", "std", @@ -49024,11 +50954,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(305), + Line: int(325), Column: int(13), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(83), }, }, @@ -49044,7 +50974,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "sep", "std", @@ -49053,11 +50983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(305), + Line: int(325), Column: int(7), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(83), }, }, @@ -49074,7 +51004,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "aux", @@ -49085,11 +51015,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(302), + Line: int(322), Column: int(10), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(83), }, }, @@ -49106,7 +51036,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "aux", @@ -49117,11 +51047,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(300), + Line: int(320), Column: int(10), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(83), }, }, @@ -49145,7 +51075,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "arr", "aux", @@ -49156,11 +51086,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(298), + Line: int(318), Column: int(5), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(83), }, }, @@ -49175,7 +51105,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p3525, + Ctx: p3660, FreeVars: ast.Identifiers{ "$std", "arr", @@ -49186,11 +51116,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(287), + Line: int(307), Column: int(5), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(83), }, }, @@ -49207,11 +51137,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(286), + Line: int(306), Column: int(8), }, End: ast.Location{ - Line: int(286), + Line: int(306), Column: int(11), }, }, @@ -49226,11 +51156,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(286), + Line: int(306), Column: int(13), }, End: ast.Location{ - Line: int(286), + Line: int(306), Column: int(16), }, }, @@ -49262,11 +51192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(286), + Line: int(306), Column: int(3), }, End: ast.Location{ - Line: int(305), + Line: int(325), Column: int(83), }, }, @@ -49321,11 +51251,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(308), + Line: int(328), Column: int(5), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(8), }, }, @@ -49359,7 +51289,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3634, + Ctx: p3769, FreeVars: ast.Identifiers{ "std", }, @@ -49367,11 +51297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(308), + Line: int(328), Column: int(5), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(13), }, }, @@ -49387,17 +51317,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3638, + Ctx: p3773, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(308), + Line: int(328), Column: int(14), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(18), }, }, @@ -49417,17 +51347,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3643, + Ctx: p3778, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(308), + Line: int(328), Column: int(27), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(29), }, }, @@ -49440,17 +51370,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3638, + Ctx: p3773, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(308), + Line: int(328), Column: int(26), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(30), }, }, @@ -49461,7 +51391,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3638, + Ctx: p3773, FreeVars: ast.Identifiers{ "arr", }, @@ -49469,11 +51399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(308), + Line: int(328), Column: int(20), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(23), }, }, @@ -49482,7 +51412,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3638, + Ctx: p3773, FreeVars: ast.Identifiers{ "arr", }, @@ -49490,11 +51420,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(308), + Line: int(328), Column: int(20), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(30), }, }, @@ -49510,7 +51440,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3634, + Ctx: p3769, FreeVars: ast.Identifiers{ "arr", "std", @@ -49519,11 +51449,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(308), + Line: int(328), Column: int(5), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(31), }, }, @@ -49542,11 +51472,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(307), + Line: int(327), Column: int(9), }, End: ast.Location{ - Line: int(307), + Line: int(327), Column: int(12), }, }, @@ -49577,11 +51507,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(307), + Line: int(327), Column: int(3), }, End: ast.Location{ - Line: int(308), + Line: int(328), Column: int(31), }, }, @@ -49630,11 +51560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(311), + Line: int(331), Column: int(8), }, End: ast.Location{ - Line: int(311), + Line: int(331), Column: int(11), }, }, @@ -49668,7 +51598,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "std", }, @@ -49676,11 +51606,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(311), + Line: int(331), Column: int(8), }, End: ast.Location{ - Line: int(311), + Line: int(331), Column: int(20), }, }, @@ -49694,7 +51624,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3662, + Ctx: p3797, FreeVars: ast.Identifiers{ "arr", }, @@ -49702,11 +51632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(311), + Line: int(331), Column: int(21), }, End: ast.Location{ - Line: int(311), + Line: int(331), Column: int(24), }, }, @@ -49721,7 +51651,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "arr", "std", @@ -49730,11 +51660,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(311), + Line: int(331), Column: int(8), }, End: ast.Location{ - Line: int(311), + Line: int(331), Column: int(25), }, }, @@ -49753,7 +51683,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "arr", }, @@ -49761,11 +51691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(312), + Line: int(332), Column: int(7), }, End: ast.Location{ - Line: int(312), + Line: int(332), Column: int(10), }, }, @@ -49786,11 +51716,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(313), + Line: int(333), Column: int(13), }, End: ast.Location{ - Line: int(313), + Line: int(333), Column: int(16), }, }, @@ -49824,7 +51754,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "std", }, @@ -49832,11 +51762,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(313), + Line: int(333), Column: int(13), }, End: ast.Location{ - Line: int(313), + Line: int(333), Column: int(24), }, }, @@ -49850,7 +51780,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3677, + Ctx: p3812, FreeVars: ast.Identifiers{ "arr", }, @@ -49858,11 +51788,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(313), + Line: int(333), Column: int(25), }, End: ast.Location{ - Line: int(313), + Line: int(333), Column: int(28), }, }, @@ -49877,7 +51807,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "arr", "std", @@ -49886,11 +51816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(313), + Line: int(333), Column: int(13), }, End: ast.Location{ - Line: int(313), + Line: int(333), Column: int(29), }, }, @@ -49919,11 +51849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(7), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(10), }, }, @@ -49957,7 +51887,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "std", }, @@ -49965,11 +51895,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(7), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(15), }, }, @@ -49985,17 +51915,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3689, + Ctx: p3824, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(16), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(18), }, }, @@ -50030,7 +51960,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -50099,11 +52029,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(21), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(24), }, }, @@ -50137,7 +52067,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3705, + Ctx: p3840, FreeVars: ast.Identifiers{ "std", }, @@ -50145,11 +52075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(21), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(33), }, }, @@ -50163,7 +52093,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3709, + Ctx: p3844, FreeVars: ast.Identifiers{ "x", }, @@ -50171,11 +52101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(34), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(35), }, }, @@ -50190,7 +52120,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3705, + Ctx: p3840, FreeVars: ast.Identifiers{ "std", "x", @@ -50199,11 +52129,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(21), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(36), }, }, @@ -50286,7 +52216,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3689, + Ctx: p3824, FreeVars: ast.Identifiers{ "arr", }, @@ -50294,11 +52224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(46), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(49), }, }, @@ -50323,11 +52253,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(20), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(50), }, }, @@ -50344,7 +52274,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "$std", "arr", @@ -50354,11 +52284,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(314), + Line: int(334), Column: int(7), }, End: ast.Location{ - Line: int(314), + Line: int(334), Column: int(51), }, }, @@ -50447,17 +52377,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(316), + Line: int(336), Column: int(13), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(47), }, }, @@ -50481,11 +52411,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(316), + Line: int(336), Column: int(50), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(53), }, }, @@ -50519,7 +52449,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "std", }, @@ -50527,11 +52457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(316), + Line: int(336), Column: int(50), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(58), }, }, @@ -50545,7 +52475,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3736, + Ctx: p3871, FreeVars: ast.Identifiers{ "arr", }, @@ -50553,11 +52483,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(316), + Line: int(336), Column: int(59), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(62), }, }, @@ -50572,7 +52502,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "arr", "std", @@ -50581,11 +52511,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(316), + Line: int(336), Column: int(50), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(63), }, }, @@ -50612,11 +52542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(316), + Line: int(336), Column: int(13), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(63), }, }, @@ -50633,7 +52563,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "$std", "arr", @@ -50643,11 +52573,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(316), + Line: int(336), Column: int(7), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(63), }, }, @@ -50664,7 +52594,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "$std", "arr", @@ -50674,11 +52604,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(313), + Line: int(333), Column: int(10), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(63), }, }, @@ -50702,7 +52632,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p3658, + Ctx: p3793, FreeVars: ast.Identifiers{ "$std", "arr", @@ -50712,11 +52642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(311), + Line: int(331), Column: int(5), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(63), }, }, @@ -50733,11 +52663,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(310), + Line: int(330), Column: int(12), }, End: ast.Location{ - Line: int(310), + Line: int(330), Column: int(15), }, }, @@ -50769,11 +52699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(310), + Line: int(330), Column: int(3), }, End: ast.Location{ - Line: int(316), + Line: int(336), Column: int(63), }, }, @@ -50830,11 +52760,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(326), + Line: int(346), Column: int(18), }, End: ast.Location{ - Line: int(326), + Line: int(346), Column: int(21), }, }, @@ -50868,7 +52798,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "std", }, @@ -50876,11 +52806,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(326), + Line: int(346), Column: int(18), }, End: ast.Location{ - Line: int(326), + Line: int(346), Column: int(28), }, }, @@ -50894,7 +52824,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3765, + Ctx: p3900, FreeVars: ast.Identifiers{ "str", }, @@ -50902,11 +52832,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(326), + Line: int(346), Column: int(29), }, End: ast.Location{ - Line: int(326), + Line: int(346), Column: int(32), }, }, @@ -50921,7 +52851,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "std", "str", @@ -50930,11 +52860,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(326), + Line: int(346), Column: int(18), }, End: ast.Location{ - Line: int(326), + Line: int(346), Column: int(33), }, }, @@ -50946,7 +52876,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "i", }, @@ -50954,11 +52884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(326), + Line: int(346), Column: int(14), }, End: ast.Location{ - Line: int(326), + Line: int(346), Column: int(15), }, }, @@ -50967,7 +52897,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "i", "std", @@ -50977,11 +52907,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(326), + Line: int(346), Column: int(14), }, End: ast.Location{ - Line: int(326), + Line: int(346), Column: int(33), }, }, @@ -50997,7 +52927,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3775, + Ctx: p3910, FreeVars: ast.Identifiers{ "str", }, @@ -51005,11 +52935,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(327), + Line: int(347), Column: int(17), }, End: ast.Location{ - Line: int(327), + Line: int(347), Column: int(20), }, }, @@ -51019,7 +52949,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3775, + Ctx: p3910, FreeVars: ast.Identifiers{ "i", }, @@ -51027,11 +52957,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(327), + Line: int(347), Column: int(21), }, End: ast.Location{ - Line: int(327), + Line: int(347), Column: int(22), }, }, @@ -51042,7 +52972,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3775, + Ctx: p3910, FreeVars: ast.Identifiers{ "i", "str", @@ -51051,11 +52981,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(327), + Line: int(347), Column: int(17), }, End: ast.Location{ - Line: int(327), + Line: int(347), Column: int(23), }, }, @@ -51069,11 +52999,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(327), + Line: int(347), Column: int(13), }, End: ast.Location{ - Line: int(327), + Line: int(347), Column: int(23), }, }, @@ -51087,17 +53017,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(328), + Line: int(348), Column: int(15), }, End: ast.Location{ - Line: int(328), + Line: int(348), Column: int(18), }, }, @@ -51108,7 +53038,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "c", }, @@ -51116,11 +53046,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(328), + Line: int(348), Column: int(10), }, End: ast.Location{ - Line: int(328), + Line: int(348), Column: int(11), }, }, @@ -51129,7 +53059,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "c", }, @@ -51137,11 +53067,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(328), + Line: int(348), Column: int(10), }, End: ast.Location{ - Line: int(328), + Line: int(348), Column: int(18), }, }, @@ -51171,11 +53101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(330), + Line: int(350), Column: int(19), }, End: ast.Location{ - Line: int(330), + Line: int(350), Column: int(22), }, }, @@ -51209,7 +53139,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "std", }, @@ -51217,11 +53147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(330), + Line: int(350), Column: int(19), }, End: ast.Location{ - Line: int(330), + Line: int(350), Column: int(29), }, }, @@ -51235,7 +53165,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3800, + Ctx: p3935, FreeVars: ast.Identifiers{ "str", }, @@ -51243,11 +53173,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(330), + Line: int(350), Column: int(30), }, End: ast.Location{ - Line: int(330), + Line: int(350), Column: int(33), }, }, @@ -51262,7 +53192,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "std", "str", @@ -51271,11 +53201,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(330), + Line: int(350), Column: int(19), }, End: ast.Location{ - Line: int(330), + Line: int(350), Column: int(34), }, }, @@ -51287,7 +53217,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "j", }, @@ -51295,11 +53225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(330), + Line: int(350), Column: int(14), }, End: ast.Location{ - Line: int(330), + Line: int(350), Column: int(15), }, }, @@ -51308,7 +53238,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "j", "std", @@ -51318,11 +53248,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(330), + Line: int(350), Column: int(14), }, End: ast.Location{ - Line: int(330), + Line: int(350), Column: int(34), }, }, @@ -51336,17 +53266,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(331), + Line: int(351), Column: int(19), }, End: ast.Location{ - Line: int(331), + Line: int(351), Column: int(43), }, }, @@ -51362,17 +53292,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(331), + Line: int(351), Column: int(13), }, End: ast.Location{ - Line: int(331), + Line: int(351), Column: int(43), }, }, @@ -51387,7 +53317,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3813, + Ctx: p3948, FreeVars: ast.Identifiers{ "str", }, @@ -51395,11 +53325,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(333), + Line: int(353), Column: int(23), }, End: ast.Location{ - Line: int(333), + Line: int(353), Column: int(26), }, }, @@ -51409,7 +53339,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3813, + Ctx: p3948, FreeVars: ast.Identifiers{ "j", }, @@ -51417,11 +53347,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(333), + Line: int(353), Column: int(27), }, End: ast.Location{ - Line: int(333), + Line: int(353), Column: int(28), }, }, @@ -51432,7 +53362,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3813, + Ctx: p3948, FreeVars: ast.Identifiers{ "j", "str", @@ -51441,11 +53371,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(333), + Line: int(353), Column: int(23), }, End: ast.Location{ - Line: int(333), + Line: int(353), Column: int(29), }, }, @@ -51459,11 +53389,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(333), + Line: int(353), Column: int(19), }, End: ast.Location{ - Line: int(333), + Line: int(353), Column: int(29), }, }, @@ -51477,17 +53407,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(334), + Line: int(354), Column: int(21), }, End: ast.Location{ - Line: int(334), + Line: int(354), Column: int(24), }, }, @@ -51498,7 +53428,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "c", }, @@ -51506,11 +53436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(334), + Line: int(354), Column: int(16), }, End: ast.Location{ - Line: int(334), + Line: int(354), Column: int(17), }, }, @@ -51519,7 +53449,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "c", }, @@ -51527,11 +53457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(334), + Line: int(354), Column: int(16), }, End: ast.Location{ - Line: int(334), + Line: int(354), Column: int(24), }, }, @@ -51550,7 +53480,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "consume", }, @@ -51558,11 +53488,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(15), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(22), }, }, @@ -51576,7 +53506,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3830, + Ctx: p3965, FreeVars: ast.Identifiers{ "str", }, @@ -51584,11 +53514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(23), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(26), }, }, @@ -51602,17 +53532,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3830, + Ctx: p3965, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(32), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(33), }, }, @@ -51622,7 +53552,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3830, + Ctx: p3965, FreeVars: ast.Identifiers{ "j", }, @@ -51630,11 +53560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(28), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(29), }, }, @@ -51643,7 +53573,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3830, + Ctx: p3965, FreeVars: ast.Identifiers{ "j", }, @@ -51651,11 +53581,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(28), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(33), }, }, @@ -51670,7 +53600,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3830, + Ctx: p3965, FreeVars: ast.Identifiers{ "c", }, @@ -51678,11 +53608,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(39), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(40), }, }, @@ -51692,7 +53622,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3830, + Ctx: p3965, FreeVars: ast.Identifiers{ "v", }, @@ -51700,11 +53630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(35), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(36), }, }, @@ -51713,7 +53643,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3830, + Ctx: p3965, FreeVars: ast.Identifiers{ "c", "v", @@ -51722,11 +53652,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(35), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(40), }, }, @@ -51742,7 +53672,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "c", "consume", @@ -51754,11 +53684,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(335), + Line: int(355), Column: int(15), }, End: ast.Location{ - Line: int(335), + Line: int(355), Column: int(41), }, }, @@ -51798,17 +53728,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3849, + Ctx: p3984, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(337), + Line: int(357), Column: int(24), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(25), }, }, @@ -51818,7 +53748,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3849, + Ctx: p3984, FreeVars: ast.Identifiers{ "j", }, @@ -51826,11 +53756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(337), + Line: int(357), Column: int(20), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(21), }, }, @@ -51839,7 +53769,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3849, + Ctx: p3984, FreeVars: ast.Identifiers{ "j", }, @@ -51847,11 +53777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(337), + Line: int(357), Column: int(20), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(25), }, }, @@ -51862,11 +53792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(337), + Line: int(357), Column: int(17), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(25), }, }, @@ -51901,7 +53831,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3849, + Ctx: p3984, FreeVars: ast.Identifiers{ "v", }, @@ -51909,11 +53839,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(337), + Line: int(357), Column: int(30), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(31), }, }, @@ -51923,11 +53853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(337), + Line: int(357), Column: int(27), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(31), }, }, @@ -51945,7 +53875,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "j", "v", @@ -51954,11 +53884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(337), + Line: int(357), Column: int(15), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(33), }, }, @@ -51982,7 +53912,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "c", "consume", @@ -51994,11 +53924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(334), + Line: int(354), Column: int(13), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(33), }, }, @@ -52013,7 +53943,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "consume", "j", @@ -52024,11 +53954,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(333), + Line: int(353), Column: int(13), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(33), }, }, @@ -52052,7 +53982,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p3796, + Ctx: p3931, FreeVars: ast.Identifiers{ "consume", "j", @@ -52064,11 +53994,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(330), + Line: int(350), Column: int(11), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(33), }, }, @@ -52085,11 +54015,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(329), + Line: int(349), Column: int(23), }, End: ast.Location{ - Line: int(329), + Line: int(349), Column: int(26), }, }, @@ -52104,11 +54034,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(329), + Line: int(349), Column: int(28), }, End: ast.Location{ - Line: int(329), + Line: int(349), Column: int(29), }, }, @@ -52123,11 +54053,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(329), + Line: int(349), Column: int(31), }, End: ast.Location{ - Line: int(329), + Line: int(349), Column: int(32), }, }, @@ -52135,7 +54065,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p3867, + Ctx: p4002, FreeVars: ast.Identifiers{ "consume", "std", @@ -52144,11 +54074,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(329), + Line: int(349), Column: int(15), }, End: ast.Location{ - Line: int(337), + Line: int(357), Column: int(33), }, }, @@ -52185,7 +54115,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "consume", }, @@ -52193,11 +54123,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(338), + Line: int(358), Column: int(9), }, End: ast.Location{ - Line: int(338), + Line: int(358), Column: int(16), }, }, @@ -52211,7 +54141,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3875, + Ctx: p4010, FreeVars: ast.Identifiers{ "str", }, @@ -52219,11 +54149,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(338), + Line: int(358), Column: int(17), }, End: ast.Location{ - Line: int(338), + Line: int(358), Column: int(20), }, }, @@ -52237,17 +54167,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3875, + Ctx: p4010, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(338), + Line: int(358), Column: int(26), }, End: ast.Location{ - Line: int(338), + Line: int(358), Column: int(27), }, }, @@ -52257,7 +54187,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3875, + Ctx: p4010, FreeVars: ast.Identifiers{ "i", }, @@ -52265,11 +54195,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(338), + Line: int(358), Column: int(22), }, End: ast.Location{ - Line: int(338), + Line: int(358), Column: int(23), }, }, @@ -52278,7 +54208,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3875, + Ctx: p4010, FreeVars: ast.Identifiers{ "i", }, @@ -52286,11 +54216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(338), + Line: int(358), Column: int(22), }, End: ast.Location{ - Line: int(338), + Line: int(358), Column: int(27), }, }, @@ -52306,17 +54236,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3875, + Ctx: p4010, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(338), + Line: int(358), Column: int(29), }, End: ast.Location{ - Line: int(338), + Line: int(358), Column: int(31), }, }, @@ -52332,7 +54262,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "consume", "i", @@ -52342,11 +54272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(338), + Line: int(358), Column: int(9), }, End: ast.Location{ - Line: int(338), + Line: int(358), Column: int(32), }, }, @@ -52363,7 +54293,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "i", "std", @@ -52373,11 +54303,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(329), + Line: int(349), Column: int(9), }, End: ast.Location{ - Line: int(338), + Line: int(358), Column: int(32), }, }, @@ -52414,7 +54344,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3890, + Ctx: p4025, FreeVars: ast.Identifiers{ "i", }, @@ -52422,11 +54352,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(340), + Line: int(360), Column: int(14), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(15), }, }, @@ -52436,11 +54366,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(340), + Line: int(360), Column: int(11), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(15), }, }, @@ -52474,17 +54404,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3890, + Ctx: p4025, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(340), + Line: int(360), Column: int(20), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(24), }, }, @@ -52494,11 +54424,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(340), + Line: int(360), Column: int(17), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(24), }, }, @@ -52516,7 +54446,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "i", }, @@ -52524,11 +54454,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(340), + Line: int(360), Column: int(9), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(26), }, }, @@ -52552,7 +54482,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "c", "i", @@ -52563,11 +54493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(328), + Line: int(348), Column: int(7), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(26), }, }, @@ -52582,7 +54512,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{ "i", "std", @@ -52592,11 +54522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(327), + Line: int(347), Column: int(7), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(26), }, }, @@ -52609,17 +54539,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3761, + Ctx: p3896, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(326), + Line: int(346), Column: int(36), }, End: ast.Location{ - Line: int(326), + Line: int(346), Column: int(60), }, }, @@ -52634,11 +54564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(326), + Line: int(346), Column: int(7), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(26), }, }, @@ -52679,11 +54609,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(325), + Line: int(345), Column: int(33), }, End: ast.Location{ - Line: int(325), + Line: int(345), Column: int(36), }, }, @@ -52698,11 +54628,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(325), + Line: int(345), Column: int(38), }, End: ast.Location{ - Line: int(325), + Line: int(345), Column: int(39), }, }, @@ -52710,7 +54640,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p3905, + Ctx: p4040, FreeVars: ast.Identifiers{ "std", }, @@ -52718,11 +54648,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(325), + Line: int(345), Column: int(11), }, End: ast.Location{ - Line: int(340), + Line: int(360), Column: int(26), }, }, @@ -52777,11 +54707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(344), + Line: int(364), Column: int(20), }, End: ast.Location{ - Line: int(344), + Line: int(364), Column: int(23), }, }, @@ -52815,7 +54745,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "std", }, @@ -52823,11 +54753,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(344), + Line: int(364), Column: int(20), }, End: ast.Location{ - Line: int(344), + Line: int(364), Column: int(30), }, }, @@ -52841,7 +54771,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3924, + Ctx: p4059, FreeVars: ast.Identifiers{ "str", }, @@ -52849,11 +54779,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(344), + Line: int(364), Column: int(31), }, End: ast.Location{ - Line: int(344), + Line: int(364), Column: int(34), }, }, @@ -52868,7 +54798,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "std", "str", @@ -52877,11 +54807,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(344), + Line: int(364), Column: int(20), }, End: ast.Location{ - Line: int(344), + Line: int(364), Column: int(35), }, }, @@ -52893,7 +54823,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "j", }, @@ -52901,11 +54831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(344), + Line: int(364), Column: int(16), }, End: ast.Location{ - Line: int(344), + Line: int(364), Column: int(17), }, }, @@ -52914,7 +54844,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "j", "std", @@ -52924,11 +54854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(344), + Line: int(364), Column: int(16), }, End: ast.Location{ - Line: int(344), + Line: int(364), Column: int(35), }, }, @@ -52944,7 +54874,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3934, + Ctx: p4069, FreeVars: ast.Identifiers{ "str", }, @@ -52952,11 +54882,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(345), + Line: int(365), Column: int(19), }, End: ast.Location{ - Line: int(345), + Line: int(365), Column: int(22), }, }, @@ -52966,7 +54896,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3934, + Ctx: p4069, FreeVars: ast.Identifiers{ "j", }, @@ -52974,11 +54904,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(345), + Line: int(365), Column: int(23), }, End: ast.Location{ - Line: int(345), + Line: int(365), Column: int(24), }, }, @@ -52989,7 +54919,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3934, + Ctx: p4069, FreeVars: ast.Identifiers{ "j", "str", @@ -52998,11 +54928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(345), + Line: int(365), Column: int(19), }, End: ast.Location{ - Line: int(345), + Line: int(365), Column: int(25), }, }, @@ -53016,11 +54946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(345), + Line: int(365), Column: int(15), }, End: ast.Location{ - Line: int(345), + Line: int(365), Column: int(25), }, }, @@ -53034,17 +54964,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(346), + Line: int(366), Column: int(17), }, End: ast.Location{ - Line: int(346), + Line: int(366), Column: int(20), }, }, @@ -53055,7 +54985,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -53063,11 +54993,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(346), + Line: int(366), Column: int(12), }, End: ast.Location{ - Line: int(346), + Line: int(366), Column: int(13), }, }, @@ -53076,7 +55006,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -53084,11 +55014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(346), + Line: int(366), Column: int(12), }, End: ast.Location{ - Line: int(346), + Line: int(366), Column: int(20), }, }, @@ -53107,7 +55037,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", }, @@ -53115,11 +55045,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(11), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(18), }, }, @@ -53133,7 +55063,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3951, + Ctx: p4086, FreeVars: ast.Identifiers{ "str", }, @@ -53141,11 +55071,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(19), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(22), }, }, @@ -53159,17 +55089,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3951, + Ctx: p4086, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(28), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(29), }, }, @@ -53179,7 +55109,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3951, + Ctx: p4086, FreeVars: ast.Identifiers{ "j", }, @@ -53187,11 +55117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(24), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(25), }, }, @@ -53200,7 +55130,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3951, + Ctx: p4086, FreeVars: ast.Identifiers{ "j", }, @@ -53208,11 +55138,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(24), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(29), }, }, @@ -53253,17 +55183,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3963, + Ctx: p4098, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(40), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(44), }, }, @@ -53274,11 +55204,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(35), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(44), }, }, @@ -53289,17 +55219,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3951, + Ctx: p4086, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(33), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(46), }, }, @@ -53309,7 +55239,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3951, + Ctx: p4086, FreeVars: ast.Identifiers{ "v", }, @@ -53317,11 +55247,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(31), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(32), }, }, @@ -53330,7 +55260,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3951, + Ctx: p4086, FreeVars: ast.Identifiers{ "v", }, @@ -53338,11 +55268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(31), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(46), }, }, @@ -53358,7 +55288,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", "j", @@ -53369,11 +55299,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(347), + Line: int(367), Column: int(11), }, End: ast.Location{ - Line: int(347), + Line: int(367), Column: int(47), }, }, @@ -53389,17 +55319,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(348), + Line: int(368), Column: int(22), }, End: ast.Location{ - Line: int(348), + Line: int(368), Column: int(25), }, }, @@ -53410,7 +55340,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -53418,11 +55348,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(348), + Line: int(368), Column: int(17), }, End: ast.Location{ - Line: int(348), + Line: int(368), Column: int(18), }, }, @@ -53431,7 +55361,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -53439,11 +55369,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(348), + Line: int(368), Column: int(17), }, End: ast.Location{ - Line: int(348), + Line: int(368), Column: int(25), }, }, @@ -53462,7 +55392,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", }, @@ -53470,11 +55400,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(11), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(18), }, }, @@ -53488,7 +55418,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3980, + Ctx: p4115, FreeVars: ast.Identifiers{ "str", }, @@ -53496,11 +55426,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(19), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(22), }, }, @@ -53514,17 +55444,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3980, + Ctx: p4115, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(28), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(29), }, }, @@ -53534,7 +55464,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3980, + Ctx: p4115, FreeVars: ast.Identifiers{ "j", }, @@ -53542,11 +55472,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(24), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(25), }, }, @@ -53555,7 +55485,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3980, + Ctx: p4115, FreeVars: ast.Identifiers{ "j", }, @@ -53563,11 +55493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(24), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(29), }, }, @@ -53608,17 +55538,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3992, + Ctx: p4127, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(41), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(45), }, }, @@ -53629,11 +55559,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(35), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(45), }, }, @@ -53644,17 +55574,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3980, + Ctx: p4115, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(33), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(47), }, }, @@ -53664,7 +55594,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3980, + Ctx: p4115, FreeVars: ast.Identifiers{ "v", }, @@ -53672,11 +55602,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(31), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(32), }, }, @@ -53685,7 +55615,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3980, + Ctx: p4115, FreeVars: ast.Identifiers{ "v", }, @@ -53693,11 +55623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(31), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(47), }, }, @@ -53713,7 +55643,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", "j", @@ -53724,11 +55654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(349), + Line: int(369), Column: int(11), }, End: ast.Location{ - Line: int(349), + Line: int(369), Column: int(48), }, }, @@ -53744,17 +55674,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(350), + Line: int(370), Column: int(22), }, End: ast.Location{ - Line: int(350), + Line: int(370), Column: int(25), }, }, @@ -53765,7 +55695,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -53773,11 +55703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(350), + Line: int(370), Column: int(17), }, End: ast.Location{ - Line: int(350), + Line: int(370), Column: int(18), }, }, @@ -53786,7 +55716,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -53794,11 +55724,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(350), + Line: int(370), Column: int(17), }, End: ast.Location{ - Line: int(350), + Line: int(370), Column: int(25), }, }, @@ -53817,7 +55747,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", }, @@ -53825,11 +55755,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(11), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(18), }, }, @@ -53843,7 +55773,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4009, + Ctx: p4144, FreeVars: ast.Identifiers{ "str", }, @@ -53851,11 +55781,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(19), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(22), }, }, @@ -53869,17 +55799,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4009, + Ctx: p4144, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(28), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(29), }, }, @@ -53889,7 +55819,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4009, + Ctx: p4144, FreeVars: ast.Identifiers{ "j", }, @@ -53897,11 +55827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(24), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(25), }, }, @@ -53910,7 +55840,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4009, + Ctx: p4144, FreeVars: ast.Identifiers{ "j", }, @@ -53918,11 +55848,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(24), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(29), }, }, @@ -53963,17 +55893,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4021, + Ctx: p4156, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(41), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(45), }, }, @@ -53984,11 +55914,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(35), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(45), }, }, @@ -53999,17 +55929,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4009, + Ctx: p4144, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(33), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(47), }, }, @@ -54019,7 +55949,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4009, + Ctx: p4144, FreeVars: ast.Identifiers{ "v", }, @@ -54027,11 +55957,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(31), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(32), }, }, @@ -54040,7 +55970,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4009, + Ctx: p4144, FreeVars: ast.Identifiers{ "v", }, @@ -54048,11 +55978,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(31), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(47), }, }, @@ -54068,7 +55998,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", "j", @@ -54079,11 +56009,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(351), + Line: int(371), Column: int(11), }, End: ast.Location{ - Line: int(351), + Line: int(371), Column: int(48), }, }, @@ -54099,17 +56029,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(352), + Line: int(372), Column: int(22), }, End: ast.Location{ - Line: int(352), + Line: int(372), Column: int(25), }, }, @@ -54120,7 +56050,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -54128,11 +56058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(352), + Line: int(372), Column: int(17), }, End: ast.Location{ - Line: int(352), + Line: int(372), Column: int(18), }, }, @@ -54141,7 +56071,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -54149,11 +56079,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(352), + Line: int(372), Column: int(17), }, End: ast.Location{ - Line: int(352), + Line: int(372), Column: int(25), }, }, @@ -54172,7 +56102,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", }, @@ -54180,11 +56110,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(11), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(18), }, }, @@ -54198,7 +56128,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4038, + Ctx: p4173, FreeVars: ast.Identifiers{ "str", }, @@ -54206,11 +56136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(19), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(22), }, }, @@ -54224,17 +56154,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4038, + Ctx: p4173, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(28), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(29), }, }, @@ -54244,7 +56174,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4038, + Ctx: p4173, FreeVars: ast.Identifiers{ "j", }, @@ -54252,11 +56182,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(24), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(25), }, }, @@ -54265,7 +56195,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4038, + Ctx: p4173, FreeVars: ast.Identifiers{ "j", }, @@ -54273,11 +56203,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(24), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(29), }, }, @@ -54318,17 +56248,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4050, + Ctx: p4185, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(42), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(46), }, }, @@ -54339,11 +56269,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(35), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(46), }, }, @@ -54354,17 +56284,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4038, + Ctx: p4173, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(33), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(48), }, }, @@ -54374,7 +56304,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4038, + Ctx: p4173, FreeVars: ast.Identifiers{ "v", }, @@ -54382,11 +56312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(31), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(32), }, }, @@ -54395,7 +56325,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4038, + Ctx: p4173, FreeVars: ast.Identifiers{ "v", }, @@ -54403,11 +56333,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(31), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(48), }, }, @@ -54423,7 +56353,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", "j", @@ -54434,11 +56364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(353), + Line: int(373), Column: int(11), }, End: ast.Location{ - Line: int(353), + Line: int(373), Column: int(49), }, }, @@ -54454,17 +56384,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(354), + Line: int(374), Column: int(22), }, End: ast.Location{ - Line: int(354), + Line: int(374), Column: int(25), }, }, @@ -54475,7 +56405,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -54483,11 +56413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(354), + Line: int(374), Column: int(17), }, End: ast.Location{ - Line: int(354), + Line: int(374), Column: int(18), }, }, @@ -54496,7 +56426,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", }, @@ -54504,11 +56434,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(354), + Line: int(374), Column: int(17), }, End: ast.Location{ - Line: int(354), + Line: int(374), Column: int(25), }, }, @@ -54527,7 +56457,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", }, @@ -54535,11 +56465,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(11), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(18), }, }, @@ -54553,7 +56483,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4067, + Ctx: p4202, FreeVars: ast.Identifiers{ "str", }, @@ -54561,11 +56491,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(19), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(22), }, }, @@ -54579,17 +56509,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4067, + Ctx: p4202, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(28), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(29), }, }, @@ -54599,7 +56529,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4067, + Ctx: p4202, FreeVars: ast.Identifiers{ "j", }, @@ -54607,11 +56537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(24), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(25), }, }, @@ -54620,7 +56550,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4067, + Ctx: p4202, FreeVars: ast.Identifiers{ "j", }, @@ -54628,11 +56558,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(24), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(29), }, }, @@ -54673,17 +56603,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4079, + Ctx: p4214, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(41), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(45), }, }, @@ -54694,11 +56624,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(35), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(45), }, }, @@ -54709,17 +56639,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4067, + Ctx: p4202, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(33), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(47), }, }, @@ -54729,7 +56659,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4067, + Ctx: p4202, FreeVars: ast.Identifiers{ "v", }, @@ -54737,11 +56667,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(31), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(32), }, }, @@ -54750,7 +56680,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4067, + Ctx: p4202, FreeVars: ast.Identifiers{ "v", }, @@ -54758,11 +56688,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(31), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(47), }, }, @@ -54778,7 +56708,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", "j", @@ -54789,11 +56719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(355), + Line: int(375), Column: int(11), }, End: ast.Location{ - Line: int(355), + Line: int(375), Column: int(48), }, }, @@ -54832,7 +56762,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4088, + Ctx: p4223, FreeVars: ast.Identifiers{ "j", }, @@ -54840,11 +56770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(357), + Line: int(377), Column: int(16), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(17), }, }, @@ -54854,11 +56784,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(357), + Line: int(377), Column: int(13), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(17), }, }, @@ -54893,7 +56823,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4088, + Ctx: p4223, FreeVars: ast.Identifiers{ "v", }, @@ -54901,11 +56831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(357), + Line: int(377), Column: int(22), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(23), }, }, @@ -54915,11 +56845,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(357), + Line: int(377), Column: int(19), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(23), }, }, @@ -54937,7 +56867,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "j", "v", @@ -54946,11 +56876,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(357), + Line: int(377), Column: int(11), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -54967,7 +56897,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", "consume", @@ -54979,11 +56909,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(354), + Line: int(374), Column: int(14), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -55000,7 +56930,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", "consume", @@ -55012,11 +56942,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(352), + Line: int(372), Column: int(14), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -55033,7 +56963,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", "consume", @@ -55045,11 +56975,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(350), + Line: int(370), Column: int(14), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -55066,7 +56996,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", "consume", @@ -55078,11 +57008,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(348), + Line: int(368), Column: int(14), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -55106,7 +57036,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "c", "consume", @@ -55118,11 +57048,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(346), + Line: int(366), Column: int(9), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -55137,7 +57067,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{ "consume", "j", @@ -55148,11 +57078,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(345), + Line: int(365), Column: int(9), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -55165,17 +57095,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p3920, + Ctx: p4055, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(344), + Line: int(364), Column: int(38), }, End: ast.Location{ - Line: int(344), + Line: int(364), Column: int(62), }, }, @@ -55190,11 +57120,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(344), + Line: int(364), Column: int(9), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -55237,11 +57167,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(343), + Line: int(363), Column: int(21), }, End: ast.Location{ - Line: int(343), + Line: int(363), Column: int(24), }, }, @@ -55256,11 +57186,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(343), + Line: int(363), Column: int(26), }, End: ast.Location{ - Line: int(343), + Line: int(363), Column: int(27), }, }, @@ -55275,11 +57205,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(343), + Line: int(363), Column: int(29), }, End: ast.Location{ - Line: int(343), + Line: int(363), Column: int(30), }, }, @@ -55287,7 +57217,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p4112, + Ctx: p4247, FreeVars: ast.Identifiers{ "consume", "std", @@ -55296,11 +57226,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(343), + Line: int(363), Column: int(13), }, End: ast.Location{ - Line: int(357), + Line: int(377), Column: int(25), }, }, @@ -55337,7 +57267,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4117, + Ctx: p4252, FreeVars: ast.Identifiers{ "consume", }, @@ -55345,11 +57275,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(7), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(14), }, }, @@ -55363,7 +57293,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4121, + Ctx: p4256, FreeVars: ast.Identifiers{ "str", }, @@ -55371,11 +57301,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(15), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(18), }, }, @@ -55388,7 +57318,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4121, + Ctx: p4256, FreeVars: ast.Identifiers{ "i", }, @@ -55396,11 +57326,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(20), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(21), }, }, @@ -55439,17 +57369,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4129, + Ctx: p4264, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(30), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(35), }, }, @@ -55460,11 +57390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(25), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(35), }, }, @@ -55498,17 +57428,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4129, + Ctx: p4264, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(43), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(48), }, }, @@ -55519,11 +57449,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(37), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(48), }, }, @@ -55557,17 +57487,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4129, + Ctx: p4264, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(56), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(61), }, }, @@ -55578,11 +57508,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(50), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(61), }, }, @@ -55616,17 +57546,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4129, + Ctx: p4264, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(70), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(75), }, }, @@ -55637,11 +57567,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(63), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(75), }, }, @@ -55675,17 +57605,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4129, + Ctx: p4264, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(83), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(88), }, }, @@ -55696,11 +57626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(77), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(88), }, }, @@ -55711,17 +57641,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4121, + Ctx: p4256, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(23), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(90), }, }, @@ -55736,7 +57666,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4117, + Ctx: p4252, FreeVars: ast.Identifiers{ "consume", "i", @@ -55746,11 +57676,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(358), + Line: int(378), Column: int(7), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(91), }, }, @@ -55767,7 +57697,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4117, + Ctx: p4252, FreeVars: ast.Identifiers{ "i", "std", @@ -55777,11 +57707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(343), + Line: int(363), Column: int(7), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(91), }, }, @@ -55798,11 +57728,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(342), + Line: int(362), Column: int(28), }, End: ast.Location{ - Line: int(342), + Line: int(362), Column: int(31), }, }, @@ -55817,11 +57747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(342), + Line: int(362), Column: int(33), }, End: ast.Location{ - Line: int(342), + Line: int(362), Column: int(34), }, }, @@ -55829,7 +57759,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p4142, + Ctx: p4277, FreeVars: ast.Identifiers{ "std", }, @@ -55837,11 +57767,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(342), + Line: int(362), Column: int(11), }, End: ast.Location{ - Line: int(358), + Line: int(378), Column: int(91), }, }, @@ -55882,17 +57812,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(43), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(46), }, }, @@ -55904,7 +57834,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "str", }, @@ -55912,11 +57842,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(33), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(36), }, }, @@ -55926,7 +57856,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", }, @@ -55934,11 +57864,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(37), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(38), }, }, @@ -55949,7 +57879,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", "str", @@ -55958,11 +57888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(33), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(39), }, }, @@ -55971,7 +57901,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", "str", @@ -55980,11 +57910,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(33), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(46), }, }, @@ -56006,11 +57936,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(14), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(17), }, }, @@ -56044,7 +57974,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "std", }, @@ -56052,11 +57982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(14), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(24), }, }, @@ -56070,7 +58000,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4168, + Ctx: p4303, FreeVars: ast.Identifiers{ "str", }, @@ -56078,11 +58008,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(25), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(28), }, }, @@ -56097,7 +58027,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "std", "str", @@ -56106,11 +58036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(14), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(29), }, }, @@ -56122,7 +58052,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", }, @@ -56130,11 +58060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(10), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(11), }, }, @@ -56143,7 +58073,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", "std", @@ -56153,11 +58083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(10), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(29), }, }, @@ -56167,7 +58097,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", "std", @@ -56177,11 +58107,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(10), }, End: ast.Location{ - Line: int(361), + Line: int(381), Column: int(46), }, }, @@ -56220,17 +58150,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4180, + Ctx: p4315, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(362), + Line: int(382), Column: int(18), }, End: ast.Location{ - Line: int(362), + Line: int(382), Column: int(19), }, }, @@ -56240,7 +58170,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4180, + Ctx: p4315, FreeVars: ast.Identifiers{ "i", }, @@ -56248,11 +58178,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(362), + Line: int(382), Column: int(14), }, End: ast.Location{ - Line: int(362), + Line: int(382), Column: int(15), }, }, @@ -56261,7 +58191,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4180, + Ctx: p4315, FreeVars: ast.Identifiers{ "i", }, @@ -56269,11 +58199,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(362), + Line: int(382), Column: int(14), }, End: ast.Location{ - Line: int(362), + Line: int(382), Column: int(19), }, }, @@ -56284,11 +58214,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(362), + Line: int(382), Column: int(11), }, End: ast.Location{ - Line: int(362), + Line: int(382), Column: int(19), }, }, @@ -56325,17 +58255,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4180, + Ctx: p4315, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(362), + Line: int(382), Column: int(24), }, End: ast.Location{ - Line: int(362), + Line: int(382), Column: int(27), }, }, @@ -56346,11 +58276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(362), + Line: int(382), Column: int(21), }, End: ast.Location{ - Line: int(362), + Line: int(382), Column: int(27), }, }, @@ -56368,7 +58298,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", }, @@ -56376,11 +58306,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(362), + Line: int(382), Column: int(9), }, End: ast.Location{ - Line: int(362), + Line: int(382), Column: int(29), }, }, @@ -56409,11 +58339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(365), + Line: int(385), Column: int(22), }, End: ast.Location{ - Line: int(365), + Line: int(385), Column: int(25), }, }, @@ -56447,7 +58377,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "std", }, @@ -56455,11 +58385,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(365), + Line: int(385), Column: int(22), }, End: ast.Location{ - Line: int(365), + Line: int(385), Column: int(32), }, }, @@ -56473,7 +58403,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4202, + Ctx: p4337, FreeVars: ast.Identifiers{ "str", }, @@ -56481,11 +58411,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(365), + Line: int(385), Column: int(33), }, End: ast.Location{ - Line: int(365), + Line: int(385), Column: int(36), }, }, @@ -56500,7 +58430,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "std", "str", @@ -56509,11 +58439,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(365), + Line: int(385), Column: int(22), }, End: ast.Location{ - Line: int(365), + Line: int(385), Column: int(37), }, }, @@ -56525,7 +58455,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "j", }, @@ -56533,11 +58463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(365), + Line: int(385), Column: int(18), }, End: ast.Location{ - Line: int(365), + Line: int(385), Column: int(19), }, }, @@ -56546,7 +58476,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "j", "std", @@ -56556,11 +58486,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(365), + Line: int(385), Column: int(18), }, End: ast.Location{ - Line: int(365), + Line: int(385), Column: int(37), }, }, @@ -56576,7 +58506,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4212, + Ctx: p4347, FreeVars: ast.Identifiers{ "str", }, @@ -56584,11 +58514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(366), + Line: int(386), Column: int(21), }, End: ast.Location{ - Line: int(366), + Line: int(386), Column: int(24), }, }, @@ -56598,7 +58528,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4212, + Ctx: p4347, FreeVars: ast.Identifiers{ "j", }, @@ -56606,11 +58536,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(366), + Line: int(386), Column: int(25), }, End: ast.Location{ - Line: int(366), + Line: int(386), Column: int(26), }, }, @@ -56621,7 +58551,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4212, + Ctx: p4347, FreeVars: ast.Identifiers{ "j", "str", @@ -56630,11 +58560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(366), + Line: int(386), Column: int(21), }, End: ast.Location{ - Line: int(366), + Line: int(386), Column: int(27), }, }, @@ -56648,11 +58578,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(366), + Line: int(386), Column: int(17), }, End: ast.Location{ - Line: int(366), + Line: int(386), Column: int(27), }, }, @@ -56666,17 +58596,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(367), + Line: int(387), Column: int(19), }, End: ast.Location{ - Line: int(367), + Line: int(387), Column: int(22), }, }, @@ -56687,7 +58617,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -56695,11 +58625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(367), + Line: int(387), Column: int(14), }, End: ast.Location{ - Line: int(367), + Line: int(387), Column: int(15), }, }, @@ -56708,7 +58638,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -56716,11 +58646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(367), + Line: int(387), Column: int(14), }, End: ast.Location{ - Line: int(367), + Line: int(387), Column: int(22), }, }, @@ -56739,7 +58669,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -56747,11 +58677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(13), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(20), }, }, @@ -56765,7 +58695,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{ "str", }, @@ -56773,11 +58703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(21), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(24), }, }, @@ -56791,17 +58721,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(30), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(31), }, }, @@ -56811,7 +58741,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{ "j", }, @@ -56819,11 +58749,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(26), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(27), }, }, @@ -56832,7 +58762,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{ "j", }, @@ -56840,11 +58770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(26), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(31), }, }, @@ -56859,17 +58789,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(42), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(43), }, }, @@ -56880,17 +58810,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(37), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(39), }, }, @@ -56900,7 +58830,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{ "v", }, @@ -56908,11 +58838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(33), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(34), }, }, @@ -56921,7 +58851,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{ "v", }, @@ -56929,11 +58859,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(33), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(39), }, }, @@ -56943,7 +58873,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4229, + Ctx: p4364, FreeVars: ast.Identifiers{ "v", }, @@ -56951,11 +58881,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(33), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(43), }, }, @@ -56971,7 +58901,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -56982,11 +58912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(368), + Line: int(388), Column: int(13), }, End: ast.Location{ - Line: int(368), + Line: int(388), Column: int(44), }, }, @@ -57002,17 +58932,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(369), + Line: int(389), Column: int(24), }, End: ast.Location{ - Line: int(369), + Line: int(389), Column: int(27), }, }, @@ -57023,7 +58953,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -57031,11 +58961,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(369), + Line: int(389), Column: int(19), }, End: ast.Location{ - Line: int(369), + Line: int(389), Column: int(20), }, }, @@ -57044,7 +58974,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -57052,11 +58982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(369), + Line: int(389), Column: int(19), }, End: ast.Location{ - Line: int(369), + Line: int(389), Column: int(27), }, }, @@ -57075,7 +59005,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -57083,11 +59013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(13), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(20), }, }, @@ -57101,7 +59031,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{ "str", }, @@ -57109,11 +59039,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(21), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(24), }, }, @@ -57127,17 +59057,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(30), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(31), }, }, @@ -57147,7 +59077,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{ "j", }, @@ -57155,11 +59085,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(26), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(27), }, }, @@ -57168,7 +59098,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{ "j", }, @@ -57176,11 +59106,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(26), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(31), }, }, @@ -57195,17 +59125,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(42), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(43), }, }, @@ -57216,17 +59146,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(37), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(39), }, }, @@ -57236,7 +59166,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{ "v", }, @@ -57244,11 +59174,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(33), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(34), }, }, @@ -57257,7 +59187,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{ "v", }, @@ -57265,11 +59195,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(33), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(39), }, }, @@ -57279,7 +59209,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4257, + Ctx: p4392, FreeVars: ast.Identifiers{ "v", }, @@ -57287,11 +59217,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(33), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(43), }, }, @@ -57307,7 +59237,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -57318,11 +59248,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(370), + Line: int(390), Column: int(13), }, End: ast.Location{ - Line: int(370), + Line: int(390), Column: int(44), }, }, @@ -57338,17 +59268,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(371), + Line: int(391), Column: int(24), }, End: ast.Location{ - Line: int(371), + Line: int(391), Column: int(27), }, }, @@ -57359,7 +59289,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -57367,11 +59297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(371), + Line: int(391), Column: int(19), }, End: ast.Location{ - Line: int(371), + Line: int(391), Column: int(20), }, }, @@ -57380,7 +59310,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -57388,11 +59318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(371), + Line: int(391), Column: int(19), }, End: ast.Location{ - Line: int(371), + Line: int(391), Column: int(27), }, }, @@ -57411,7 +59341,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -57419,11 +59349,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(13), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(20), }, }, @@ -57437,7 +59367,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{ "str", }, @@ -57445,11 +59375,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(21), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(24), }, }, @@ -57463,17 +59393,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(30), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(31), }, }, @@ -57483,7 +59413,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{ "j", }, @@ -57491,11 +59421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(26), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(27), }, }, @@ -57504,7 +59434,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{ "j", }, @@ -57512,11 +59442,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(26), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(31), }, }, @@ -57531,17 +59461,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(42), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(43), }, }, @@ -57552,17 +59482,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(37), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(39), }, }, @@ -57572,7 +59502,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{ "v", }, @@ -57580,11 +59510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(33), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(34), }, }, @@ -57593,7 +59523,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{ "v", }, @@ -57601,11 +59531,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(33), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(39), }, }, @@ -57615,7 +59545,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4285, + Ctx: p4420, FreeVars: ast.Identifiers{ "v", }, @@ -57623,11 +59553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(33), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(43), }, }, @@ -57643,7 +59573,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -57654,11 +59584,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(372), + Line: int(392), Column: int(13), }, End: ast.Location{ - Line: int(372), + Line: int(392), Column: int(44), }, }, @@ -57674,17 +59604,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(373), + Line: int(393), Column: int(24), }, End: ast.Location{ - Line: int(373), + Line: int(393), Column: int(27), }, }, @@ -57695,7 +59625,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -57703,11 +59633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(373), + Line: int(393), Column: int(19), }, End: ast.Location{ - Line: int(373), + Line: int(393), Column: int(20), }, }, @@ -57716,7 +59646,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -57724,11 +59654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(373), + Line: int(393), Column: int(19), }, End: ast.Location{ - Line: int(373), + Line: int(393), Column: int(27), }, }, @@ -57747,7 +59677,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -57755,11 +59685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(13), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(20), }, }, @@ -57773,7 +59703,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{ "str", }, @@ -57781,11 +59711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(21), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(24), }, }, @@ -57799,17 +59729,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(30), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(31), }, }, @@ -57819,7 +59749,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{ "j", }, @@ -57827,11 +59757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(26), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(27), }, }, @@ -57840,7 +59770,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{ "j", }, @@ -57848,11 +59778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(26), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(31), }, }, @@ -57867,17 +59797,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(42), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(43), }, }, @@ -57888,17 +59818,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(37), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(39), }, }, @@ -57908,7 +59838,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{ "v", }, @@ -57916,11 +59846,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(33), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(34), }, }, @@ -57929,7 +59859,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{ "v", }, @@ -57937,11 +59867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(33), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(39), }, }, @@ -57951,7 +59881,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4313, + Ctx: p4448, FreeVars: ast.Identifiers{ "v", }, @@ -57959,11 +59889,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(33), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(43), }, }, @@ -57979,7 +59909,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -57990,11 +59920,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(374), + Line: int(394), Column: int(13), }, End: ast.Location{ - Line: int(374), + Line: int(394), Column: int(44), }, }, @@ -58010,17 +59940,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(375), + Line: int(395), Column: int(24), }, End: ast.Location{ - Line: int(375), + Line: int(395), Column: int(27), }, }, @@ -58031,7 +59961,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -58039,11 +59969,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(375), + Line: int(395), Column: int(19), }, End: ast.Location{ - Line: int(375), + Line: int(395), Column: int(20), }, }, @@ -58052,7 +59982,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -58060,11 +59990,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(375), + Line: int(395), Column: int(19), }, End: ast.Location{ - Line: int(375), + Line: int(395), Column: int(27), }, }, @@ -58083,7 +60013,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -58091,11 +60021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(13), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(20), }, }, @@ -58109,7 +60039,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{ "str", }, @@ -58117,11 +60047,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(21), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(24), }, }, @@ -58135,17 +60065,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(30), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(31), }, }, @@ -58155,7 +60085,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{ "j", }, @@ -58163,11 +60093,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(26), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(27), }, }, @@ -58176,7 +60106,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{ "j", }, @@ -58184,11 +60114,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(26), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(31), }, }, @@ -58203,17 +60133,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(42), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(43), }, }, @@ -58224,17 +60154,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(37), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(39), }, }, @@ -58244,7 +60174,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{ "v", }, @@ -58252,11 +60182,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(33), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(34), }, }, @@ -58265,7 +60195,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{ "v", }, @@ -58273,11 +60203,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(33), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(39), }, }, @@ -58287,7 +60217,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4341, + Ctx: p4476, FreeVars: ast.Identifiers{ "v", }, @@ -58295,11 +60225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(33), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(43), }, }, @@ -58315,7 +60245,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -58326,11 +60256,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(376), + Line: int(396), Column: int(13), }, End: ast.Location{ - Line: int(376), + Line: int(396), Column: int(44), }, }, @@ -58346,17 +60276,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(377), + Line: int(397), Column: int(24), }, End: ast.Location{ - Line: int(377), + Line: int(397), Column: int(27), }, }, @@ -58367,7 +60297,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -58375,11 +60305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(377), + Line: int(397), Column: int(19), }, End: ast.Location{ - Line: int(377), + Line: int(397), Column: int(20), }, }, @@ -58388,7 +60318,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -58396,11 +60326,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(377), + Line: int(397), Column: int(19), }, End: ast.Location{ - Line: int(377), + Line: int(397), Column: int(27), }, }, @@ -58419,7 +60349,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -58427,11 +60357,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(13), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(20), }, }, @@ -58445,7 +60375,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{ "str", }, @@ -58453,11 +60383,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(21), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(24), }, }, @@ -58471,17 +60401,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(30), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(31), }, }, @@ -58491,7 +60421,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{ "j", }, @@ -58499,11 +60429,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(26), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(27), }, }, @@ -58512,7 +60442,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{ "j", }, @@ -58520,11 +60450,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(26), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(31), }, }, @@ -58539,17 +60469,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "5", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(42), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(43), }, }, @@ -58560,17 +60490,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(37), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(39), }, }, @@ -58580,7 +60510,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{ "v", }, @@ -58588,11 +60518,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(33), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(34), }, }, @@ -58601,7 +60531,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{ "v", }, @@ -58609,11 +60539,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(33), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(39), }, }, @@ -58623,7 +60553,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4369, + Ctx: p4504, FreeVars: ast.Identifiers{ "v", }, @@ -58631,11 +60561,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(33), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(43), }, }, @@ -58651,7 +60581,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -58662,11 +60592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(378), + Line: int(398), Column: int(13), }, End: ast.Location{ - Line: int(378), + Line: int(398), Column: int(44), }, }, @@ -58682,17 +60612,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(379), + Line: int(399), Column: int(24), }, End: ast.Location{ - Line: int(379), + Line: int(399), Column: int(27), }, }, @@ -58703,7 +60633,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -58711,11 +60641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(379), + Line: int(399), Column: int(19), }, End: ast.Location{ - Line: int(379), + Line: int(399), Column: int(20), }, }, @@ -58724,7 +60654,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -58732,11 +60662,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(379), + Line: int(399), Column: int(19), }, End: ast.Location{ - Line: int(379), + Line: int(399), Column: int(27), }, }, @@ -58755,7 +60685,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -58763,11 +60693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(13), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(20), }, }, @@ -58781,7 +60711,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{ "str", }, @@ -58789,11 +60719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(21), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(24), }, }, @@ -58807,17 +60737,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(30), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(31), }, }, @@ -58827,7 +60757,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{ "j", }, @@ -58835,11 +60765,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(26), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(27), }, }, @@ -58848,7 +60778,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{ "j", }, @@ -58856,11 +60786,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(26), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(31), }, }, @@ -58875,17 +60805,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "6", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(42), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(43), }, }, @@ -58896,17 +60826,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(37), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(39), }, }, @@ -58916,7 +60846,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{ "v", }, @@ -58924,11 +60854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(33), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(34), }, }, @@ -58937,7 +60867,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{ "v", }, @@ -58945,11 +60875,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(33), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(39), }, }, @@ -58959,7 +60889,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4397, + Ctx: p4532, FreeVars: ast.Identifiers{ "v", }, @@ -58967,11 +60897,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(33), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(43), }, }, @@ -58987,7 +60917,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -58998,11 +60928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(380), + Line: int(400), Column: int(13), }, End: ast.Location{ - Line: int(380), + Line: int(400), Column: int(44), }, }, @@ -59018,17 +60948,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(381), + Line: int(401), Column: int(24), }, End: ast.Location{ - Line: int(381), + Line: int(401), Column: int(27), }, }, @@ -59039,7 +60969,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -59047,11 +60977,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(381), + Line: int(401), Column: int(19), }, End: ast.Location{ - Line: int(381), + Line: int(401), Column: int(20), }, }, @@ -59060,7 +60990,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -59068,11 +60998,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(381), + Line: int(401), Column: int(19), }, End: ast.Location{ - Line: int(381), + Line: int(401), Column: int(27), }, }, @@ -59091,7 +61021,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -59099,11 +61029,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(13), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(20), }, }, @@ -59117,7 +61047,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{ "str", }, @@ -59125,11 +61055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(21), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(24), }, }, @@ -59143,17 +61073,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(30), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(31), }, }, @@ -59163,7 +61093,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{ "j", }, @@ -59171,11 +61101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(26), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(27), }, }, @@ -59184,7 +61114,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{ "j", }, @@ -59192,11 +61122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(26), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(31), }, }, @@ -59211,17 +61141,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "7", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(42), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(43), }, }, @@ -59232,17 +61162,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(37), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(39), }, }, @@ -59252,7 +61182,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{ "v", }, @@ -59260,11 +61190,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(33), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(34), }, }, @@ -59273,7 +61203,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{ "v", }, @@ -59281,11 +61211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(33), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(39), }, }, @@ -59295,7 +61225,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4425, + Ctx: p4560, FreeVars: ast.Identifiers{ "v", }, @@ -59303,11 +61233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(33), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(43), }, }, @@ -59323,7 +61253,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -59334,11 +61264,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(382), + Line: int(402), Column: int(13), }, End: ast.Location{ - Line: int(382), + Line: int(402), Column: int(44), }, }, @@ -59354,17 +61284,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(383), + Line: int(403), Column: int(24), }, End: ast.Location{ - Line: int(383), + Line: int(403), Column: int(27), }, }, @@ -59375,7 +61305,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -59383,11 +61313,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(383), + Line: int(403), Column: int(19), }, End: ast.Location{ - Line: int(383), + Line: int(403), Column: int(20), }, }, @@ -59396,7 +61326,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -59404,11 +61334,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(383), + Line: int(403), Column: int(19), }, End: ast.Location{ - Line: int(383), + Line: int(403), Column: int(27), }, }, @@ -59427,7 +61357,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -59435,11 +61365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(13), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(20), }, }, @@ -59453,7 +61383,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{ "str", }, @@ -59461,11 +61391,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(21), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(24), }, }, @@ -59479,17 +61409,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(30), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(31), }, }, @@ -59499,7 +61429,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{ "j", }, @@ -59507,11 +61437,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(26), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(27), }, }, @@ -59520,7 +61450,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{ "j", }, @@ -59528,11 +61458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(26), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(31), }, }, @@ -59547,17 +61477,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "8", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(42), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(43), }, }, @@ -59568,17 +61498,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(37), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(39), }, }, @@ -59588,7 +61518,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{ "v", }, @@ -59596,11 +61526,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(33), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(34), }, }, @@ -59609,7 +61539,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{ "v", }, @@ -59617,11 +61547,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(33), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(39), }, }, @@ -59631,7 +61561,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4453, + Ctx: p4588, FreeVars: ast.Identifiers{ "v", }, @@ -59639,11 +61569,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(33), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(43), }, }, @@ -59659,7 +61589,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -59670,11 +61600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(384), + Line: int(404), Column: int(13), }, End: ast.Location{ - Line: int(384), + Line: int(404), Column: int(44), }, }, @@ -59690,17 +61620,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(385), + Line: int(405), Column: int(24), }, End: ast.Location{ - Line: int(385), + Line: int(405), Column: int(27), }, }, @@ -59711,7 +61641,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -59719,11 +61649,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(385), + Line: int(405), Column: int(19), }, End: ast.Location{ - Line: int(385), + Line: int(405), Column: int(20), }, }, @@ -59732,7 +61662,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", }, @@ -59740,11 +61670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(385), + Line: int(405), Column: int(19), }, End: ast.Location{ - Line: int(385), + Line: int(405), Column: int(27), }, }, @@ -59763,7 +61693,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", }, @@ -59771,11 +61701,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(13), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(20), }, }, @@ -59789,7 +61719,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{ "str", }, @@ -59797,11 +61727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(21), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(24), }, }, @@ -59815,17 +61745,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(30), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(31), }, }, @@ -59835,7 +61765,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{ "j", }, @@ -59843,11 +61773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(26), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(27), }, }, @@ -59856,7 +61786,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{ "j", }, @@ -59864,11 +61794,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(26), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(31), }, }, @@ -59883,17 +61813,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "9", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(42), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(43), }, }, @@ -59904,17 +61834,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(37), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(39), }, }, @@ -59924,7 +61854,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{ "v", }, @@ -59932,11 +61862,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(33), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(34), }, }, @@ -59945,7 +61875,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{ "v", }, @@ -59953,11 +61883,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(33), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(39), }, }, @@ -59967,7 +61897,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4481, + Ctx: p4616, FreeVars: ast.Identifiers{ "v", }, @@ -59975,11 +61905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(33), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(43), }, }, @@ -59995,7 +61925,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -60006,11 +61936,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(386), + Line: int(406), Column: int(13), }, End: ast.Location{ - Line: int(386), + Line: int(406), Column: int(44), }, }, @@ -60049,7 +61979,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4501, + Ctx: p4636, FreeVars: ast.Identifiers{ "j", }, @@ -60057,11 +61987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(388), + Line: int(408), Column: int(18), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(19), }, }, @@ -60071,11 +62001,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(388), + Line: int(408), Column: int(15), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(19), }, }, @@ -60110,7 +62040,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4501, + Ctx: p4636, FreeVars: ast.Identifiers{ "v", }, @@ -60118,11 +62048,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(388), + Line: int(408), Column: int(24), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(25), }, }, @@ -60132,11 +62062,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(388), + Line: int(408), Column: int(21), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(25), }, }, @@ -60154,7 +62084,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "j", "v", @@ -60163,11 +62093,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(388), + Line: int(408), Column: int(13), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60184,7 +62114,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60196,11 +62126,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(385), + Line: int(405), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60217,7 +62147,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60229,11 +62159,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(383), + Line: int(403), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60250,7 +62180,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60262,11 +62192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(381), + Line: int(401), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60283,7 +62213,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60295,11 +62225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(379), + Line: int(399), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60316,7 +62246,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60328,11 +62258,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(377), + Line: int(397), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60349,7 +62279,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60361,11 +62291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(375), + Line: int(395), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60382,7 +62312,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60394,11 +62324,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(373), + Line: int(393), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60415,7 +62345,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60427,11 +62357,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(371), + Line: int(391), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60448,7 +62378,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60460,11 +62390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(369), + Line: int(389), Column: int(16), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60488,7 +62418,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "c", "consume", @@ -60500,11 +62430,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(367), + Line: int(387), Column: int(11), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60519,7 +62449,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{ "consume", "j", @@ -60530,11 +62460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(366), + Line: int(386), Column: int(11), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60547,17 +62477,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4198, + Ctx: p4333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(365), + Line: int(385), Column: int(40), }, End: ast.Location{ - Line: int(365), + Line: int(385), Column: int(64), }, }, @@ -60572,11 +62502,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(365), + Line: int(385), Column: int(11), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60619,11 +62549,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(364), + Line: int(384), Column: int(23), }, End: ast.Location{ - Line: int(364), + Line: int(384), Column: int(26), }, }, @@ -60638,11 +62568,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(364), + Line: int(384), Column: int(28), }, End: ast.Location{ - Line: int(364), + Line: int(384), Column: int(29), }, }, @@ -60657,11 +62587,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(364), + Line: int(384), Column: int(31), }, End: ast.Location{ - Line: int(364), + Line: int(384), Column: int(32), }, }, @@ -60669,7 +62599,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p4535, + Ctx: p4670, FreeVars: ast.Identifiers{ "consume", "std", @@ -60678,11 +62608,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(364), + Line: int(384), Column: int(15), }, End: ast.Location{ - Line: int(388), + Line: int(408), Column: int(27), }, }, @@ -60719,7 +62649,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "consume", }, @@ -60727,11 +62657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(389), + Line: int(409), Column: int(9), }, End: ast.Location{ - Line: int(389), + Line: int(409), Column: int(16), }, }, @@ -60745,7 +62675,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4543, + Ctx: p4678, FreeVars: ast.Identifiers{ "str", }, @@ -60753,11 +62683,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(389), + Line: int(409), Column: int(17), }, End: ast.Location{ - Line: int(389), + Line: int(409), Column: int(20), }, }, @@ -60770,7 +62700,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4543, + Ctx: p4678, FreeVars: ast.Identifiers{ "i", }, @@ -60778,11 +62708,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(389), + Line: int(409), Column: int(22), }, End: ast.Location{ - Line: int(389), + Line: int(409), Column: int(23), }, }, @@ -60795,17 +62725,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4543, + Ctx: p4678, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(389), + Line: int(409), Column: int(25), }, End: ast.Location{ - Line: int(389), + Line: int(409), Column: int(26), }, }, @@ -60820,7 +62750,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "consume", "i", @@ -60830,11 +62760,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(389), + Line: int(409), Column: int(9), }, End: ast.Location{ - Line: int(389), + Line: int(409), Column: int(27), }, }, @@ -60851,7 +62781,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", "std", @@ -60861,11 +62791,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(364), + Line: int(384), Column: int(9), }, End: ast.Location{ - Line: int(389), + Line: int(409), Column: int(27), }, }, @@ -60889,7 +62819,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4151, + Ctx: p4286, FreeVars: ast.Identifiers{ "i", "std", @@ -60899,11 +62829,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(361), + Line: int(381), Column: int(7), }, End: ast.Location{ - Line: int(389), + Line: int(409), Column: int(27), }, }, @@ -60920,11 +62850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(360), + Line: int(380), Column: int(33), }, End: ast.Location{ - Line: int(360), + Line: int(380), Column: int(36), }, }, @@ -60939,11 +62869,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(360), + Line: int(380), Column: int(38), }, End: ast.Location{ - Line: int(360), + Line: int(380), Column: int(39), }, }, @@ -60951,7 +62881,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p4555, + Ctx: p4690, FreeVars: ast.Identifiers{ "std", }, @@ -60959,11 +62889,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(360), + Line: int(380), Column: int(11), }, End: ast.Location{ - Line: int(389), + Line: int(409), Column: int(27), }, }, @@ -61011,11 +62941,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(392), + Line: int(412), Column: int(18), }, End: ast.Location{ - Line: int(392), + Line: int(412), Column: int(21), }, }, @@ -61049,7 +62979,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "std", }, @@ -61057,11 +62987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(392), + Line: int(412), Column: int(18), }, End: ast.Location{ - Line: int(392), + Line: int(412), Column: int(28), }, }, @@ -61075,7 +63005,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4571, + Ctx: p4706, FreeVars: ast.Identifiers{ "str", }, @@ -61083,11 +63013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(392), + Line: int(412), Column: int(29), }, End: ast.Location{ - Line: int(392), + Line: int(412), Column: int(32), }, }, @@ -61102,7 +63032,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "std", "str", @@ -61111,11 +63041,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(392), + Line: int(412), Column: int(18), }, End: ast.Location{ - Line: int(392), + Line: int(412), Column: int(33), }, }, @@ -61127,7 +63057,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "i", }, @@ -61135,11 +63065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(392), + Line: int(412), Column: int(14), }, End: ast.Location{ - Line: int(392), + Line: int(412), Column: int(15), }, }, @@ -61148,7 +63078,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "i", "std", @@ -61158,11 +63088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(392), + Line: int(412), Column: int(14), }, End: ast.Location{ - Line: int(392), + Line: int(412), Column: int(33), }, }, @@ -61178,7 +63108,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4581, + Ctx: p4716, FreeVars: ast.Identifiers{ "str", }, @@ -61186,11 +63116,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(393), + Line: int(413), Column: int(17), }, End: ast.Location{ - Line: int(393), + Line: int(413), Column: int(20), }, }, @@ -61200,7 +63130,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4581, + Ctx: p4716, FreeVars: ast.Identifiers{ "i", }, @@ -61208,11 +63138,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(393), + Line: int(413), Column: int(21), }, End: ast.Location{ - Line: int(393), + Line: int(413), Column: int(22), }, }, @@ -61223,7 +63153,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4581, + Ctx: p4716, FreeVars: ast.Identifiers{ "i", "str", @@ -61232,11 +63162,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(393), + Line: int(413), Column: int(17), }, End: ast.Location{ - Line: int(393), + Line: int(413), Column: int(23), }, }, @@ -61250,11 +63180,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(393), + Line: int(413), Column: int(13), }, End: ast.Location{ - Line: int(393), + Line: int(413), Column: int(23), }, }, @@ -61268,17 +63198,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(394), + Line: int(414), Column: int(15), }, End: ast.Location{ - Line: int(394), + Line: int(414), Column: int(18), }, }, @@ -61289,7 +63219,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "c", }, @@ -61297,11 +63227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(394), + Line: int(414), Column: int(10), }, End: ast.Location{ - Line: int(394), + Line: int(414), Column: int(11), }, }, @@ -61310,7 +63240,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "c", }, @@ -61318,11 +63248,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(394), + Line: int(414), Column: int(10), }, End: ast.Location{ - Line: int(394), + Line: int(414), Column: int(18), }, }, @@ -61341,7 +63271,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "try_parse_field_width", }, @@ -61349,11 +63279,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(395), + Line: int(415), Column: int(9), }, End: ast.Location{ - Line: int(395), + Line: int(415), Column: int(30), }, }, @@ -61367,7 +63297,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4598, + Ctx: p4733, FreeVars: ast.Identifiers{ "str", }, @@ -61375,11 +63305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(395), + Line: int(415), Column: int(31), }, End: ast.Location{ - Line: int(395), + Line: int(415), Column: int(34), }, }, @@ -61393,17 +63323,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4598, + Ctx: p4733, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(395), + Line: int(415), Column: int(40), }, End: ast.Location{ - Line: int(395), + Line: int(415), Column: int(41), }, }, @@ -61413,7 +63343,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4598, + Ctx: p4733, FreeVars: ast.Identifiers{ "i", }, @@ -61421,11 +63351,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(395), + Line: int(415), Column: int(36), }, End: ast.Location{ - Line: int(395), + Line: int(415), Column: int(37), }, }, @@ -61434,7 +63364,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4598, + Ctx: p4733, FreeVars: ast.Identifiers{ "i", }, @@ -61442,11 +63372,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(395), + Line: int(415), Column: int(36), }, End: ast.Location{ - Line: int(395), + Line: int(415), Column: int(41), }, }, @@ -61462,7 +63392,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "i", "str", @@ -61472,11 +63402,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(395), + Line: int(415), Column: int(9), }, End: ast.Location{ - Line: int(395), + Line: int(415), Column: int(42), }, }, @@ -61515,7 +63445,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4610, + Ctx: p4745, FreeVars: ast.Identifiers{ "i", }, @@ -61523,11 +63453,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(397), + Line: int(417), Column: int(14), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(15), }, }, @@ -61537,11 +63467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(397), + Line: int(417), Column: int(11), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(15), }, }, @@ -61575,17 +63505,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4610, + Ctx: p4745, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(397), + Line: int(417), Column: int(20), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(24), }, }, @@ -61595,11 +63525,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(397), + Line: int(417), Column: int(17), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(24), }, }, @@ -61617,7 +63547,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "i", }, @@ -61625,11 +63555,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(397), + Line: int(417), Column: int(9), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(26), }, }, @@ -61653,7 +63583,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "c", "i", @@ -61664,11 +63594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(394), + Line: int(414), Column: int(7), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(26), }, }, @@ -61683,7 +63613,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{ "i", "str", @@ -61693,11 +63623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(393), + Line: int(413), Column: int(7), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(26), }, }, @@ -61710,17 +63640,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4567, + Ctx: p4702, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(392), + Line: int(412), Column: int(36), }, End: ast.Location{ - Line: int(392), + Line: int(412), Column: int(60), }, }, @@ -61735,11 +63665,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(392), + Line: int(412), Column: int(7), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(26), }, }, @@ -61781,11 +63711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(391), + Line: int(411), Column: int(31), }, End: ast.Location{ - Line: int(391), + Line: int(411), Column: int(34), }, }, @@ -61800,11 +63730,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(391), + Line: int(411), Column: int(36), }, End: ast.Location{ - Line: int(391), + Line: int(411), Column: int(37), }, }, @@ -61812,7 +63742,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p4625, + Ctx: p4760, FreeVars: ast.Identifiers{ "std", "try_parse_field_width", @@ -61821,11 +63751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(391), + Line: int(411), Column: int(11), }, End: ast.Location{ - Line: int(397), + Line: int(417), Column: int(26), }, }, @@ -61873,11 +63803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(401), + Line: int(421), Column: int(18), }, End: ast.Location{ - Line: int(401), + Line: int(421), Column: int(21), }, }, @@ -61911,7 +63841,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "std", }, @@ -61919,11 +63849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(401), + Line: int(421), Column: int(18), }, End: ast.Location{ - Line: int(401), + Line: int(421), Column: int(28), }, }, @@ -61937,7 +63867,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4641, + Ctx: p4776, FreeVars: ast.Identifiers{ "str", }, @@ -61945,11 +63875,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(401), + Line: int(421), Column: int(29), }, End: ast.Location{ - Line: int(401), + Line: int(421), Column: int(32), }, }, @@ -61964,7 +63894,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "std", "str", @@ -61973,11 +63903,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(401), + Line: int(421), Column: int(18), }, End: ast.Location{ - Line: int(401), + Line: int(421), Column: int(33), }, }, @@ -61989,7 +63919,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "i", }, @@ -61997,11 +63927,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(401), + Line: int(421), Column: int(14), }, End: ast.Location{ - Line: int(401), + Line: int(421), Column: int(15), }, }, @@ -62010,7 +63940,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "i", "std", @@ -62020,11 +63950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(401), + Line: int(421), Column: int(14), }, End: ast.Location{ - Line: int(401), + Line: int(421), Column: int(33), }, }, @@ -62040,7 +63970,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4651, + Ctx: p4786, FreeVars: ast.Identifiers{ "str", }, @@ -62048,11 +63978,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(402), + Line: int(422), Column: int(17), }, End: ast.Location{ - Line: int(402), + Line: int(422), Column: int(20), }, }, @@ -62062,7 +63992,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4651, + Ctx: p4786, FreeVars: ast.Identifiers{ "i", }, @@ -62070,11 +64000,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(402), + Line: int(422), Column: int(21), }, End: ast.Location{ - Line: int(402), + Line: int(422), Column: int(22), }, }, @@ -62085,7 +64015,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4651, + Ctx: p4786, FreeVars: ast.Identifiers{ "i", "str", @@ -62094,11 +64024,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(402), + Line: int(422), Column: int(17), }, End: ast.Location{ - Line: int(402), + Line: int(422), Column: int(23), }, }, @@ -62112,11 +64042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(402), + Line: int(422), Column: int(13), }, End: ast.Location{ - Line: int(402), + Line: int(422), Column: int(23), }, }, @@ -62131,17 +64061,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(39), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(42), }, }, @@ -62152,7 +64082,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", }, @@ -62160,11 +64090,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(34), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(35), }, }, @@ -62173,7 +64103,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", }, @@ -62181,11 +64111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(34), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(42), }, }, @@ -62200,17 +64130,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(27), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(30), }, }, @@ -62221,7 +64151,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", }, @@ -62229,11 +64159,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(22), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(23), }, }, @@ -62242,7 +64172,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", }, @@ -62250,11 +64180,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(22), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(30), }, }, @@ -62268,17 +64198,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(15), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(18), }, }, @@ -62289,7 +64219,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", }, @@ -62297,11 +64227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(10), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(11), }, }, @@ -62310,7 +64240,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", }, @@ -62318,11 +64248,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(10), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(18), }, }, @@ -62332,7 +64262,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", }, @@ -62340,11 +64270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(10), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(30), }, }, @@ -62354,7 +64284,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", }, @@ -62362,11 +64292,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(10), }, End: ast.Location{ - Line: int(403), + Line: int(423), Column: int(42), }, }, @@ -62378,17 +64308,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(404), + Line: int(424), Column: int(13), }, End: ast.Location{ - Line: int(404), + Line: int(424), Column: int(14), }, }, @@ -62405,7 +64335,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "i", }, @@ -62413,11 +64343,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(404), + Line: int(424), Column: int(9), }, End: ast.Location{ - Line: int(404), + Line: int(424), Column: int(10), }, }, @@ -62426,7 +64356,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "i", }, @@ -62434,11 +64364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(404), + Line: int(424), Column: int(9), }, End: ast.Location{ - Line: int(404), + Line: int(424), Column: int(14), }, }, @@ -62456,7 +64386,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "i", }, @@ -62464,11 +64394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(406), + Line: int(426), Column: int(9), }, End: ast.Location{ - Line: int(406), + Line: int(426), Column: int(10), }, }, @@ -62492,7 +64422,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "c", "i", @@ -62501,11 +64431,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(403), + Line: int(423), Column: int(7), }, End: ast.Location{ - Line: int(406), + Line: int(426), Column: int(10), }, }, @@ -62520,7 +64450,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{ "i", "str", @@ -62529,11 +64459,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(402), + Line: int(422), Column: int(7), }, End: ast.Location{ - Line: int(406), + Line: int(426), Column: int(10), }, }, @@ -62546,17 +64476,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4637, + Ctx: p4772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(401), + Line: int(421), Column: int(36), }, End: ast.Location{ - Line: int(401), + Line: int(421), Column: int(60), }, }, @@ -62571,11 +64501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(401), + Line: int(421), Column: int(7), }, End: ast.Location{ - Line: int(406), + Line: int(426), Column: int(10), }, }, @@ -62616,11 +64546,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(400), + Line: int(420), Column: int(37), }, End: ast.Location{ - Line: int(400), + Line: int(420), Column: int(40), }, }, @@ -62635,11 +64565,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(400), + Line: int(420), Column: int(42), }, End: ast.Location{ - Line: int(400), + Line: int(420), Column: int(43), }, }, @@ -62647,7 +64577,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p4694, + Ctx: p4829, FreeVars: ast.Identifiers{ "std", }, @@ -62655,11 +64585,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(400), + Line: int(420), Column: int(11), }, End: ast.Location{ - Line: int(406), + Line: int(426), Column: int(10), }, }, @@ -62707,11 +64637,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(409), + Line: int(429), Column: int(18), }, End: ast.Location{ - Line: int(409), + Line: int(429), Column: int(21), }, }, @@ -62745,7 +64675,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "std", }, @@ -62753,11 +64683,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(409), + Line: int(429), Column: int(18), }, End: ast.Location{ - Line: int(409), + Line: int(429), Column: int(28), }, }, @@ -62771,7 +64701,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4710, + Ctx: p4845, FreeVars: ast.Identifiers{ "str", }, @@ -62779,11 +64709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(409), + Line: int(429), Column: int(29), }, End: ast.Location{ - Line: int(409), + Line: int(429), Column: int(32), }, }, @@ -62798,7 +64728,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "std", "str", @@ -62807,11 +64737,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(409), + Line: int(429), Column: int(18), }, End: ast.Location{ - Line: int(409), + Line: int(429), Column: int(33), }, }, @@ -62823,7 +64753,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -62831,11 +64761,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(409), + Line: int(429), Column: int(14), }, End: ast.Location{ - Line: int(409), + Line: int(429), Column: int(15), }, }, @@ -62844,7 +64774,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", "std", @@ -62854,11 +64784,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(409), + Line: int(429), Column: int(14), }, End: ast.Location{ - Line: int(409), + Line: int(429), Column: int(33), }, }, @@ -62874,7 +64804,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4720, + Ctx: p4855, FreeVars: ast.Identifiers{ "str", }, @@ -62882,11 +64812,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(410), + Line: int(430), Column: int(17), }, End: ast.Location{ - Line: int(410), + Line: int(430), Column: int(20), }, }, @@ -62896,7 +64826,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4720, + Ctx: p4855, FreeVars: ast.Identifiers{ "i", }, @@ -62904,11 +64834,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(410), + Line: int(430), Column: int(21), }, End: ast.Location{ - Line: int(410), + Line: int(430), Column: int(22), }, }, @@ -62919,7 +64849,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4720, + Ctx: p4855, FreeVars: ast.Identifiers{ "i", "str", @@ -62928,11 +64858,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(410), + Line: int(430), Column: int(17), }, End: ast.Location{ - Line: int(410), + Line: int(430), Column: int(23), }, }, @@ -62946,11 +64876,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(410), + Line: int(430), Column: int(13), }, End: ast.Location{ - Line: int(410), + Line: int(430), Column: int(23), }, }, @@ -62965,17 +64895,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(39), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(42), }, }, @@ -62986,7 +64916,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -62994,11 +64924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(34), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(35), }, }, @@ -63007,7 +64937,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63015,11 +64945,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(34), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(42), }, }, @@ -63034,17 +64964,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(27), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(30), }, }, @@ -63055,7 +64985,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63063,11 +64993,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(22), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(23), }, }, @@ -63076,7 +65006,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63084,11 +65014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(22), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(30), }, }, @@ -63102,17 +65032,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(15), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(18), }, }, @@ -63123,7 +65053,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63131,11 +65061,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(10), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(11), }, }, @@ -63144,7 +65074,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63152,11 +65082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(10), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(18), }, }, @@ -63166,7 +65096,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63174,11 +65104,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(10), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(30), }, }, @@ -63188,7 +65118,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63196,11 +65126,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(10), }, End: ast.Location{ - Line: int(411), + Line: int(431), Column: int(42), }, }, @@ -63239,17 +65169,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4750, + Ctx: p4885, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(18), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(19), }, }, @@ -63259,7 +65189,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4750, + Ctx: p4885, FreeVars: ast.Identifiers{ "i", }, @@ -63267,11 +65197,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(14), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(15), }, }, @@ -63280,7 +65210,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4750, + Ctx: p4885, FreeVars: ast.Identifiers{ "i", }, @@ -63288,11 +65218,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(14), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(19), }, }, @@ -63303,11 +65233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(11), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(19), }, }, @@ -63344,17 +65274,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4750, + Ctx: p4885, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(24), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(27), }, }, @@ -63365,11 +65295,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(21), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(27), }, }, @@ -63403,17 +65333,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4750, + Ctx: p4885, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(35), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(40), }, }, @@ -63424,11 +65354,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(29), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(40), }, }, @@ -63446,7 +65376,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -63454,11 +65384,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(412), + Line: int(432), Column: int(9), }, End: ast.Location{ - Line: int(412), + Line: int(432), Column: int(42), }, }, @@ -63472,17 +65402,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(413), + Line: int(433), Column: int(20), }, End: ast.Location{ - Line: int(413), + Line: int(433), Column: int(23), }, }, @@ -63493,7 +65423,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63501,11 +65431,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(413), + Line: int(433), Column: int(15), }, End: ast.Location{ - Line: int(413), + Line: int(433), Column: int(16), }, }, @@ -63514,7 +65444,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63522,11 +65452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(413), + Line: int(433), Column: int(15), }, End: ast.Location{ - Line: int(413), + Line: int(433), Column: int(23), }, }, @@ -63565,17 +65495,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4771, + Ctx: p4906, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(18), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(19), }, }, @@ -63585,7 +65515,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4771, + Ctx: p4906, FreeVars: ast.Identifiers{ "i", }, @@ -63593,11 +65523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(14), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(15), }, }, @@ -63606,7 +65536,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4771, + Ctx: p4906, FreeVars: ast.Identifiers{ "i", }, @@ -63614,11 +65544,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(14), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(19), }, }, @@ -63629,11 +65559,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(11), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(19), }, }, @@ -63670,17 +65600,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4771, + Ctx: p4906, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(24), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(27), }, }, @@ -63691,11 +65621,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(21), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(27), }, }, @@ -63729,17 +65659,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4771, + Ctx: p4906, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(35), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(40), }, }, @@ -63750,11 +65680,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(29), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(40), }, }, @@ -63772,7 +65702,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -63780,11 +65710,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(414), + Line: int(434), Column: int(9), }, End: ast.Location{ - Line: int(414), + Line: int(434), Column: int(42), }, }, @@ -63798,17 +65728,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(415), + Line: int(435), Column: int(20), }, End: ast.Location{ - Line: int(415), + Line: int(435), Column: int(23), }, }, @@ -63819,7 +65749,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63827,11 +65757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(415), + Line: int(435), Column: int(15), }, End: ast.Location{ - Line: int(415), + Line: int(435), Column: int(16), }, }, @@ -63840,7 +65770,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -63848,11 +65778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(415), + Line: int(435), Column: int(15), }, End: ast.Location{ - Line: int(415), + Line: int(435), Column: int(23), }, }, @@ -63891,17 +65821,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4792, + Ctx: p4927, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(18), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(19), }, }, @@ -63911,7 +65841,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4792, + Ctx: p4927, FreeVars: ast.Identifiers{ "i", }, @@ -63919,11 +65849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(14), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(15), }, }, @@ -63932,7 +65862,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4792, + Ctx: p4927, FreeVars: ast.Identifiers{ "i", }, @@ -63940,11 +65870,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(14), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(19), }, }, @@ -63955,11 +65885,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(11), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(19), }, }, @@ -63996,17 +65926,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4792, + Ctx: p4927, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(24), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(27), }, }, @@ -64017,11 +65947,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(21), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(27), }, }, @@ -64055,17 +65985,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4792, + Ctx: p4927, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(35), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(40), }, }, @@ -64076,11 +66006,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(29), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(40), }, }, @@ -64098,7 +66028,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -64106,11 +66036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(416), + Line: int(436), Column: int(9), }, End: ast.Location{ - Line: int(416), + Line: int(436), Column: int(42), }, }, @@ -64124,17 +66054,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(417), + Line: int(437), Column: int(20), }, End: ast.Location{ - Line: int(417), + Line: int(437), Column: int(23), }, }, @@ -64145,7 +66075,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -64153,11 +66083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(417), + Line: int(437), Column: int(15), }, End: ast.Location{ - Line: int(417), + Line: int(437), Column: int(16), }, }, @@ -64166,7 +66096,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -64174,11 +66104,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(417), + Line: int(437), Column: int(15), }, End: ast.Location{ - Line: int(417), + Line: int(437), Column: int(23), }, }, @@ -64217,17 +66147,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4813, + Ctx: p4948, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(18), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(19), }, }, @@ -64237,7 +66167,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4813, + Ctx: p4948, FreeVars: ast.Identifiers{ "i", }, @@ -64245,11 +66175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(14), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(15), }, }, @@ -64258,7 +66188,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4813, + Ctx: p4948, FreeVars: ast.Identifiers{ "i", }, @@ -64266,11 +66196,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(14), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(19), }, }, @@ -64281,11 +66211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(11), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(19), }, }, @@ -64322,17 +66252,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4813, + Ctx: p4948, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(24), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(27), }, }, @@ -64343,11 +66273,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(21), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(27), }, }, @@ -64381,17 +66311,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4813, + Ctx: p4948, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(35), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(39), }, }, @@ -64402,11 +66332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(29), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(39), }, }, @@ -64424,7 +66354,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -64432,11 +66362,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(418), + Line: int(438), Column: int(9), }, End: ast.Location{ - Line: int(418), + Line: int(438), Column: int(41), }, }, @@ -64450,17 +66380,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(419), + Line: int(439), Column: int(20), }, End: ast.Location{ - Line: int(419), + Line: int(439), Column: int(23), }, }, @@ -64471,7 +66401,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -64479,11 +66409,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(419), + Line: int(439), Column: int(15), }, End: ast.Location{ - Line: int(419), + Line: int(439), Column: int(16), }, }, @@ -64492,7 +66422,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -64500,11 +66430,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(419), + Line: int(439), Column: int(15), }, End: ast.Location{ - Line: int(419), + Line: int(439), Column: int(23), }, }, @@ -64543,17 +66473,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4834, + Ctx: p4969, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(18), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(19), }, }, @@ -64563,7 +66493,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4834, + Ctx: p4969, FreeVars: ast.Identifiers{ "i", }, @@ -64571,11 +66501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(14), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(15), }, }, @@ -64584,7 +66514,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4834, + Ctx: p4969, FreeVars: ast.Identifiers{ "i", }, @@ -64592,11 +66522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(14), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(19), }, }, @@ -64607,11 +66537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(11), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(19), }, }, @@ -64648,17 +66578,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4834, + Ctx: p4969, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(24), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(27), }, }, @@ -64669,11 +66599,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(21), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(27), }, }, @@ -64707,17 +66637,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4834, + Ctx: p4969, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(35), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(40), }, }, @@ -64728,11 +66658,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(29), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(40), }, }, @@ -64750,7 +66680,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -64758,11 +66688,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(420), + Line: int(440), Column: int(9), }, End: ast.Location{ - Line: int(420), + Line: int(440), Column: int(42), }, }, @@ -64776,17 +66706,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(421), + Line: int(441), Column: int(20), }, End: ast.Location{ - Line: int(421), + Line: int(441), Column: int(23), }, }, @@ -64797,7 +66727,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -64805,11 +66735,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(421), + Line: int(441), Column: int(15), }, End: ast.Location{ - Line: int(421), + Line: int(441), Column: int(16), }, }, @@ -64818,7 +66748,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -64826,11 +66756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(421), + Line: int(441), Column: int(15), }, End: ast.Location{ - Line: int(421), + Line: int(441), Column: int(23), }, }, @@ -64869,17 +66799,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4855, + Ctx: p4990, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(18), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(19), }, }, @@ -64889,7 +66819,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4855, + Ctx: p4990, FreeVars: ast.Identifiers{ "i", }, @@ -64897,11 +66827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(14), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(15), }, }, @@ -64910,7 +66840,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4855, + Ctx: p4990, FreeVars: ast.Identifiers{ "i", }, @@ -64918,11 +66848,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(14), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(19), }, }, @@ -64933,11 +66863,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(11), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(19), }, }, @@ -64974,17 +66904,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4855, + Ctx: p4990, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(24), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(27), }, }, @@ -64995,11 +66925,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(21), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(27), }, }, @@ -65033,17 +66963,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4855, + Ctx: p4990, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(35), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(39), }, }, @@ -65054,11 +66984,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(29), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(39), }, }, @@ -65076,7 +67006,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -65084,11 +67014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(422), + Line: int(442), Column: int(9), }, End: ast.Location{ - Line: int(422), + Line: int(442), Column: int(41), }, }, @@ -65102,17 +67032,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(423), + Line: int(443), Column: int(20), }, End: ast.Location{ - Line: int(423), + Line: int(443), Column: int(23), }, }, @@ -65123,7 +67053,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -65131,11 +67061,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(423), + Line: int(443), Column: int(15), }, End: ast.Location{ - Line: int(423), + Line: int(443), Column: int(16), }, }, @@ -65144,7 +67074,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -65152,11 +67082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(423), + Line: int(443), Column: int(15), }, End: ast.Location{ - Line: int(423), + Line: int(443), Column: int(23), }, }, @@ -65195,17 +67125,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4876, + Ctx: p5011, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(18), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(19), }, }, @@ -65215,7 +67145,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4876, + Ctx: p5011, FreeVars: ast.Identifiers{ "i", }, @@ -65223,11 +67153,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(14), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(15), }, }, @@ -65236,7 +67166,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4876, + Ctx: p5011, FreeVars: ast.Identifiers{ "i", }, @@ -65244,11 +67174,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(14), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(19), }, }, @@ -65259,11 +67189,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(11), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(19), }, }, @@ -65300,17 +67230,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4876, + Ctx: p5011, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(24), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(27), }, }, @@ -65321,11 +67251,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(21), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(27), }, }, @@ -65359,17 +67289,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4876, + Ctx: p5011, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(35), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(40), }, }, @@ -65380,11 +67310,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(29), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(40), }, }, @@ -65402,7 +67332,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -65410,11 +67340,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(424), + Line: int(444), Column: int(9), }, End: ast.Location{ - Line: int(424), + Line: int(444), Column: int(42), }, }, @@ -65428,17 +67358,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(425), + Line: int(445), Column: int(20), }, End: ast.Location{ - Line: int(425), + Line: int(445), Column: int(23), }, }, @@ -65449,7 +67379,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -65457,11 +67387,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(425), + Line: int(445), Column: int(15), }, End: ast.Location{ - Line: int(425), + Line: int(445), Column: int(16), }, }, @@ -65470,7 +67400,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -65478,11 +67408,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(425), + Line: int(445), Column: int(15), }, End: ast.Location{ - Line: int(425), + Line: int(445), Column: int(23), }, }, @@ -65521,17 +67451,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4897, + Ctx: p5032, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(18), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(19), }, }, @@ -65541,7 +67471,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4897, + Ctx: p5032, FreeVars: ast.Identifiers{ "i", }, @@ -65549,11 +67479,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(14), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(15), }, }, @@ -65562,7 +67492,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4897, + Ctx: p5032, FreeVars: ast.Identifiers{ "i", }, @@ -65570,11 +67500,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(14), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(19), }, }, @@ -65585,11 +67515,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(11), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(19), }, }, @@ -65626,17 +67556,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4897, + Ctx: p5032, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(24), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(27), }, }, @@ -65647,11 +67577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(21), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(27), }, }, @@ -65685,17 +67615,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4897, + Ctx: p5032, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(35), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(39), }, }, @@ -65706,11 +67636,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(29), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(39), }, }, @@ -65728,7 +67658,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -65736,11 +67666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(426), + Line: int(446), Column: int(9), }, End: ast.Location{ - Line: int(426), + Line: int(446), Column: int(41), }, }, @@ -65754,17 +67684,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(427), + Line: int(447), Column: int(20), }, End: ast.Location{ - Line: int(427), + Line: int(447), Column: int(23), }, }, @@ -65775,7 +67705,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -65783,11 +67713,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(427), + Line: int(447), Column: int(15), }, End: ast.Location{ - Line: int(427), + Line: int(447), Column: int(16), }, }, @@ -65796,7 +67726,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -65804,11 +67734,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(427), + Line: int(447), Column: int(15), }, End: ast.Location{ - Line: int(427), + Line: int(447), Column: int(23), }, }, @@ -65847,17 +67777,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4918, + Ctx: p5053, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(18), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(19), }, }, @@ -65867,7 +67797,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4918, + Ctx: p5053, FreeVars: ast.Identifiers{ "i", }, @@ -65875,11 +67805,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(14), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(15), }, }, @@ -65888,7 +67818,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4918, + Ctx: p5053, FreeVars: ast.Identifiers{ "i", }, @@ -65896,11 +67826,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(14), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(19), }, }, @@ -65911,11 +67841,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(11), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(19), }, }, @@ -65952,17 +67882,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4918, + Ctx: p5053, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(24), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(27), }, }, @@ -65973,11 +67903,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(21), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(27), }, }, @@ -66011,17 +67941,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4918, + Ctx: p5053, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(35), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(40), }, }, @@ -66032,11 +67962,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(29), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(40), }, }, @@ -66054,7 +67984,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -66062,11 +67992,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(428), + Line: int(448), Column: int(9), }, End: ast.Location{ - Line: int(428), + Line: int(448), Column: int(42), }, }, @@ -66080,17 +68010,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(429), + Line: int(449), Column: int(20), }, End: ast.Location{ - Line: int(429), + Line: int(449), Column: int(23), }, }, @@ -66101,7 +68031,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -66109,11 +68039,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(429), + Line: int(449), Column: int(15), }, End: ast.Location{ - Line: int(429), + Line: int(449), Column: int(16), }, }, @@ -66122,7 +68052,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -66130,11 +68060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(429), + Line: int(449), Column: int(15), }, End: ast.Location{ - Line: int(429), + Line: int(449), Column: int(23), }, }, @@ -66173,17 +68103,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4939, + Ctx: p5074, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(18), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(19), }, }, @@ -66193,7 +68123,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4939, + Ctx: p5074, FreeVars: ast.Identifiers{ "i", }, @@ -66201,11 +68131,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(14), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(15), }, }, @@ -66214,7 +68144,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4939, + Ctx: p5074, FreeVars: ast.Identifiers{ "i", }, @@ -66222,11 +68152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(14), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(19), }, }, @@ -66237,11 +68167,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(11), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(19), }, }, @@ -66278,17 +68208,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4939, + Ctx: p5074, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(24), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(27), }, }, @@ -66299,11 +68229,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(21), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(27), }, }, @@ -66337,17 +68267,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4939, + Ctx: p5074, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(35), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(39), }, }, @@ -66358,11 +68288,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(29), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(39), }, }, @@ -66380,7 +68310,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -66388,11 +68318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(430), + Line: int(450), Column: int(9), }, End: ast.Location{ - Line: int(430), + Line: int(450), Column: int(41), }, }, @@ -66406,17 +68336,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(431), + Line: int(451), Column: int(20), }, End: ast.Location{ - Line: int(431), + Line: int(451), Column: int(23), }, }, @@ -66427,7 +68357,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -66435,11 +68365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(431), + Line: int(451), Column: int(15), }, End: ast.Location{ - Line: int(431), + Line: int(451), Column: int(16), }, }, @@ -66448,7 +68378,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -66456,11 +68386,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(431), + Line: int(451), Column: int(15), }, End: ast.Location{ - Line: int(431), + Line: int(451), Column: int(23), }, }, @@ -66499,17 +68429,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4960, + Ctx: p5095, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(18), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(19), }, }, @@ -66519,7 +68449,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4960, + Ctx: p5095, FreeVars: ast.Identifiers{ "i", }, @@ -66527,11 +68457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(14), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(15), }, }, @@ -66540,7 +68470,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4960, + Ctx: p5095, FreeVars: ast.Identifiers{ "i", }, @@ -66548,11 +68478,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(14), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(19), }, }, @@ -66563,11 +68493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(11), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(19), }, }, @@ -66604,17 +68534,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4960, + Ctx: p5095, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(24), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(27), }, }, @@ -66625,11 +68555,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(21), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(27), }, }, @@ -66663,17 +68593,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4960, + Ctx: p5095, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(35), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(40), }, }, @@ -66684,11 +68614,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(29), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(40), }, }, @@ -66706,7 +68636,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -66714,11 +68644,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(432), + Line: int(452), Column: int(9), }, End: ast.Location{ - Line: int(432), + Line: int(452), Column: int(42), }, }, @@ -66732,17 +68662,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(433), + Line: int(453), Column: int(20), }, End: ast.Location{ - Line: int(433), + Line: int(453), Column: int(23), }, }, @@ -66753,7 +68683,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -66761,11 +68691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(433), + Line: int(453), Column: int(15), }, End: ast.Location{ - Line: int(433), + Line: int(453), Column: int(16), }, }, @@ -66774,7 +68704,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -66782,11 +68712,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(433), + Line: int(453), Column: int(15), }, End: ast.Location{ - Line: int(433), + Line: int(453), Column: int(23), }, }, @@ -66825,17 +68755,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4981, + Ctx: p5116, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(18), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(19), }, }, @@ -66845,7 +68775,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4981, + Ctx: p5116, FreeVars: ast.Identifiers{ "i", }, @@ -66853,11 +68783,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(14), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(15), }, }, @@ -66866,7 +68796,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4981, + Ctx: p5116, FreeVars: ast.Identifiers{ "i", }, @@ -66874,11 +68804,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(14), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(19), }, }, @@ -66889,11 +68819,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(11), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(19), }, }, @@ -66930,17 +68860,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4981, + Ctx: p5116, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(24), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(27), }, }, @@ -66951,11 +68881,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(21), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(27), }, }, @@ -66989,17 +68919,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4981, + Ctx: p5116, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(35), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(40), }, }, @@ -67010,11 +68940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(29), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(40), }, }, @@ -67032,7 +68962,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -67040,11 +68970,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(434), + Line: int(454), Column: int(9), }, End: ast.Location{ - Line: int(434), + Line: int(454), Column: int(42), }, }, @@ -67058,17 +68988,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(435), + Line: int(455), Column: int(20), }, End: ast.Location{ - Line: int(435), + Line: int(455), Column: int(23), }, }, @@ -67079,7 +69009,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -67087,11 +69017,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(435), + Line: int(455), Column: int(15), }, End: ast.Location{ - Line: int(435), + Line: int(455), Column: int(16), }, }, @@ -67100,7 +69030,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -67108,11 +69038,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(435), + Line: int(455), Column: int(15), }, End: ast.Location{ - Line: int(435), + Line: int(455), Column: int(23), }, }, @@ -67151,17 +69081,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5002, + Ctx: p5137, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(18), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(19), }, }, @@ -67171,7 +69101,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5002, + Ctx: p5137, FreeVars: ast.Identifiers{ "i", }, @@ -67179,11 +69109,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(14), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(15), }, }, @@ -67192,7 +69122,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5002, + Ctx: p5137, FreeVars: ast.Identifiers{ "i", }, @@ -67200,11 +69130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(14), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(19), }, }, @@ -67215,11 +69145,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(11), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(19), }, }, @@ -67256,17 +69186,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5002, + Ctx: p5137, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(24), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(27), }, }, @@ -67277,11 +69207,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(21), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(27), }, }, @@ -67315,17 +69245,17 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5002, + Ctx: p5137, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(35), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(40), }, }, @@ -67336,11 +69266,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(29), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(40), }, }, @@ -67358,7 +69288,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", }, @@ -67366,11 +69296,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(436), + Line: int(456), Column: int(9), }, End: ast.Location{ - Line: int(436), + Line: int(456), Column: int(42), }, }, @@ -67382,7 +69312,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -67390,11 +69320,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(438), + Line: int(458), Column: int(50), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67406,17 +69336,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(438), + Line: int(458), Column: int(15), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(47), }, }, @@ -67426,7 +69356,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -67434,11 +69364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(438), + Line: int(458), Column: int(15), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67454,7 +69384,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", }, @@ -67462,11 +69392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(438), + Line: int(458), Column: int(9), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67483,7 +69413,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67492,11 +69422,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(435), + Line: int(455), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67513,7 +69443,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67522,11 +69452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(433), + Line: int(453), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67543,7 +69473,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67552,11 +69482,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(431), + Line: int(451), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67573,7 +69503,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67582,11 +69512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(429), + Line: int(449), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67603,7 +69533,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67612,11 +69542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(427), + Line: int(447), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67633,7 +69563,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67642,11 +69572,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(425), + Line: int(445), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67663,7 +69593,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67672,11 +69602,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(423), + Line: int(443), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67693,7 +69623,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67702,11 +69632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(421), + Line: int(441), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67723,7 +69653,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67732,11 +69662,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(419), + Line: int(439), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67753,7 +69683,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67762,11 +69692,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(417), + Line: int(437), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67783,7 +69713,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67792,11 +69722,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(415), + Line: int(435), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67813,7 +69743,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67822,11 +69752,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(413), + Line: int(433), Column: int(12), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67850,7 +69780,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "c", "i", @@ -67859,11 +69789,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(411), + Line: int(431), Column: int(7), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67878,7 +69808,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{ "i", "str", @@ -67887,11 +69817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(410), + Line: int(430), Column: int(7), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67904,17 +69834,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p4706, + Ctx: p4841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(409), + Line: int(429), Column: int(36), }, End: ast.Location{ - Line: int(409), + Line: int(429), Column: int(60), }, }, @@ -67929,11 +69859,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(409), + Line: int(429), Column: int(7), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -67974,11 +69904,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(408), + Line: int(428), Column: int(27), }, End: ast.Location{ - Line: int(408), + Line: int(428), Column: int(30), }, }, @@ -67993,11 +69923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(408), + Line: int(428), Column: int(32), }, End: ast.Location{ - Line: int(408), + Line: int(428), Column: int(33), }, }, @@ -68005,7 +69935,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5053, + Ctx: p5188, FreeVars: ast.Identifiers{ "std", }, @@ -68013,11 +69943,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(408), + Line: int(428), Column: int(11), }, End: ast.Location{ - Line: int(438), + Line: int(458), Column: int(51), }, }, @@ -68065,11 +69995,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(443), + Line: int(463), Column: int(18), }, End: ast.Location{ - Line: int(443), + Line: int(463), Column: int(21), }, }, @@ -68103,7 +70033,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "std", }, @@ -68111,11 +70041,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(443), + Line: int(463), Column: int(18), }, End: ast.Location{ - Line: int(443), + Line: int(463), Column: int(28), }, }, @@ -68129,7 +70059,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5069, + Ctx: p5204, FreeVars: ast.Identifiers{ "str", }, @@ -68137,11 +70067,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(443), + Line: int(463), Column: int(29), }, End: ast.Location{ - Line: int(443), + Line: int(463), Column: int(32), }, }, @@ -68156,7 +70086,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "std", "str", @@ -68165,11 +70095,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(443), + Line: int(463), Column: int(18), }, End: ast.Location{ - Line: int(443), + Line: int(463), Column: int(33), }, }, @@ -68181,7 +70111,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "i", }, @@ -68189,11 +70119,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(443), + Line: int(463), Column: int(14), }, End: ast.Location{ - Line: int(443), + Line: int(463), Column: int(15), }, }, @@ -68202,7 +70132,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "i", "std", @@ -68212,11 +70142,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(443), + Line: int(463), Column: int(14), }, End: ast.Location{ - Line: int(443), + Line: int(463), Column: int(33), }, }, @@ -68232,7 +70162,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "try_parse_mapping_key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5079, + Ctx: p5214, FreeVars: ast.Identifiers{ "try_parse_mapping_key", }, @@ -68240,11 +70170,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(444), + Line: int(464), Column: int(20), }, End: ast.Location{ - Line: int(444), + Line: int(464), Column: int(41), }, }, @@ -68258,7 +70188,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5083, + Ctx: p5218, FreeVars: ast.Identifiers{ "str", }, @@ -68266,11 +70196,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(444), + Line: int(464), Column: int(42), }, End: ast.Location{ - Line: int(444), + Line: int(464), Column: int(45), }, }, @@ -68283,7 +70213,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5083, + Ctx: p5218, FreeVars: ast.Identifiers{ "i", }, @@ -68291,11 +70221,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(444), + Line: int(464), Column: int(47), }, End: ast.Location{ - Line: int(444), + Line: int(464), Column: int(48), }, }, @@ -68310,7 +70240,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5079, + Ctx: p5214, FreeVars: ast.Identifiers{ "i", "str", @@ -68320,11 +70250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(444), + Line: int(464), Column: int(20), }, End: ast.Location{ - Line: int(444), + Line: int(464), Column: int(49), }, }, @@ -68340,11 +70270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(444), + Line: int(464), Column: int(13), }, End: ast.Location{ - Line: int(444), + Line: int(464), Column: int(49), }, }, @@ -68359,7 +70289,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "try_parse_cflags", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5092, + Ctx: p5227, FreeVars: ast.Identifiers{ "try_parse_cflags", }, @@ -68367,11 +70297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(445), + Line: int(465), Column: int(22), }, End: ast.Location{ - Line: int(445), + Line: int(465), Column: int(38), }, }, @@ -68385,7 +70315,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5096, + Ctx: p5231, FreeVars: ast.Identifiers{ "str", }, @@ -68393,11 +70323,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(445), + Line: int(465), Column: int(39), }, End: ast.Location{ - Line: int(445), + Line: int(465), Column: int(42), }, }, @@ -68419,11 +70349,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(445), + Line: int(465), Column: int(44), }, End: ast.Location{ - Line: int(445), + Line: int(465), Column: int(48), }, }, @@ -68457,7 +70387,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5096, + Ctx: p5231, FreeVars: ast.Identifiers{ "mkey", }, @@ -68465,11 +70395,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(445), + Line: int(465), Column: int(44), }, End: ast.Location{ - Line: int(445), + Line: int(465), Column: int(50), }, }, @@ -68484,7 +70414,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5092, + Ctx: p5227, FreeVars: ast.Identifiers{ "mkey", "str", @@ -68494,11 +70424,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(445), + Line: int(465), Column: int(22), }, End: ast.Location{ - Line: int(445), + Line: int(465), Column: int(51), }, }, @@ -68514,11 +70444,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(445), + Line: int(465), Column: int(13), }, End: ast.Location{ - Line: int(445), + Line: int(465), Column: int(51), }, }, @@ -68533,7 +70463,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "try_parse_field_width", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5108, + Ctx: p5243, FreeVars: ast.Identifiers{ "try_parse_field_width", }, @@ -68541,11 +70471,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(446), + Line: int(466), Column: int(18), }, End: ast.Location{ - Line: int(446), + Line: int(466), Column: int(39), }, }, @@ -68559,7 +70489,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5112, + Ctx: p5247, FreeVars: ast.Identifiers{ "str", }, @@ -68567,11 +70497,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(446), + Line: int(466), Column: int(40), }, End: ast.Location{ - Line: int(446), + Line: int(466), Column: int(43), }, }, @@ -68593,11 +70523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(446), + Line: int(466), Column: int(45), }, End: ast.Location{ - Line: int(446), + Line: int(466), Column: int(51), }, }, @@ -68631,7 +70561,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5112, + Ctx: p5247, FreeVars: ast.Identifiers{ "cflags", }, @@ -68639,11 +70569,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(446), + Line: int(466), Column: int(45), }, End: ast.Location{ - Line: int(446), + Line: int(466), Column: int(53), }, }, @@ -68658,7 +70588,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5108, + Ctx: p5243, FreeVars: ast.Identifiers{ "cflags", "str", @@ -68668,11 +70598,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(446), + Line: int(466), Column: int(18), }, End: ast.Location{ - Line: int(446), + Line: int(466), Column: int(54), }, }, @@ -68688,11 +70618,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(446), + Line: int(466), Column: int(13), }, End: ast.Location{ - Line: int(446), + Line: int(466), Column: int(54), }, }, @@ -68707,7 +70637,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "try_parse_precision", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5124, + Ctx: p5259, FreeVars: ast.Identifiers{ "try_parse_precision", }, @@ -68715,11 +70645,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(447), + Line: int(467), Column: int(20), }, End: ast.Location{ - Line: int(447), + Line: int(467), Column: int(39), }, }, @@ -68733,7 +70663,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5128, + Ctx: p5263, FreeVars: ast.Identifiers{ "str", }, @@ -68741,11 +70671,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(447), + Line: int(467), Column: int(40), }, End: ast.Location{ - Line: int(447), + Line: int(467), Column: int(43), }, }, @@ -68767,11 +70697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(447), + Line: int(467), Column: int(45), }, End: ast.Location{ - Line: int(447), + Line: int(467), Column: int(47), }, }, @@ -68805,7 +70735,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5128, + Ctx: p5263, FreeVars: ast.Identifiers{ "fw", }, @@ -68813,11 +70743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(447), + Line: int(467), Column: int(45), }, End: ast.Location{ - Line: int(447), + Line: int(467), Column: int(49), }, }, @@ -68832,7 +70762,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5124, + Ctx: p5259, FreeVars: ast.Identifiers{ "fw", "str", @@ -68842,11 +70772,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(447), + Line: int(467), Column: int(20), }, End: ast.Location{ - Line: int(447), + Line: int(467), Column: int(50), }, }, @@ -68862,11 +70792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(447), + Line: int(467), Column: int(13), }, End: ast.Location{ - Line: int(447), + Line: int(467), Column: int(50), }, }, @@ -68881,7 +70811,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "try_parse_length_modifier", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5140, + Ctx: p5275, FreeVars: ast.Identifiers{ "try_parse_length_modifier", }, @@ -68889,11 +70819,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(448), + Line: int(468), Column: int(23), }, End: ast.Location{ - Line: int(448), + Line: int(468), Column: int(48), }, }, @@ -68907,7 +70837,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5144, + Ctx: p5279, FreeVars: ast.Identifiers{ "str", }, @@ -68915,11 +70845,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(448), + Line: int(468), Column: int(49), }, End: ast.Location{ - Line: int(448), + Line: int(468), Column: int(52), }, }, @@ -68941,11 +70871,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(448), + Line: int(468), Column: int(54), }, End: ast.Location{ - Line: int(448), + Line: int(468), Column: int(58), }, }, @@ -68979,7 +70909,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5144, + Ctx: p5279, FreeVars: ast.Identifiers{ "prec", }, @@ -68987,11 +70917,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(448), + Line: int(468), Column: int(54), }, End: ast.Location{ - Line: int(448), + Line: int(468), Column: int(60), }, }, @@ -69006,7 +70936,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5140, + Ctx: p5275, FreeVars: ast.Identifiers{ "prec", "str", @@ -69016,11 +70946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(448), + Line: int(468), Column: int(23), }, End: ast.Location{ - Line: int(448), + Line: int(468), Column: int(61), }, }, @@ -69036,11 +70966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(448), + Line: int(468), Column: int(13), }, End: ast.Location{ - Line: int(448), + Line: int(468), Column: int(61), }, }, @@ -69055,7 +70985,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "parse_conv_type", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5156, + Ctx: p5291, FreeVars: ast.Identifiers{ "parse_conv_type", }, @@ -69063,11 +70993,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(449), + Line: int(469), Column: int(21), }, End: ast.Location{ - Line: int(449), + Line: int(469), Column: int(36), }, }, @@ -69081,7 +71011,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5160, + Ctx: p5295, FreeVars: ast.Identifiers{ "str", }, @@ -69089,11 +71019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(449), + Line: int(469), Column: int(37), }, End: ast.Location{ - Line: int(449), + Line: int(469), Column: int(40), }, }, @@ -69106,7 +71036,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "len_mod", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5160, + Ctx: p5295, FreeVars: ast.Identifiers{ "len_mod", }, @@ -69114,11 +71044,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(449), + Line: int(469), Column: int(42), }, End: ast.Location{ - Line: int(449), + Line: int(469), Column: int(49), }, }, @@ -69133,7 +71063,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5156, + Ctx: p5291, FreeVars: ast.Identifiers{ "len_mod", "parse_conv_type", @@ -69143,11 +71073,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(449), + Line: int(469), Column: int(21), }, End: ast.Location{ - Line: int(449), + Line: int(469), Column: int(50), }, }, @@ -69163,11 +71093,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(449), + Line: int(469), Column: int(13), }, End: ast.Location{ - Line: int(449), + Line: int(469), Column: int(50), }, }, @@ -69213,11 +71143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(451), + Line: int(471), Column: int(12), }, End: ast.Location{ - Line: int(451), + Line: int(471), Column: int(17), }, }, @@ -69251,7 +71181,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5172, + Ctx: p5307, FreeVars: ast.Identifiers{ "ctype", }, @@ -69259,11 +71189,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(451), + Line: int(471), Column: int(12), }, End: ast.Location{ - Line: int(451), + Line: int(471), Column: int(19), }, }, @@ -69273,11 +71203,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(451), + Line: int(471), Column: int(9), }, End: ast.Location{ - Line: int(451), + Line: int(471), Column: int(19), }, }, @@ -69348,11 +71278,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(453), + Line: int(473), Column: int(17), }, End: ast.Location{ - Line: int(453), + Line: int(473), Column: int(21), }, }, @@ -69386,7 +71316,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5182, + Ctx: p5317, FreeVars: ast.Identifiers{ "mkey", }, @@ -69394,11 +71324,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(453), + Line: int(473), Column: int(17), }, End: ast.Location{ - Line: int(453), + Line: int(473), Column: int(23), }, }, @@ -69408,11 +71338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(453), + Line: int(473), Column: int(11), }, End: ast.Location{ - Line: int(453), + Line: int(473), Column: int(23), }, }, @@ -69456,11 +71386,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(454), + Line: int(474), Column: int(19), }, End: ast.Location{ - Line: int(454), + Line: int(474), Column: int(25), }, }, @@ -69494,7 +71424,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5182, + Ctx: p5317, FreeVars: ast.Identifiers{ "cflags", }, @@ -69502,11 +71432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(454), + Line: int(474), Column: int(19), }, End: ast.Location{ - Line: int(454), + Line: int(474), Column: int(27), }, }, @@ -69516,11 +71446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(454), + Line: int(474), Column: int(11), }, End: ast.Location{ - Line: int(454), + Line: int(474), Column: int(27), }, }, @@ -69564,11 +71494,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(455), + Line: int(475), Column: int(15), }, End: ast.Location{ - Line: int(455), + Line: int(475), Column: int(17), }, }, @@ -69602,7 +71532,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5182, + Ctx: p5317, FreeVars: ast.Identifiers{ "fw", }, @@ -69610,11 +71540,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(455), + Line: int(475), Column: int(15), }, End: ast.Location{ - Line: int(455), + Line: int(475), Column: int(19), }, }, @@ -69624,11 +71554,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(455), + Line: int(475), Column: int(11), }, End: ast.Location{ - Line: int(455), + Line: int(475), Column: int(19), }, }, @@ -69672,11 +71602,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(456), + Line: int(476), Column: int(17), }, End: ast.Location{ - Line: int(456), + Line: int(476), Column: int(21), }, }, @@ -69710,7 +71640,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5182, + Ctx: p5317, FreeVars: ast.Identifiers{ "prec", }, @@ -69718,11 +71648,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(456), + Line: int(476), Column: int(17), }, End: ast.Location{ - Line: int(456), + Line: int(476), Column: int(23), }, }, @@ -69732,11 +71662,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(456), + Line: int(476), Column: int(11), }, End: ast.Location{ - Line: int(456), + Line: int(476), Column: int(23), }, }, @@ -69780,11 +71710,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(457), + Line: int(477), Column: int(18), }, End: ast.Location{ - Line: int(457), + Line: int(477), Column: int(23), }, }, @@ -69818,7 +71748,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5182, + Ctx: p5317, FreeVars: ast.Identifiers{ "ctype", }, @@ -69826,11 +71756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(457), + Line: int(477), Column: int(18), }, End: ast.Location{ - Line: int(457), + Line: int(477), Column: int(25), }, }, @@ -69840,11 +71770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(457), + Line: int(477), Column: int(11), }, End: ast.Location{ - Line: int(457), + Line: int(477), Column: int(25), }, }, @@ -69888,11 +71818,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(458), + Line: int(478), Column: int(17), }, End: ast.Location{ - Line: int(458), + Line: int(478), Column: int(22), }, }, @@ -69926,7 +71856,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5182, + Ctx: p5317, FreeVars: ast.Identifiers{ "ctype", }, @@ -69934,11 +71864,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(458), + Line: int(478), Column: int(17), }, End: ast.Location{ - Line: int(458), + Line: int(478), Column: int(27), }, }, @@ -69948,11 +71878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(458), + Line: int(478), Column: int(11), }, End: ast.Location{ - Line: int(458), + Line: int(478), Column: int(27), }, }, @@ -69963,7 +71893,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5172, + Ctx: p5307, FreeVars: ast.Identifiers{ "cflags", "ctype", @@ -69975,11 +71905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(452), + Line: int(472), Column: int(15), }, End: ast.Location{ - Line: int(459), + Line: int(479), Column: int(10), }, }, @@ -69989,11 +71919,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(452), + Line: int(472), Column: int(9), }, End: ast.Location{ - Line: int(459), + Line: int(479), Column: int(10), }, }, @@ -70011,7 +71941,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "cflags", "ctype", @@ -70023,11 +71953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(450), + Line: int(470), Column: int(7), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70042,7 +71972,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "cflags", "fw", @@ -70056,11 +71986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(449), + Line: int(469), Column: int(7), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70075,7 +72005,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "cflags", "fw", @@ -70089,11 +72019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(448), + Line: int(468), Column: int(7), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70108,7 +72038,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "cflags", "fw", @@ -70122,11 +72052,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(447), + Line: int(467), Column: int(7), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70141,7 +72071,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "cflags", "mkey", @@ -70155,11 +72085,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(446), + Line: int(466), Column: int(7), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70174,7 +72104,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "mkey", "parse_conv_type", @@ -70188,11 +72118,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(445), + Line: int(465), Column: int(7), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70207,7 +72137,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{ "i", "parse_conv_type", @@ -70222,11 +72152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(444), + Line: int(464), Column: int(7), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70239,17 +72169,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5065, + Ctx: p5200, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(443), + Line: int(463), Column: int(36), }, End: ast.Location{ - Line: int(443), + Line: int(463), Column: int(60), }, }, @@ -70264,11 +72194,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(443), + Line: int(463), Column: int(7), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70315,11 +72245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(442), + Line: int(462), Column: int(22), }, End: ast.Location{ - Line: int(442), + Line: int(462), Column: int(25), }, }, @@ -70334,11 +72264,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(442), + Line: int(462), Column: int(27), }, End: ast.Location{ - Line: int(442), + Line: int(462), Column: int(28), }, }, @@ -70346,7 +72276,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5233, + Ctx: p5368, FreeVars: ast.Identifiers{ "parse_conv_type", "std", @@ -70360,11 +72290,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(442), + Line: int(462), Column: int(11), }, End: ast.Location{ - Line: int(460), + Line: int(480), Column: int(8), }, }, @@ -70412,11 +72342,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(464), + Line: int(484), Column: int(15), }, End: ast.Location{ - Line: int(464), + Line: int(484), Column: int(18), }, }, @@ -70450,7 +72380,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "std", }, @@ -70458,11 +72388,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(464), + Line: int(484), Column: int(15), }, End: ast.Location{ - Line: int(464), + Line: int(484), Column: int(25), }, }, @@ -70476,7 +72406,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5249, + Ctx: p5384, FreeVars: ast.Identifiers{ "str", }, @@ -70484,11 +72414,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(464), + Line: int(484), Column: int(26), }, End: ast.Location{ - Line: int(464), + Line: int(484), Column: int(29), }, }, @@ -70503,7 +72433,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "std", "str", @@ -70512,11 +72442,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(464), + Line: int(484), Column: int(15), }, End: ast.Location{ - Line: int(464), + Line: int(484), Column: int(30), }, }, @@ -70528,7 +72458,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "i", }, @@ -70536,11 +72466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(464), + Line: int(484), Column: int(10), }, End: ast.Location{ - Line: int(464), + Line: int(484), Column: int(11), }, }, @@ -70549,7 +72479,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "i", "std", @@ -70559,11 +72489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(464), + Line: int(484), Column: int(10), }, End: ast.Location{ - Line: int(464), + Line: int(484), Column: int(30), }, }, @@ -70578,7 +72508,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cur", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5259, + Ctx: p5394, FreeVars: ast.Identifiers{ "cur", }, @@ -70586,11 +72516,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(465), + Line: int(485), Column: int(16), }, End: ast.Location{ - Line: int(465), + Line: int(485), Column: int(19), }, }, @@ -70602,7 +72532,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "cur", }, @@ -70610,11 +72540,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(465), + Line: int(485), Column: int(15), }, End: ast.Location{ - Line: int(465), + Line: int(485), Column: int(20), }, }, @@ -70632,7 +72562,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "out", }, @@ -70640,11 +72570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(465), + Line: int(485), Column: int(9), }, End: ast.Location{ - Line: int(465), + Line: int(485), Column: int(12), }, }, @@ -70653,7 +72583,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "cur", "out", @@ -70662,11 +72592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(465), + Line: int(485), Column: int(9), }, End: ast.Location{ - Line: int(465), + Line: int(485), Column: int(20), }, }, @@ -70682,7 +72612,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5270, + Ctx: p5405, FreeVars: ast.Identifiers{ "str", }, @@ -70690,11 +72620,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(467), + Line: int(487), Column: int(19), }, End: ast.Location{ - Line: int(467), + Line: int(487), Column: int(22), }, }, @@ -70704,7 +72634,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5270, + Ctx: p5405, FreeVars: ast.Identifiers{ "i", }, @@ -70712,11 +72642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(467), + Line: int(487), Column: int(23), }, End: ast.Location{ - Line: int(467), + Line: int(487), Column: int(24), }, }, @@ -70727,7 +72657,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5270, + Ctx: p5405, FreeVars: ast.Identifiers{ "i", "str", @@ -70736,11 +72666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(467), + Line: int(487), Column: int(19), }, End: ast.Location{ - Line: int(467), + Line: int(487), Column: int(25), }, }, @@ -70754,11 +72684,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(467), + Line: int(487), Column: int(15), }, End: ast.Location{ - Line: int(467), + Line: int(487), Column: int(25), }, }, @@ -70772,17 +72702,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(468), + Line: int(488), Column: int(17), }, End: ast.Location{ - Line: int(468), + Line: int(488), Column: int(20), }, }, @@ -70793,7 +72723,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "c", }, @@ -70801,11 +72731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(468), + Line: int(488), Column: int(12), }, End: ast.Location{ - Line: int(468), + Line: int(488), Column: int(13), }, }, @@ -70814,7 +72744,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "c", }, @@ -70822,11 +72752,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(468), + Line: int(488), Column: int(12), }, End: ast.Location{ - Line: int(468), + Line: int(488), Column: int(20), }, }, @@ -70842,7 +72772,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "parse_code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5285, + Ctx: p5420, FreeVars: ast.Identifiers{ "parse_code", }, @@ -70850,11 +72780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(469), + Line: int(489), Column: int(21), }, End: ast.Location{ - Line: int(469), + Line: int(489), Column: int(31), }, }, @@ -70868,7 +72798,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5289, + Ctx: p5424, FreeVars: ast.Identifiers{ "str", }, @@ -70876,11 +72806,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(469), + Line: int(489), Column: int(32), }, End: ast.Location{ - Line: int(469), + Line: int(489), Column: int(35), }, }, @@ -70894,17 +72824,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5289, + Ctx: p5424, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(469), + Line: int(489), Column: int(41), }, End: ast.Location{ - Line: int(469), + Line: int(489), Column: int(42), }, }, @@ -70914,7 +72844,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5289, + Ctx: p5424, FreeVars: ast.Identifiers{ "i", }, @@ -70922,11 +72852,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(469), + Line: int(489), Column: int(37), }, End: ast.Location{ - Line: int(469), + Line: int(489), Column: int(38), }, }, @@ -70935,7 +72865,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5289, + Ctx: p5424, FreeVars: ast.Identifiers{ "i", }, @@ -70943,11 +72873,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(469), + Line: int(489), Column: int(37), }, End: ast.Location{ - Line: int(469), + Line: int(489), Column: int(42), }, }, @@ -70963,7 +72893,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5285, + Ctx: p5420, FreeVars: ast.Identifiers{ "i", "parse_code", @@ -70973,11 +72903,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(469), + Line: int(489), Column: int(21), }, End: ast.Location{ - Line: int(469), + Line: int(489), Column: int(43), }, }, @@ -70993,11 +72923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(469), + Line: int(489), Column: int(17), }, End: ast.Location{ - Line: int(469), + Line: int(489), Column: int(43), }, }, @@ -71015,7 +72945,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "parse_codes", }, @@ -71023,11 +72953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(11), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(22), }, }, @@ -71041,7 +72971,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5303, + Ctx: p5438, FreeVars: ast.Identifiers{ "str", }, @@ -71049,11 +72979,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(23), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(26), }, }, @@ -71075,11 +73005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(28), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(29), }, }, @@ -71113,7 +73043,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5303, + Ctx: p5438, FreeVars: ast.Identifiers{ "r", }, @@ -71121,11 +73051,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(28), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(31), }, }, @@ -71142,7 +73072,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cur", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5314, + Ctx: p5449, FreeVars: ast.Identifiers{ "cur", }, @@ -71150,11 +73080,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(40), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(43), }, }, @@ -71176,11 +73106,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(45), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(46), }, }, @@ -71214,7 +73144,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5314, + Ctx: p5449, FreeVars: ast.Identifiers{ "r", }, @@ -71222,11 +73152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(45), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(51), }, }, @@ -71238,7 +73168,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5303, + Ctx: p5438, FreeVars: ast.Identifiers{ "cur", "r", @@ -71247,11 +73177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(39), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(52), }, }, @@ -71262,7 +73192,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "out", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5303, + Ctx: p5438, FreeVars: ast.Identifiers{ "out", }, @@ -71270,11 +73200,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(33), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(36), }, }, @@ -71283,7 +73213,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5303, + Ctx: p5438, FreeVars: ast.Identifiers{ "cur", "out", @@ -71293,11 +73223,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(33), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(52), }, }, @@ -71313,17 +73243,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5303, + Ctx: p5438, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(54), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(56), }, }, @@ -71339,7 +73269,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "cur", "out", @@ -71351,11 +73281,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(470), + Line: int(490), Column: int(11), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(57), }, }, @@ -71372,7 +73302,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "cur", "i", @@ -71385,11 +73315,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(469), + Line: int(489), Column: int(11), }, End: ast.Location{ - Line: int(470), + Line: int(490), Column: int(57), }, }, @@ -71407,7 +73337,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "parse_codes", }, @@ -71415,11 +73345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(11), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(22), }, }, @@ -71433,7 +73363,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5335, + Ctx: p5470, FreeVars: ast.Identifiers{ "str", }, @@ -71441,11 +73371,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(23), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(26), }, }, @@ -71459,17 +73389,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5335, + Ctx: p5470, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(32), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(33), }, }, @@ -71479,7 +73409,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5335, + Ctx: p5470, FreeVars: ast.Identifiers{ "i", }, @@ -71487,11 +73417,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(28), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(29), }, }, @@ -71500,7 +73430,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5335, + Ctx: p5470, FreeVars: ast.Identifiers{ "i", }, @@ -71508,11 +73438,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(28), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(33), }, }, @@ -71526,7 +73456,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "out", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5335, + Ctx: p5470, FreeVars: ast.Identifiers{ "out", }, @@ -71534,11 +73464,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(35), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(38), }, }, @@ -71552,7 +73482,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5335, + Ctx: p5470, FreeVars: ast.Identifiers{ "c", }, @@ -71560,11 +73490,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(46), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(47), }, }, @@ -71574,7 +73504,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cur", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5335, + Ctx: p5470, FreeVars: ast.Identifiers{ "cur", }, @@ -71582,11 +73512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(40), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(43), }, }, @@ -71595,7 +73525,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5335, + Ctx: p5470, FreeVars: ast.Identifiers{ "c", "cur", @@ -71604,11 +73534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(40), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(47), }, }, @@ -71624,7 +73554,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "c", "cur", @@ -71637,11 +73567,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(472), + Line: int(492), Column: int(11), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(48), }, }, @@ -71667,7 +73597,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "c", "cur", @@ -71681,11 +73611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(468), + Line: int(488), Column: int(9), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(48), }, }, @@ -71700,7 +73630,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "cur", "i", @@ -71713,11 +73643,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(467), + Line: int(487), Column: int(9), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(48), }, }, @@ -71741,7 +73671,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5245, + Ctx: p5380, FreeVars: ast.Identifiers{ "cur", "i", @@ -71755,11 +73685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(464), + Line: int(484), Column: int(7), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(48), }, }, @@ -71776,11 +73706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(463), + Line: int(483), Column: int(23), }, End: ast.Location{ - Line: int(463), + Line: int(483), Column: int(26), }, }, @@ -71795,11 +73725,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(463), + Line: int(483), Column: int(28), }, End: ast.Location{ - Line: int(463), + Line: int(483), Column: int(29), }, }, @@ -71814,11 +73744,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(463), + Line: int(483), Column: int(31), }, End: ast.Location{ - Line: int(463), + Line: int(483), Column: int(34), }, }, @@ -71833,11 +73763,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(463), + Line: int(483), Column: int(36), }, End: ast.Location{ - Line: int(463), + Line: int(483), Column: int(39), }, }, @@ -71845,7 +73775,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5360, + Ctx: p5495, FreeVars: ast.Identifiers{ "parse_code", "parse_codes", @@ -71855,11 +73785,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(463), + Line: int(483), Column: int(11), }, End: ast.Location{ - Line: int(472), + Line: int(492), Column: int(48), }, }, @@ -71893,7 +73823,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "parse_codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5366, + Ctx: p5501, FreeVars: ast.Identifiers{ "parse_codes", }, @@ -71901,11 +73831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(474), + Line: int(494), Column: int(19), }, End: ast.Location{ - Line: int(474), + Line: int(494), Column: int(30), }, }, @@ -71919,7 +73849,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5370, + Ctx: p5505, FreeVars: ast.Identifiers{ "str", }, @@ -71927,11 +73857,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(474), + Line: int(494), Column: int(31), }, End: ast.Location{ - Line: int(474), + Line: int(494), Column: int(34), }, }, @@ -71944,17 +73874,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5370, + Ctx: p5505, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(474), + Line: int(494), Column: int(36), }, End: ast.Location{ - Line: int(474), + Line: int(494), Column: int(37), }, }, @@ -71968,17 +73898,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5370, + Ctx: p5505, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(474), + Line: int(494), Column: int(39), }, End: ast.Location{ - Line: int(474), + Line: int(494), Column: int(41), }, }, @@ -71994,17 +73924,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5370, + Ctx: p5505, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(474), + Line: int(494), Column: int(43), }, End: ast.Location{ - Line: int(474), + Line: int(494), Column: int(45), }, }, @@ -72020,7 +73950,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5366, + Ctx: p5501, FreeVars: ast.Identifiers{ "parse_codes", "str", @@ -72029,11 +73959,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(474), + Line: int(494), Column: int(19), }, End: ast.Location{ - Line: int(474), + Line: int(494), Column: int(46), }, }, @@ -72049,11 +73979,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(474), + Line: int(494), Column: int(11), }, End: ast.Location{ - Line: int(474), + Line: int(494), Column: int(46), }, }, @@ -72079,17 +74009,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5385, + Ctx: p5520, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(484), + Line: int(504), Column: int(17), }, End: ast.Location{ - Line: int(484), + Line: int(504), Column: int(18), }, }, @@ -72099,7 +74029,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "w", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5385, + Ctx: p5520, FreeVars: ast.Identifiers{ "w", }, @@ -72107,11 +74037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(484), + Line: int(504), Column: int(12), }, End: ast.Location{ - Line: int(484), + Line: int(504), Column: int(13), }, }, @@ -72120,7 +74050,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5385, + Ctx: p5520, FreeVars: ast.Identifiers{ "w", }, @@ -72128,11 +74058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(484), + Line: int(504), Column: int(12), }, End: ast.Location{ - Line: int(484), + Line: int(504), Column: int(18), }, }, @@ -72150,7 +74080,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5385, + Ctx: p5520, FreeVars: ast.Identifiers{ "v", }, @@ -72158,11 +74088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(485), + Line: int(505), Column: int(11), }, End: ast.Location{ - Line: int(485), + Line: int(505), Column: int(12), }, }, @@ -72180,7 +74110,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5385, + Ctx: p5520, FreeVars: ast.Identifiers{ "aux", }, @@ -72188,11 +74118,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(487), + Line: int(507), Column: int(11), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(14), }, }, @@ -72207,17 +74137,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5399, + Ctx: p5534, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(487), + Line: int(507), Column: int(19), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(20), }, }, @@ -72227,7 +74157,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "w", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5399, + Ctx: p5534, FreeVars: ast.Identifiers{ "w", }, @@ -72235,11 +74165,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(487), + Line: int(507), Column: int(15), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(16), }, }, @@ -72248,7 +74178,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5399, + Ctx: p5534, FreeVars: ast.Identifiers{ "w", }, @@ -72256,11 +74186,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(487), + Line: int(507), Column: int(15), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(20), }, }, @@ -72275,7 +74205,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5399, + Ctx: p5534, FreeVars: ast.Identifiers{ "s", }, @@ -72283,11 +74213,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(487), + Line: int(507), Column: int(26), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(27), }, }, @@ -72297,7 +74227,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5399, + Ctx: p5534, FreeVars: ast.Identifiers{ "v", }, @@ -72305,11 +74235,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(487), + Line: int(507), Column: int(22), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(23), }, }, @@ -72318,7 +74248,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5399, + Ctx: p5534, FreeVars: ast.Identifiers{ "s", "v", @@ -72327,11 +74257,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(487), + Line: int(507), Column: int(22), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(27), }, }, @@ -72347,7 +74277,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5385, + Ctx: p5520, FreeVars: ast.Identifiers{ "aux", "s", @@ -72358,11 +74288,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(487), + Line: int(507), Column: int(11), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(28), }, }, @@ -72388,7 +74318,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p5385, + Ctx: p5520, FreeVars: ast.Identifiers{ "aux", "s", @@ -72399,11 +74329,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(484), + Line: int(504), Column: int(9), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(28), }, }, @@ -72420,11 +74350,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(483), + Line: int(503), Column: int(17), }, End: ast.Location{ - Line: int(483), + Line: int(503), Column: int(18), }, }, @@ -72439,11 +74369,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(483), + Line: int(503), Column: int(20), }, End: ast.Location{ - Line: int(483), + Line: int(503), Column: int(21), }, }, @@ -72451,7 +74381,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5414, + Ctx: p5549, FreeVars: ast.Identifiers{ "aux", "s", @@ -72460,11 +74390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(483), + Line: int(503), Column: int(13), }, End: ast.Location{ - Line: int(487), + Line: int(507), Column: int(28), }, }, @@ -72501,7 +74431,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5419, + Ctx: p5554, FreeVars: ast.Identifiers{ "aux", }, @@ -72509,11 +74439,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(488), + Line: int(508), Column: int(7), }, End: ast.Location{ - Line: int(488), + Line: int(508), Column: int(10), }, }, @@ -72527,7 +74457,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "w", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5423, + Ctx: p5558, FreeVars: ast.Identifiers{ "w", }, @@ -72535,11 +74465,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(488), + Line: int(508), Column: int(11), }, End: ast.Location{ - Line: int(488), + Line: int(508), Column: int(12), }, }, @@ -72554,17 +74484,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5423, + Ctx: p5558, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(488), + Line: int(508), Column: int(14), }, End: ast.Location{ - Line: int(488), + Line: int(508), Column: int(16), }, }, @@ -72580,7 +74510,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5419, + Ctx: p5554, FreeVars: ast.Identifiers{ "aux", "w", @@ -72589,11 +74519,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(488), + Line: int(508), Column: int(7), }, End: ast.Location{ - Line: int(488), + Line: int(508), Column: int(17), }, }, @@ -72610,7 +74540,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5419, + Ctx: p5554, FreeVars: ast.Identifiers{ "s", "w", @@ -72619,11 +74549,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(483), + Line: int(503), Column: int(7), }, End: ast.Location{ - Line: int(488), + Line: int(508), Column: int(17), }, }, @@ -72640,11 +74570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(482), + Line: int(502), Column: int(19), }, End: ast.Location{ - Line: int(482), + Line: int(502), Column: int(20), }, }, @@ -72659,11 +74589,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(482), + Line: int(502), Column: int(22), }, End: ast.Location{ - Line: int(482), + Line: int(502), Column: int(23), }, }, @@ -72671,17 +74601,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5430, + Ctx: p5565, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(482), + Line: int(502), Column: int(11), }, End: ast.Location{ - Line: int(488), + Line: int(508), Column: int(17), }, }, @@ -72718,7 +74648,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5436, + Ctx: p5571, FreeVars: ast.Identifiers{ "str", }, @@ -72726,11 +74656,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(41), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(44), }, }, @@ -72748,7 +74678,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5436, + Ctx: p5571, FreeVars: ast.Identifiers{ "padding", }, @@ -72756,11 +74686,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(7), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(14), }, }, @@ -72785,11 +74715,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(19), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(22), }, }, @@ -72823,7 +74753,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5449, + Ctx: p5584, FreeVars: ast.Identifiers{ "std", }, @@ -72831,11 +74761,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(19), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(29), }, }, @@ -72849,7 +74779,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5453, + Ctx: p5588, FreeVars: ast.Identifiers{ "str", }, @@ -72857,11 +74787,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(30), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(33), }, }, @@ -72876,7 +74806,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5449, + Ctx: p5584, FreeVars: ast.Identifiers{ "std", "str", @@ -72885,11 +74815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(19), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(34), }, }, @@ -72901,7 +74831,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "w", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5449, + Ctx: p5584, FreeVars: ast.Identifiers{ "w", }, @@ -72909,11 +74839,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(15), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(16), }, }, @@ -72922,7 +74852,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5449, + Ctx: p5584, FreeVars: ast.Identifiers{ "std", "str", @@ -72932,11 +74862,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(15), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(34), }, }, @@ -72950,7 +74880,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5449, + Ctx: p5584, FreeVars: ast.Identifiers{ "s", }, @@ -72958,11 +74888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(36), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(37), }, }, @@ -72977,7 +74907,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5436, + Ctx: p5571, FreeVars: ast.Identifiers{ "padding", "s", @@ -72989,11 +74919,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(7), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(38), }, }, @@ -73004,7 +74934,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5436, + Ctx: p5571, FreeVars: ast.Identifiers{ "padding", "s", @@ -73016,11 +74946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(492), + Line: int(512), Column: int(7), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(44), }, }, @@ -73038,11 +74968,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(491), + Line: int(511), Column: int(20), }, End: ast.Location{ - Line: int(491), + Line: int(511), Column: int(23), }, }, @@ -73057,11 +74987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(491), + Line: int(511), Column: int(25), }, End: ast.Location{ - Line: int(491), + Line: int(511), Column: int(26), }, }, @@ -73076,11 +75006,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(491), + Line: int(511), Column: int(28), }, End: ast.Location{ - Line: int(491), + Line: int(511), Column: int(29), }, }, @@ -73088,7 +75018,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5464, + Ctx: p5599, FreeVars: ast.Identifiers{ "padding", "std", @@ -73097,11 +75027,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(491), + Line: int(511), Column: int(11), }, End: ast.Location{ - Line: int(492), + Line: int(512), Column: int(44), }, }, @@ -73139,7 +75069,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "padding", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5472, + Ctx: p5607, FreeVars: ast.Identifiers{ "padding", }, @@ -73147,11 +75077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(13), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(20), }, }, @@ -73176,11 +75106,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(25), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(28), }, }, @@ -73214,7 +75144,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5481, + Ctx: p5616, FreeVars: ast.Identifiers{ "std", }, @@ -73222,11 +75152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(25), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(35), }, }, @@ -73240,7 +75170,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5485, + Ctx: p5620, FreeVars: ast.Identifiers{ "str", }, @@ -73248,11 +75178,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(36), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(39), }, }, @@ -73267,7 +75197,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5481, + Ctx: p5616, FreeVars: ast.Identifiers{ "std", "str", @@ -73276,11 +75206,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(25), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(40), }, }, @@ -73292,7 +75222,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "w", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5481, + Ctx: p5616, FreeVars: ast.Identifiers{ "w", }, @@ -73300,11 +75230,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(21), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(22), }, }, @@ -73313,7 +75243,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5481, + Ctx: p5616, FreeVars: ast.Identifiers{ "std", "str", @@ -73323,11 +75253,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(21), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(40), }, }, @@ -73341,7 +75271,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5481, + Ctx: p5616, FreeVars: ast.Identifiers{ "s", }, @@ -73349,11 +75279,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(42), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(43), }, }, @@ -73368,7 +75298,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5472, + Ctx: p5607, FreeVars: ast.Identifiers{ "padding", "s", @@ -73380,11 +75310,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(13), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(44), }, }, @@ -73403,7 +75333,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5472, + Ctx: p5607, FreeVars: ast.Identifiers{ "str", }, @@ -73411,11 +75341,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(7), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(10), }, }, @@ -73424,7 +75354,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5472, + Ctx: p5607, FreeVars: ast.Identifiers{ "padding", "s", @@ -73436,11 +75366,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(496), + Line: int(516), Column: int(7), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(44), }, }, @@ -73458,11 +75388,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(495), + Line: int(515), Column: int(21), }, End: ast.Location{ - Line: int(495), + Line: int(515), Column: int(24), }, }, @@ -73477,11 +75407,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(495), + Line: int(515), Column: int(26), }, End: ast.Location{ - Line: int(495), + Line: int(515), Column: int(27), }, }, @@ -73496,11 +75426,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(495), + Line: int(515), Column: int(29), }, End: ast.Location{ - Line: int(495), + Line: int(515), Column: int(30), }, }, @@ -73508,7 +75438,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5499, + Ctx: p5634, FreeVars: ast.Identifiers{ "padding", "std", @@ -73517,11 +75447,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(495), + Line: int(515), Column: int(11), }, End: ast.Location{ - Line: int(496), + Line: int(516), Column: int(44), }, }, @@ -73563,17 +75493,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5509, + Ctx: p5644, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(514), + Line: int(534), Column: int(19), }, End: ast.Location{ - Line: int(514), + Line: int(534), Column: int(20), }, }, @@ -73583,7 +75513,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "mag", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5509, + Ctx: p5644, FreeVars: ast.Identifiers{ "mag", }, @@ -73591,11 +75521,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(514), + Line: int(534), Column: int(12), }, End: ast.Location{ - Line: int(514), + Line: int(534), Column: int(15), }, }, @@ -73604,7 +75534,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5509, + Ctx: p5644, FreeVars: ast.Identifiers{ "mag", }, @@ -73612,11 +75542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(514), + Line: int(534), Column: int(12), }, End: ast.Location{ - Line: int(514), + Line: int(534), Column: int(20), }, }, @@ -73636,17 +75566,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5509, + Ctx: p5644, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(515), + Line: int(535), Column: int(11), }, End: ast.Location{ - Line: int(515), + Line: int(535), Column: int(14), }, }, @@ -73666,17 +75596,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(518), + Line: int(538), Column: int(21), }, End: ast.Location{ - Line: int(518), + Line: int(538), Column: int(22), }, }, @@ -73686,7 +75616,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "n", }, @@ -73694,11 +75624,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(518), + Line: int(538), Column: int(16), }, End: ast.Location{ - Line: int(518), + Line: int(538), Column: int(17), }, }, @@ -73707,7 +75637,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "n", }, @@ -73715,11 +75645,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(518), + Line: int(538), Column: int(16), }, End: ast.Location{ - Line: int(518), + Line: int(538), Column: int(22), }, }, @@ -73737,7 +75667,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "zero_prefix", }, @@ -73745,11 +75675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(519), + Line: int(539), Column: int(15), }, End: ast.Location{ - Line: int(519), + Line: int(539), Column: int(26), }, }, @@ -73834,7 +75764,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "n", }, @@ -73842,11 +75772,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(44), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(45), }, }, @@ -73859,7 +75789,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "radix", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "radix", }, @@ -73867,11 +75797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(48), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(53), }, }, @@ -73896,11 +75826,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(44), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(53), }, }, @@ -73920,7 +75850,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "aux", }, @@ -73928,11 +75858,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(15), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(18), }, }, @@ -73956,11 +75886,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(19), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(22), }, }, @@ -73994,7 +75924,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5551, + Ctx: p5686, FreeVars: ast.Identifiers{ "std", }, @@ -74002,11 +75932,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(19), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(28), }, }, @@ -74021,7 +75951,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "radix", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5556, + Ctx: p5691, FreeVars: ast.Identifiers{ "radix", }, @@ -74029,11 +75959,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(33), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(38), }, }, @@ -74043,7 +75973,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5556, + Ctx: p5691, FreeVars: ast.Identifiers{ "n", }, @@ -74051,11 +75981,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(29), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(30), }, }, @@ -74064,7 +75994,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5556, + Ctx: p5691, FreeVars: ast.Identifiers{ "n", "radix", @@ -74073,11 +76003,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(29), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(38), }, }, @@ -74093,7 +76023,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5551, + Ctx: p5686, FreeVars: ast.Identifiers{ "n", "radix", @@ -74103,11 +76033,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(19), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(39), }, }, @@ -74124,7 +76054,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "aux", "n", @@ -74135,11 +76065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(15), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(40), }, }, @@ -74150,7 +76080,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "$std", "aux", @@ -74162,11 +76092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(521), + Line: int(541), Column: int(15), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(54), }, }, @@ -74191,7 +76121,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p5521, + Ctx: p5656, FreeVars: ast.Identifiers{ "$std", "aux", @@ -74204,11 +76134,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(518), + Line: int(538), Column: int(13), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(54), }, }, @@ -74225,11 +76155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(517), + Line: int(537), Column: int(21), }, End: ast.Location{ - Line: int(517), + Line: int(537), Column: int(22), }, }, @@ -74237,7 +76167,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5568, + Ctx: p5703, FreeVars: ast.Identifiers{ "$std", "aux", @@ -74249,11 +76179,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(517), + Line: int(537), Column: int(17), }, End: ast.Location{ - Line: int(521), + Line: int(541), Column: int(54), }, }, @@ -74290,7 +76220,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5509, + Ctx: p5644, FreeVars: ast.Identifiers{ "aux", }, @@ -74298,11 +76228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(522), + Line: int(542), Column: int(11), }, End: ast.Location{ - Line: int(522), + Line: int(542), Column: int(14), }, }, @@ -74316,7 +76246,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "mag", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5576, + Ctx: p5711, FreeVars: ast.Identifiers{ "mag", }, @@ -74324,11 +76254,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(522), + Line: int(542), Column: int(15), }, End: ast.Location{ - Line: int(522), + Line: int(542), Column: int(18), }, }, @@ -74343,7 +76273,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5509, + Ctx: p5644, FreeVars: ast.Identifiers{ "aux", "mag", @@ -74352,11 +76282,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(522), + Line: int(542), Column: int(11), }, End: ast.Location{ - Line: int(522), + Line: int(542), Column: int(19), }, }, @@ -74373,7 +76303,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5509, + Ctx: p5644, FreeVars: ast.Identifiers{ "$std", "mag", @@ -74385,11 +76315,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(517), + Line: int(537), Column: int(11), }, End: ast.Location{ - Line: int(522), + Line: int(542), Column: int(19), }, }, @@ -74413,7 +76343,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p5509, + Ctx: p5644, FreeVars: ast.Identifiers{ "$std", "mag", @@ -74425,11 +76355,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(514), + Line: int(534), Column: int(9), }, End: ast.Location{ - Line: int(522), + Line: int(542), Column: int(19), }, }, @@ -74443,11 +76373,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(513), + Line: int(533), Column: int(13), }, End: ast.Location{ - Line: int(522), + Line: int(542), Column: int(19), }, }, @@ -74464,7 +76394,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "plus", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{ "plus", }, @@ -74472,11 +76402,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(50), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(54), }, }, @@ -74487,7 +76417,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "blank", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{ "blank", }, @@ -74495,11 +76425,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(41), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(46), }, }, @@ -74509,7 +76439,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "neg", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{ "neg", }, @@ -74517,11 +76447,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(34), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(37), }, }, @@ -74530,7 +76460,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{ "blank", "neg", @@ -74539,11 +76469,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(34), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(46), }, }, @@ -74553,7 +76483,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{ "blank", "neg", @@ -74563,11 +76493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(34), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(54), }, }, @@ -74578,17 +76508,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(60), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(61), }, }, @@ -74598,17 +76528,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(67), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(68), }, }, @@ -74618,7 +76548,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{ "blank", "neg", @@ -74628,11 +76558,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(31), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(68), }, }, @@ -74642,7 +76572,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "min_chars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{ "min_chars", }, @@ -74650,11 +76580,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(18), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(27), }, }, @@ -74663,7 +76593,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5590, + Ctx: p5725, FreeVars: ast.Identifiers{ "blank", "min_chars", @@ -74674,11 +76604,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(18), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(69), }, }, @@ -74693,11 +76623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(13), }, End: ast.Location{ - Line: int(523), + Line: int(543), Column: int(69), }, }, @@ -74721,11 +76651,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(524), + Line: int(544), Column: int(19), }, End: ast.Location{ - Line: int(524), + Line: int(544), Column: int(22), }, }, @@ -74759,7 +76689,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5612, + Ctx: p5747, FreeVars: ast.Identifiers{ "std", }, @@ -74767,11 +76697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(524), + Line: int(544), Column: int(19), }, End: ast.Location{ - Line: int(524), + Line: int(544), Column: int(26), }, }, @@ -74785,7 +76715,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5616, + Ctx: p5751, FreeVars: ast.Identifiers{ "zp", }, @@ -74793,11 +76723,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(524), + Line: int(544), Column: int(27), }, End: ast.Location{ - Line: int(524), + Line: int(544), Column: int(29), }, }, @@ -74810,7 +76740,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "min_digits", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5616, + Ctx: p5751, FreeVars: ast.Identifiers{ "min_digits", }, @@ -74818,11 +76748,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(524), + Line: int(544), Column: int(31), }, End: ast.Location{ - Line: int(524), + Line: int(544), Column: int(41), }, }, @@ -74837,7 +76767,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5612, + Ctx: p5747, FreeVars: ast.Identifiers{ "min_digits", "std", @@ -74847,11 +76777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(524), + Line: int(544), Column: int(19), }, End: ast.Location{ - Line: int(524), + Line: int(544), Column: int(42), }, }, @@ -74867,11 +76797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(524), + Line: int(544), Column: int(13), }, End: ast.Location{ - Line: int(524), + Line: int(544), Column: int(42), }, }, @@ -74886,7 +76816,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pad_left", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5625, + Ctx: p5760, FreeVars: ast.Identifiers{ "pad_left", }, @@ -74894,11 +76824,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(525), + Line: int(545), Column: int(20), }, End: ast.Location{ - Line: int(525), + Line: int(545), Column: int(28), }, }, @@ -74912,7 +76842,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "dec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5629, + Ctx: p5764, FreeVars: ast.Identifiers{ "dec", }, @@ -74920,11 +76850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(525), + Line: int(545), Column: int(29), }, End: ast.Location{ - Line: int(525), + Line: int(545), Column: int(32), }, }, @@ -74937,7 +76867,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zp2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5629, + Ctx: p5764, FreeVars: ast.Identifiers{ "zp2", }, @@ -74945,11 +76875,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(525), + Line: int(545), Column: int(34), }, End: ast.Location{ - Line: int(525), + Line: int(545), Column: int(37), }, }, @@ -74964,17 +76894,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5629, + Ctx: p5764, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(525), + Line: int(545), Column: int(39), }, End: ast.Location{ - Line: int(525), + Line: int(545), Column: int(42), }, }, @@ -74990,7 +76920,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5625, + Ctx: p5760, FreeVars: ast.Identifiers{ "dec", "pad_left", @@ -75000,11 +76930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(525), + Line: int(545), Column: int(20), }, End: ast.Location{ - Line: int(525), + Line: int(545), Column: int(43), }, }, @@ -75020,11 +76950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(525), + Line: int(545), Column: int(13), }, End: ast.Location{ - Line: int(525), + Line: int(545), Column: int(43), }, }, @@ -75035,7 +76965,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "dec2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "dec2", }, @@ -75043,11 +76973,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(80), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(84), }, }, @@ -75058,7 +76988,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "neg", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "neg", }, @@ -75066,11 +76996,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(11), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(14), }, }, @@ -75082,17 +77012,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(20), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(23), }, }, @@ -75104,7 +77034,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "plus", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "plus", }, @@ -75112,11 +77042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(32), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(36), }, }, @@ -75128,17 +77058,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(42), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(45), }, }, @@ -75150,7 +77080,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "blank", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "blank", }, @@ -75158,11 +77088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(54), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(59), }, }, @@ -75174,17 +77104,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(65), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(68), }, }, @@ -75197,17 +77127,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(74), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(76), }, }, @@ -75218,7 +77148,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "blank", }, @@ -75226,11 +77156,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(51), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(76), }, }, @@ -75240,7 +77170,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "blank", "plus", @@ -75249,11 +77179,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(29), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(76), }, }, @@ -75263,7 +77193,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "blank", "neg", @@ -75273,11 +77203,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(8), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(76), }, }, @@ -75286,7 +77216,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "blank", "dec2", @@ -75297,11 +77227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(526), + Line: int(546), Column: int(7), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(84), }, }, @@ -75317,7 +77247,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "blank", "dec", @@ -75330,11 +77260,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(525), + Line: int(545), Column: int(7), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(84), }, }, @@ -75349,7 +77279,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "blank", "dec", @@ -75364,11 +77294,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(524), + Line: int(544), Column: int(7), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(84), }, }, @@ -75383,7 +77313,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "blank", "dec", @@ -75398,11 +77328,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(523), + Line: int(543), Column: int(7), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(84), }, }, @@ -75425,7 +77355,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5637, + Ctx: p5772, FreeVars: ast.Identifiers{ "$std", "blank", @@ -75443,11 +77373,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(513), + Line: int(533), Column: int(7), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(84), }, }, @@ -75464,11 +77394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(22), }, End: ast.Location{ - Line: int(511), + Line: int(531), Column: int(25), }, }, @@ -75483,11 +77413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(27), }, End: ast.Location{ - Line: int(511), + Line: int(531), Column: int(30), }, }, @@ -75502,11 +77432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(32), }, End: ast.Location{ - Line: int(511), + Line: int(531), Column: int(41), }, }, @@ -75521,11 +77451,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(43), }, End: ast.Location{ - Line: int(511), + Line: int(531), Column: int(53), }, }, @@ -75540,11 +77470,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(55), }, End: ast.Location{ - Line: int(511), + Line: int(531), Column: int(60), }, }, @@ -75559,11 +77489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(62), }, End: ast.Location{ - Line: int(511), + Line: int(531), Column: int(66), }, }, @@ -75578,11 +77508,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(68), }, End: ast.Location{ - Line: int(511), + Line: int(531), Column: int(73), }, }, @@ -75597,11 +77527,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(75), }, End: ast.Location{ - Line: int(511), + Line: int(531), Column: int(86), }, }, @@ -75609,7 +77539,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5666, + Ctx: p5801, FreeVars: ast.Identifiers{ "$std", "pad_left", @@ -75619,11 +77549,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(11), }, End: ast.Location{ - Line: int(526), + Line: int(546), Column: int(84), }, }, @@ -75665,7 +77595,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "capitals", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5676, + Ctx: p5811, FreeVars: ast.Identifiers{ "capitals", }, @@ -75673,11 +77603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(29), }, End: ast.Location{ - Line: int(531), + Line: int(551), Column: int(37), }, }, @@ -75692,17 +77622,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5681, + Ctx: p5816, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(44), }, End: ast.Location{ - Line: int(531), + Line: int(551), Column: int(47), }, }, @@ -75718,17 +77648,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5681, + Ctx: p5816, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(49), }, End: ast.Location{ - Line: int(531), + Line: int(551), Column: int(52), }, }, @@ -75744,17 +77674,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5681, + Ctx: p5816, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(54), }, End: ast.Location{ - Line: int(531), + Line: int(551), Column: int(57), }, }, @@ -75770,17 +77700,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5681, + Ctx: p5816, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(59), }, End: ast.Location{ - Line: int(531), + Line: int(551), Column: int(62), }, }, @@ -75796,17 +77726,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5681, + Ctx: p5816, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(64), }, End: ast.Location{ - Line: int(531), + Line: int(551), Column: int(67), }, }, @@ -75822,17 +77752,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5681, + Ctx: p5816, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(69), }, End: ast.Location{ - Line: int(531), + Line: int(551), Column: int(72), }, }, @@ -75845,17 +77775,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5676, + Ctx: p5811, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(43), }, End: ast.Location{ - Line: int(531), + Line: int(551), Column: int(73), }, }, @@ -75871,17 +77801,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5690, + Ctx: p5825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(532), + Line: int(552), Column: int(30), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(33), }, }, @@ -75897,17 +77827,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5690, + Ctx: p5825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(532), + Line: int(552), Column: int(35), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(38), }, }, @@ -75923,17 +77853,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5690, + Ctx: p5825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(532), + Line: int(552), Column: int(40), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(43), }, }, @@ -75949,17 +77879,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5690, + Ctx: p5825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(532), + Line: int(552), Column: int(45), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(48), }, }, @@ -75975,17 +77905,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5690, + Ctx: p5825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(532), + Line: int(552), Column: int(50), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(53), }, }, @@ -76001,17 +77931,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5690, + Ctx: p5825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(532), + Line: int(552), Column: int(55), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(58), }, }, @@ -76024,17 +77954,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5676, + Ctx: p5811, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(532), + Line: int(552), Column: int(29), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(59), }, }, @@ -76052,7 +77982,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5676, + Ctx: p5811, FreeVars: ast.Identifiers{ "capitals", }, @@ -76060,11 +77990,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(531), + Line: int(551), Column: int(26), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(59), }, }, @@ -76077,17 +78007,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(25), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(26), }, }, @@ -76100,17 +78030,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(28), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(29), }, }, @@ -76123,17 +78053,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(31), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(32), }, }, @@ -76146,17 +78076,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(34), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(35), }, }, @@ -76169,17 +78099,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(37), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(38), }, }, @@ -76192,17 +78122,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "5", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(40), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(41), }, }, @@ -76215,17 +78145,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "6", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(43), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(44), }, }, @@ -76238,17 +78168,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "7", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(46), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(47), }, }, @@ -76261,17 +78191,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "8", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(49), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(50), }, }, @@ -76284,17 +78214,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "9", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5701, + Ctx: p5836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(52), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(53), }, }, @@ -76306,17 +78236,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5676, + Ctx: p5811, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(24), }, End: ast.Location{ - Line: int(530), + Line: int(550), Column: int(54), }, }, @@ -76333,7 +78263,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5676, + Ctx: p5811, FreeVars: ast.Identifiers{ "capitals", }, @@ -76341,11 +78271,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(24), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(59), }, }, @@ -76360,11 +78290,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(13), }, End: ast.Location{ - Line: int(532), + Line: int(552), Column: int(59), }, }, @@ -76388,11 +78318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(533), + Line: int(553), Column: int(18), }, End: ast.Location{ - Line: int(533), + Line: int(553), Column: int(21), }, }, @@ -76426,7 +78356,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5720, + Ctx: p5855, FreeVars: ast.Identifiers{ "std", }, @@ -76434,11 +78364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(533), + Line: int(553), Column: int(18), }, End: ast.Location{ - Line: int(533), + Line: int(553), Column: int(25), }, }, @@ -76452,7 +78382,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n__", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5724, + Ctx: p5859, FreeVars: ast.Identifiers{ "n__", }, @@ -76460,11 +78390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(533), + Line: int(553), Column: int(26), }, End: ast.Location{ - Line: int(533), + Line: int(553), Column: int(29), }, }, @@ -76479,7 +78409,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5720, + Ctx: p5855, FreeVars: ast.Identifiers{ "n__", "std", @@ -76488,11 +78418,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(533), + Line: int(553), Column: int(18), }, End: ast.Location{ - Line: int(533), + Line: int(553), Column: int(30), }, }, @@ -76508,11 +78438,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(533), + Line: int(553), Column: int(13), }, End: ast.Location{ - Line: int(533), + Line: int(553), Column: int(30), }, }, @@ -76531,17 +78461,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(535), + Line: int(555), Column: int(17), }, End: ast.Location{ - Line: int(535), + Line: int(555), Column: int(18), }, }, @@ -76551,7 +78481,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "n", }, @@ -76559,11 +78489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(535), + Line: int(555), Column: int(12), }, End: ast.Location{ - Line: int(535), + Line: int(555), Column: int(13), }, }, @@ -76572,7 +78502,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "n", }, @@ -76580,11 +78510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(535), + Line: int(555), Column: int(12), }, End: ast.Location{ - Line: int(535), + Line: int(555), Column: int(18), }, }, @@ -76604,17 +78534,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(536), + Line: int(556), Column: int(11), }, End: ast.Location{ - Line: int(536), + Line: int(556), Column: int(13), }, }, @@ -76627,7 +78557,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "numerals", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "numerals", }, @@ -76635,11 +78565,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(36), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(44), }, }, @@ -76723,7 +78653,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "n", }, @@ -76731,11 +78661,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(45), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(46), }, }, @@ -76748,17 +78678,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "16", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(49), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(51), }, }, @@ -76782,11 +78712,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(45), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(51), }, }, @@ -76799,7 +78729,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "$std", "n", @@ -76809,11 +78739,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(36), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(52), }, }, @@ -76831,7 +78761,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "aux", }, @@ -76839,11 +78769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(11), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(14), }, }, @@ -76867,11 +78797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(15), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(18), }, }, @@ -76905,7 +78835,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5765, + Ctx: p5900, FreeVars: ast.Identifiers{ "std", }, @@ -76913,11 +78843,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(15), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(24), }, }, @@ -76932,17 +78862,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "16", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5770, + Ctx: p5905, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(29), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(31), }, }, @@ -76952,7 +78882,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5770, + Ctx: p5905, FreeVars: ast.Identifiers{ "n", }, @@ -76960,11 +78890,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(25), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(26), }, }, @@ -76973,7 +78903,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5770, + Ctx: p5905, FreeVars: ast.Identifiers{ "n", }, @@ -76981,11 +78911,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(25), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(31), }, }, @@ -77001,7 +78931,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5765, + Ctx: p5900, FreeVars: ast.Identifiers{ "n", "std", @@ -77010,11 +78940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(15), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(32), }, }, @@ -77031,7 +78961,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "aux", "n", @@ -77041,11 +78971,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(11), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(33), }, }, @@ -77056,7 +78986,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "$std", "aux", @@ -77068,11 +78998,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(538), + Line: int(558), Column: int(11), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(52), }, }, @@ -77097,7 +79027,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p5733, + Ctx: p5868, FreeVars: ast.Identifiers{ "$std", "aux", @@ -77109,11 +79039,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(535), + Line: int(555), Column: int(9), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(52), }, }, @@ -77130,11 +79060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(534), + Line: int(554), Column: int(17), }, End: ast.Location{ - Line: int(534), + Line: int(554), Column: int(18), }, }, @@ -77142,7 +79072,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5781, + Ctx: p5916, FreeVars: ast.Identifiers{ "$std", "aux", @@ -77153,11 +79083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(534), + Line: int(554), Column: int(13), }, End: ast.Location{ - Line: int(538), + Line: int(558), Column: int(52), }, }, @@ -77192,17 +79122,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5788, + Ctx: p5923, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(39), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(40), }, }, @@ -77222,11 +79152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(22), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(25), }, }, @@ -77260,7 +79190,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5788, + Ctx: p5923, FreeVars: ast.Identifiers{ "std", }, @@ -77268,11 +79198,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(22), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(31), }, }, @@ -77286,7 +79216,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5797, + Ctx: p5932, FreeVars: ast.Identifiers{ "n_", }, @@ -77294,11 +79224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(32), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(34), }, }, @@ -77313,7 +79243,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5788, + Ctx: p5923, FreeVars: ast.Identifiers{ "n_", "std", @@ -77322,11 +79252,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(22), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(35), }, }, @@ -77337,7 +79267,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5788, + Ctx: p5923, FreeVars: ast.Identifiers{ "n_", "std", @@ -77346,11 +79276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(22), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(40), }, }, @@ -77363,17 +79293,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5788, + Ctx: p5923, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(46), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(49), }, }, @@ -77385,7 +79315,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "aux", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5788, + Ctx: p5923, FreeVars: ast.Identifiers{ "aux", }, @@ -77393,11 +79323,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(55), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(58), }, }, @@ -77421,11 +79351,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(59), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(62), }, }, @@ -77459,7 +79389,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5811, + Ctx: p5946, FreeVars: ast.Identifiers{ "std", }, @@ -77467,11 +79397,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(59), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(68), }, }, @@ -77485,7 +79415,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5815, + Ctx: p5950, FreeVars: ast.Identifiers{ "n_", }, @@ -77493,11 +79423,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(69), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(71), }, }, @@ -77512,7 +79442,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5811, + Ctx: p5946, FreeVars: ast.Identifiers{ "n_", "std", @@ -77521,11 +79451,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(59), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(72), }, }, @@ -77542,7 +79472,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5788, + Ctx: p5923, FreeVars: ast.Identifiers{ "aux", "n_", @@ -77552,11 +79482,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(55), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(73), }, }, @@ -77568,7 +79498,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5788, + Ctx: p5923, FreeVars: ast.Identifiers{ "aux", "n_", @@ -77578,11 +79508,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(19), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(73), }, }, @@ -77596,11 +79526,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(13), }, End: ast.Location{ - Line: int(539), + Line: int(559), Column: int(73), }, }, @@ -77615,17 +79545,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5824, + Ctx: p5959, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(540), + Line: int(560), Column: int(25), }, End: ast.Location{ - Line: int(540), + Line: int(560), Column: int(26), }, }, @@ -77635,7 +79565,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n__", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5824, + Ctx: p5959, FreeVars: ast.Identifiers{ "n__", }, @@ -77643,11 +79573,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(540), + Line: int(560), Column: int(19), }, End: ast.Location{ - Line: int(540), + Line: int(560), Column: int(22), }, }, @@ -77656,7 +79586,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5824, + Ctx: p5959, FreeVars: ast.Identifiers{ "n__", }, @@ -77664,11 +79594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(540), + Line: int(560), Column: int(19), }, End: ast.Location{ - Line: int(540), + Line: int(560), Column: int(26), }, }, @@ -77683,11 +79613,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(540), + Line: int(560), Column: int(13), }, End: ast.Location{ - Line: int(540), + Line: int(560), Column: int(26), }, }, @@ -77703,7 +79633,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "add_zerox", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "add_zerox", }, @@ -77711,11 +79641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(542), + Line: int(562), Column: int(24), }, End: ast.Location{ - Line: int(542), + Line: int(562), Column: int(33), }, }, @@ -77725,17 +79655,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(542), + Line: int(562), Column: int(39), }, End: ast.Location{ - Line: int(542), + Line: int(562), Column: int(40), }, }, @@ -77745,17 +79675,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(542), + Line: int(562), Column: int(46), }, End: ast.Location{ - Line: int(542), + Line: int(562), Column: int(47), }, }, @@ -77765,7 +79695,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "add_zerox", }, @@ -77773,11 +79703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(542), + Line: int(562), Column: int(21), }, End: ast.Location{ - Line: int(542), + Line: int(562), Column: int(47), }, }, @@ -77790,7 +79720,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "plus", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "plus", }, @@ -77798,11 +79728,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(50), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(54), }, }, @@ -77813,7 +79743,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "blank", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "blank", }, @@ -77821,11 +79751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(41), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(46), }, }, @@ -77835,7 +79765,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "neg", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "neg", }, @@ -77843,11 +79773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(34), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(37), }, }, @@ -77856,7 +79786,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "blank", "neg", @@ -77865,11 +79795,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(34), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(46), }, }, @@ -77879,7 +79809,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "blank", "neg", @@ -77889,11 +79819,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(34), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(54), }, }, @@ -77904,17 +79834,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(60), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(61), }, }, @@ -77924,17 +79854,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(67), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(68), }, }, @@ -77944,7 +79874,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "blank", "neg", @@ -77954,11 +79884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(31), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(68), }, }, @@ -77968,7 +79898,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "min_chars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "min_chars", }, @@ -77976,11 +79906,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(18), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(27), }, }, @@ -77989,7 +79919,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "blank", "min_chars", @@ -78000,11 +79930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(18), }, End: ast.Location{ - Line: int(541), + Line: int(561), Column: int(69), }, }, @@ -78021,7 +79951,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5833, + Ctx: p5968, FreeVars: ast.Identifiers{ "add_zerox", "blank", @@ -78033,11 +79963,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(18), }, End: ast.Location{ - Line: int(542), + Line: int(562), Column: int(48), }, }, @@ -78052,11 +79982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(13), }, End: ast.Location{ - Line: int(542), + Line: int(562), Column: int(48), }, }, @@ -78080,11 +80010,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(543), + Line: int(563), Column: int(19), }, End: ast.Location{ - Line: int(543), + Line: int(563), Column: int(22), }, }, @@ -78118,7 +80048,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5865, + Ctx: p6000, FreeVars: ast.Identifiers{ "std", }, @@ -78126,11 +80056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(543), + Line: int(563), Column: int(19), }, End: ast.Location{ - Line: int(543), + Line: int(563), Column: int(26), }, }, @@ -78144,7 +80074,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5869, + Ctx: p6004, FreeVars: ast.Identifiers{ "zp", }, @@ -78152,11 +80082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(543), + Line: int(563), Column: int(27), }, End: ast.Location{ - Line: int(543), + Line: int(563), Column: int(29), }, }, @@ -78169,7 +80099,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "min_digits", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5869, + Ctx: p6004, FreeVars: ast.Identifiers{ "min_digits", }, @@ -78177,11 +80107,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(543), + Line: int(563), Column: int(31), }, End: ast.Location{ - Line: int(543), + Line: int(563), Column: int(41), }, }, @@ -78196,7 +80126,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5865, + Ctx: p6000, FreeVars: ast.Identifiers{ "min_digits", "std", @@ -78206,11 +80136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(543), + Line: int(563), Column: int(19), }, End: ast.Location{ - Line: int(543), + Line: int(563), Column: int(42), }, }, @@ -78226,11 +80156,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(543), + Line: int(563), Column: int(13), }, End: ast.Location{ - Line: int(543), + Line: int(563), Column: int(42), }, }, @@ -78246,7 +80176,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pad_left", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{ "pad_left", }, @@ -78254,11 +80184,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(545), + Line: int(565), Column: int(22), }, End: ast.Location{ - Line: int(545), + Line: int(565), Column: int(30), }, }, @@ -78272,7 +80202,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "hex", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5883, + Ctx: p6018, FreeVars: ast.Identifiers{ "hex", }, @@ -78280,11 +80210,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(545), + Line: int(565), Column: int(31), }, End: ast.Location{ - Line: int(545), + Line: int(565), Column: int(34), }, }, @@ -78297,7 +80227,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zp2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5883, + Ctx: p6018, FreeVars: ast.Identifiers{ "zp2", }, @@ -78305,11 +80235,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(545), + Line: int(565), Column: int(36), }, End: ast.Location{ - Line: int(545), + Line: int(565), Column: int(39), }, }, @@ -78324,17 +80254,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5883, + Ctx: p6018, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(545), + Line: int(565), Column: int(41), }, End: ast.Location{ - Line: int(545), + Line: int(565), Column: int(44), }, }, @@ -78350,7 +80280,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{ "hex", "pad_left", @@ -78360,11 +80290,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(545), + Line: int(565), Column: int(22), }, End: ast.Location{ - Line: int(545), + Line: int(565), Column: int(45), }, }, @@ -78377,7 +80307,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "add_zerox", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{ "add_zerox", }, @@ -78385,11 +80315,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(24), }, End: ast.Location{ - Line: int(544), + Line: int(564), Column: int(33), }, }, @@ -78400,7 +80330,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "capitals", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{ "capitals", }, @@ -78408,11 +80338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(43), }, End: ast.Location{ - Line: int(544), + Line: int(564), Column: int(51), }, }, @@ -78424,17 +80354,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(57), }, End: ast.Location{ - Line: int(544), + Line: int(564), Column: int(61), }, }, @@ -78447,17 +80377,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(67), }, End: ast.Location{ - Line: int(544), + Line: int(564), Column: int(71), }, }, @@ -78468,7 +80398,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{ "capitals", }, @@ -78476,11 +80406,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(40), }, End: ast.Location{ - Line: int(544), + Line: int(564), Column: int(71), }, }, @@ -78492,17 +80422,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(78), }, End: ast.Location{ - Line: int(544), + Line: int(564), Column: int(80), }, }, @@ -78513,7 +80443,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{ "add_zerox", "capitals", @@ -78522,11 +80452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(21), }, End: ast.Location{ - Line: int(544), + Line: int(564), Column: int(80), }, }, @@ -78542,7 +80472,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5879, + Ctx: p6014, FreeVars: ast.Identifiers{ "add_zerox", "capitals", @@ -78554,11 +80484,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(20), }, End: ast.Location{ - Line: int(545), + Line: int(565), Column: int(45), }, }, @@ -78573,11 +80503,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(13), }, End: ast.Location{ - Line: int(545), + Line: int(565), Column: int(45), }, }, @@ -78588,7 +80518,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "hex2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "hex2", }, @@ -78596,11 +80526,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(80), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -78611,7 +80541,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "neg", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "neg", }, @@ -78619,11 +80549,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(11), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(14), }, }, @@ -78635,17 +80565,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(20), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(23), }, }, @@ -78657,7 +80587,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "plus", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "plus", }, @@ -78665,11 +80595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(32), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(36), }, }, @@ -78681,17 +80611,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(42), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(45), }, }, @@ -78703,7 +80633,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "blank", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "blank", }, @@ -78711,11 +80641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(54), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(59), }, }, @@ -78727,17 +80657,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(65), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(68), }, }, @@ -78750,17 +80680,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(74), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(76), }, }, @@ -78771,7 +80701,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "blank", }, @@ -78779,11 +80709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(51), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(76), }, }, @@ -78793,7 +80723,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "blank", "plus", @@ -78802,11 +80732,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(29), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(76), }, }, @@ -78816,7 +80746,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "blank", "neg", @@ -78826,11 +80756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(8), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(76), }, }, @@ -78839,7 +80769,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "blank", "hex2", @@ -78850,11 +80780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(546), + Line: int(566), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -78870,7 +80800,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "add_zerox", "blank", @@ -78885,11 +80815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(544), + Line: int(564), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -78904,7 +80834,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "add_zerox", "blank", @@ -78921,11 +80851,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(543), + Line: int(563), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -78940,7 +80870,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "add_zerox", "blank", @@ -78957,11 +80887,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(541), + Line: int(561), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -78976,7 +80906,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "add_zerox", "blank", @@ -78993,11 +80923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(540), + Line: int(560), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -79012,7 +80942,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "add_zerox", "aux", @@ -79030,11 +80960,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(539), + Line: int(559), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -79049,7 +80979,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "$std", "add_zerox", @@ -79068,11 +80998,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(534), + Line: int(554), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -79087,7 +81017,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "$std", "add_zerox", @@ -79105,11 +81035,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(533), + Line: int(553), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -79124,7 +81054,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p5904, + Ctx: p6039, FreeVars: ast.Identifiers{ "$std", "add_zerox", @@ -79141,11 +81071,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(530), + Line: int(550), Column: int(7), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -79162,11 +81092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(22), }, End: ast.Location{ - Line: int(529), + Line: int(549), Column: int(25), }, }, @@ -79181,11 +81111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(27), }, End: ast.Location{ - Line: int(529), + Line: int(549), Column: int(36), }, }, @@ -79200,11 +81130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(38), }, End: ast.Location{ - Line: int(529), + Line: int(549), Column: int(48), }, }, @@ -79219,11 +81149,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(50), }, End: ast.Location{ - Line: int(529), + Line: int(549), Column: int(55), }, }, @@ -79238,11 +81168,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(57), }, End: ast.Location{ - Line: int(529), + Line: int(549), Column: int(61), }, }, @@ -79257,11 +81187,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(63), }, End: ast.Location{ - Line: int(529), + Line: int(549), Column: int(72), }, }, @@ -79276,11 +81206,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(74), }, End: ast.Location{ - Line: int(529), + Line: int(549), Column: int(82), }, }, @@ -79288,7 +81218,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p5940, + Ctx: p6075, FreeVars: ast.Identifiers{ "$std", "pad_left", @@ -79298,11 +81228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(11), }, End: ast.Location{ - Line: int(546), + Line: int(566), Column: int(84), }, }, @@ -79347,17 +81277,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(550), + Line: int(570), Column: int(16), }, End: ast.Location{ - Line: int(550), + Line: int(570), Column: int(17), }, }, @@ -79367,7 +81297,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "i", }, @@ -79375,11 +81305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(550), + Line: int(570), Column: int(12), }, End: ast.Location{ - Line: int(550), + Line: int(570), Column: int(13), }, }, @@ -79388,7 +81318,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "i", }, @@ -79396,11 +81326,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(550), + Line: int(570), Column: int(12), }, End: ast.Location{ - Line: int(550), + Line: int(570), Column: int(17), }, }, @@ -79420,17 +81350,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(551), + Line: int(571), Column: int(11), }, End: ast.Location{ - Line: int(551), + Line: int(571), Column: int(13), }, }, @@ -79445,17 +81375,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(553), + Line: int(573), Column: int(24), }, End: ast.Location{ - Line: int(553), + Line: int(573), Column: int(27), }, }, @@ -79467,7 +81397,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "str", }, @@ -79475,11 +81405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(553), + Line: int(573), Column: int(14), }, End: ast.Location{ - Line: int(553), + Line: int(573), Column: int(17), }, }, @@ -79489,7 +81419,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "i", }, @@ -79497,11 +81427,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(553), + Line: int(573), Column: int(18), }, End: ast.Location{ - Line: int(553), + Line: int(573), Column: int(19), }, }, @@ -79512,7 +81442,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "i", "str", @@ -79521,11 +81451,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(553), + Line: int(573), Column: int(14), }, End: ast.Location{ - Line: int(553), + Line: int(573), Column: int(20), }, }, @@ -79534,7 +81464,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "i", "str", @@ -79543,11 +81473,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(553), + Line: int(573), Column: int(14), }, End: ast.Location{ - Line: int(553), + Line: int(573), Column: int(27), }, }, @@ -79566,7 +81496,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "aux", }, @@ -79574,11 +81504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(554), + Line: int(574), Column: int(13), }, End: ast.Location{ - Line: int(554), + Line: int(574), Column: int(16), }, }, @@ -79592,7 +81522,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5973, + Ctx: p6108, FreeVars: ast.Identifiers{ "str", }, @@ -79600,11 +81530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(554), + Line: int(574), Column: int(17), }, End: ast.Location{ - Line: int(554), + Line: int(574), Column: int(20), }, }, @@ -79618,17 +81548,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5973, + Ctx: p6108, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(554), + Line: int(574), Column: int(26), }, End: ast.Location{ - Line: int(554), + Line: int(574), Column: int(27), }, }, @@ -79638,7 +81568,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5973, + Ctx: p6108, FreeVars: ast.Identifiers{ "i", }, @@ -79646,11 +81576,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(554), + Line: int(574), Column: int(22), }, End: ast.Location{ - Line: int(554), + Line: int(574), Column: int(23), }, }, @@ -79659,7 +81589,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5973, + Ctx: p6108, FreeVars: ast.Identifiers{ "i", }, @@ -79667,11 +81597,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(554), + Line: int(574), Column: int(22), }, End: ast.Location{ - Line: int(554), + Line: int(574), Column: int(27), }, }, @@ -79687,7 +81617,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "aux", "i", @@ -79697,11 +81627,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(554), + Line: int(574), Column: int(13), }, End: ast.Location{ - Line: int(554), + Line: int(574), Column: int(28), }, }, @@ -79730,11 +81660,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(556), + Line: int(576), Column: int(13), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(16), }, }, @@ -79768,7 +81698,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "std", }, @@ -79776,11 +81706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(556), + Line: int(576), Column: int(13), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(23), }, }, @@ -79794,7 +81724,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5990, + Ctx: p6125, FreeVars: ast.Identifiers{ "str", }, @@ -79802,11 +81732,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(556), + Line: int(576), Column: int(24), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(27), }, }, @@ -79819,17 +81749,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5990, + Ctx: p6125, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(556), + Line: int(576), Column: int(29), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(30), }, }, @@ -79843,17 +81773,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5990, + Ctx: p6125, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(556), + Line: int(576), Column: int(36), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(37), }, }, @@ -79863,7 +81793,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5990, + Ctx: p6125, FreeVars: ast.Identifiers{ "i", }, @@ -79871,11 +81801,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(556), + Line: int(576), Column: int(32), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(33), }, }, @@ -79884,7 +81814,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5990, + Ctx: p6125, FreeVars: ast.Identifiers{ "i", }, @@ -79892,11 +81822,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(556), + Line: int(576), Column: int(32), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(37), }, }, @@ -79912,7 +81842,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "i", "std", @@ -79922,11 +81852,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(556), + Line: int(576), Column: int(13), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(38), }, }, @@ -79952,7 +81882,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "aux", "i", @@ -79963,11 +81893,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(553), + Line: int(573), Column: int(11), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(38), }, }, @@ -79991,7 +81921,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p5951, + Ctx: p6086, FreeVars: ast.Identifiers{ "aux", "i", @@ -80002,11 +81932,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(550), + Line: int(570), Column: int(9), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(38), }, }, @@ -80023,11 +81953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(549), + Line: int(569), Column: int(17), }, End: ast.Location{ - Line: int(549), + Line: int(569), Column: int(20), }, }, @@ -80042,11 +81972,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(549), + Line: int(569), Column: int(22), }, End: ast.Location{ - Line: int(549), + Line: int(569), Column: int(23), }, }, @@ -80054,7 +81984,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p6006, + Ctx: p6141, FreeVars: ast.Identifiers{ "aux", "std", @@ -80063,11 +81993,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(549), + Line: int(569), Column: int(13), }, End: ast.Location{ - Line: int(556), + Line: int(576), Column: int(38), }, }, @@ -80104,7 +82034,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6011, + Ctx: p6146, FreeVars: ast.Identifiers{ "aux", }, @@ -80112,11 +82042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(7), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(10), }, }, @@ -80130,7 +82060,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6015, + Ctx: p6150, FreeVars: ast.Identifiers{ "str", }, @@ -80138,11 +82068,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(11), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(14), }, }, @@ -80156,17 +82086,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6015, + Ctx: p6150, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(34), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(35), }, }, @@ -80186,11 +82116,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(16), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(19), }, }, @@ -80224,7 +82154,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6015, + Ctx: p6150, FreeVars: ast.Identifiers{ "std", }, @@ -80232,11 +82162,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(16), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(26), }, }, @@ -80250,7 +82180,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6027, + Ctx: p6162, FreeVars: ast.Identifiers{ "str", }, @@ -80258,11 +82188,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(27), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(30), }, }, @@ -80277,7 +82207,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6015, + Ctx: p6150, FreeVars: ast.Identifiers{ "std", "str", @@ -80286,11 +82216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(16), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(31), }, }, @@ -80301,7 +82231,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6015, + Ctx: p6150, FreeVars: ast.Identifiers{ "std", "str", @@ -80310,11 +82240,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(16), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(35), }, }, @@ -80330,7 +82260,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6011, + Ctx: p6146, FreeVars: ast.Identifiers{ "aux", "std", @@ -80340,11 +82270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(557), + Line: int(577), Column: int(7), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(36), }, }, @@ -80361,7 +82291,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6011, + Ctx: p6146, FreeVars: ast.Identifiers{ "std", "str", @@ -80370,11 +82300,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(549), + Line: int(569), Column: int(7), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(36), }, }, @@ -80391,11 +82321,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(548), + Line: int(568), Column: int(31), }, End: ast.Location{ - Line: int(548), + Line: int(568), Column: int(34), }, }, @@ -80403,7 +82333,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p6035, + Ctx: p6170, FreeVars: ast.Identifiers{ "std", }, @@ -80411,11 +82341,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(548), + Line: int(568), Column: int(11), }, End: ast.Location{ - Line: int(557), + Line: int(577), Column: int(36), }, }, @@ -80465,11 +82395,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(561), + Line: int(581), Column: int(18), }, End: ast.Location{ - Line: int(561), + Line: int(581), Column: int(21), }, }, @@ -80503,7 +82433,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6047, + Ctx: p6182, FreeVars: ast.Identifiers{ "std", }, @@ -80511,11 +82441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(561), + Line: int(581), Column: int(18), }, End: ast.Location{ - Line: int(561), + Line: int(581), Column: int(25), }, }, @@ -80529,7 +82459,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n__", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6051, + Ctx: p6186, FreeVars: ast.Identifiers{ "n__", }, @@ -80537,11 +82467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(561), + Line: int(581), Column: int(26), }, End: ast.Location{ - Line: int(561), + Line: int(581), Column: int(29), }, }, @@ -80556,7 +82486,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6047, + Ctx: p6182, FreeVars: ast.Identifiers{ "n__", "std", @@ -80565,11 +82495,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(561), + Line: int(581), Column: int(18), }, End: ast.Location{ - Line: int(561), + Line: int(581), Column: int(30), }, }, @@ -80585,11 +82515,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(561), + Line: int(581), Column: int(13), }, End: ast.Location{ - Line: int(561), + Line: int(581), Column: int(30), }, }, @@ -80613,11 +82543,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(562), + Line: int(582), Column: int(21), }, End: ast.Location{ - Line: int(562), + Line: int(582), Column: int(24), }, }, @@ -80651,7 +82581,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6061, + Ctx: p6196, FreeVars: ast.Identifiers{ "std", }, @@ -80659,11 +82589,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(562), + Line: int(582), Column: int(21), }, End: ast.Location{ - Line: int(562), + Line: int(582), Column: int(30), }, }, @@ -80677,7 +82607,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6065, + Ctx: p6200, FreeVars: ast.Identifiers{ "n_", }, @@ -80685,11 +82615,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(562), + Line: int(582), Column: int(31), }, End: ast.Location{ - Line: int(562), + Line: int(582), Column: int(33), }, }, @@ -80704,7 +82634,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6061, + Ctx: p6196, FreeVars: ast.Identifiers{ "n_", "std", @@ -80713,11 +82643,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(562), + Line: int(582), Column: int(21), }, End: ast.Location{ - Line: int(562), + Line: int(582), Column: int(34), }, }, @@ -80733,11 +82663,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(562), + Line: int(582), Column: int(13), }, End: ast.Location{ - Line: int(562), + Line: int(582), Column: int(34), }, }, @@ -80761,11 +82691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(567), + Line: int(587), Column: int(27), }, End: ast.Location{ - Line: int(567), + Line: int(587), Column: int(30), }, }, @@ -80799,7 +82729,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6075, + Ctx: p6210, FreeVars: ast.Identifiers{ "std", }, @@ -80807,11 +82737,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(567), + Line: int(587), Column: int(27), }, End: ast.Location{ - Line: int(567), + Line: int(587), Column: int(34), }, }, @@ -80825,17 +82755,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6079, + Ctx: p6214, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(567), + Line: int(587), Column: int(35), }, End: ast.Location{ - Line: int(567), + Line: int(587), Column: int(37), }, }, @@ -80848,7 +82778,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6079, + Ctx: p6214, FreeVars: ast.Identifiers{ "prec", }, @@ -80856,11 +82786,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(567), + Line: int(587), Column: int(39), }, End: ast.Location{ - Line: int(567), + Line: int(587), Column: int(43), }, }, @@ -80875,7 +82805,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6075, + Ctx: p6210, FreeVars: ast.Identifiers{ "prec", "std", @@ -80884,11 +82814,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(567), + Line: int(587), Column: int(27), }, End: ast.Location{ - Line: int(567), + Line: int(587), Column: int(44), }, }, @@ -80904,11 +82834,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(567), + Line: int(587), Column: int(13), }, End: ast.Location{ - Line: int(567), + Line: int(587), Column: int(44), }, }, @@ -80923,17 +82853,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0.5", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6087, + Ctx: p6222, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(53), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(56), }, }, @@ -80944,7 +82874,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "denominator", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6087, + Ctx: p6222, FreeVars: ast.Identifiers{ "denominator", }, @@ -80952,11 +82882,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(39), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(50), }, }, @@ -80976,11 +82906,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(25), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(28), }, }, @@ -81014,7 +82944,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6087, + Ctx: p6222, FreeVars: ast.Identifiers{ "std", }, @@ -81022,11 +82952,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(25), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(32), }, }, @@ -81040,7 +82970,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6099, + Ctx: p6234, FreeVars: ast.Identifiers{ "n_", }, @@ -81048,11 +82978,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(33), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(35), }, }, @@ -81067,7 +82997,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6087, + Ctx: p6222, FreeVars: ast.Identifiers{ "n_", "std", @@ -81076,11 +83006,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(25), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(36), }, }, @@ -81091,7 +83021,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6087, + Ctx: p6222, FreeVars: ast.Identifiers{ "denominator", "n_", @@ -81101,11 +83031,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(25), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(50), }, }, @@ -81115,7 +83045,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6087, + Ctx: p6222, FreeVars: ast.Identifiers{ "denominator", "n_", @@ -81125,11 +83055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(25), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(56), }, }, @@ -81144,11 +83074,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(13), }, End: ast.Location{ - Line: int(568), + Line: int(588), Column: int(56), }, }, @@ -81173,11 +83103,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(36), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(39), }, }, @@ -81211,7 +83141,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6112, + Ctx: p6247, FreeVars: ast.Identifiers{ "std", }, @@ -81219,11 +83149,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(36), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(45), }, }, @@ -81238,7 +83168,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "denominator", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6117, + Ctx: p6252, FreeVars: ast.Identifiers{ "denominator", }, @@ -81246,11 +83176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(58), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(69), }, }, @@ -81260,7 +83190,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "numerator", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6117, + Ctx: p6252, FreeVars: ast.Identifiers{ "numerator", }, @@ -81268,11 +83198,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(46), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(55), }, }, @@ -81281,7 +83211,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6117, + Ctx: p6252, FreeVars: ast.Identifiers{ "denominator", "numerator", @@ -81290,11 +83220,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(46), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(69), }, }, @@ -81310,7 +83240,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6112, + Ctx: p6247, FreeVars: ast.Identifiers{ "denominator", "numerator", @@ -81320,11 +83250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(36), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(70), }, }, @@ -81346,11 +83276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(21), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(24), }, }, @@ -81384,7 +83314,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6112, + Ctx: p6247, FreeVars: ast.Identifiers{ "std", }, @@ -81392,11 +83322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(21), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(29), }, }, @@ -81410,7 +83340,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6131, + Ctx: p6266, FreeVars: ast.Identifiers{ "n_", }, @@ -81418,11 +83348,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(30), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(32), }, }, @@ -81437,7 +83367,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6112, + Ctx: p6247, FreeVars: ast.Identifiers{ "n_", "std", @@ -81446,11 +83376,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(21), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(33), }, }, @@ -81461,7 +83391,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6112, + Ctx: p6247, FreeVars: ast.Identifiers{ "denominator", "n_", @@ -81472,11 +83402,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(21), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(70), }, }, @@ -81491,11 +83421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(13), }, End: ast.Location{ - Line: int(569), + Line: int(589), Column: int(70), }, }, @@ -81593,11 +83523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(570), + Line: int(590), Column: int(20), }, End: ast.Location{ - Line: int(570), + Line: int(590), Column: int(23), }, }, @@ -81631,7 +83561,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6149, + Ctx: p6284, FreeVars: ast.Identifiers{ "std", }, @@ -81639,11 +83569,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(570), + Line: int(590), Column: int(20), }, End: ast.Location{ - Line: int(570), + Line: int(590), Column: int(29), }, }, @@ -81657,7 +83587,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "numerator", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6153, + Ctx: p6288, FreeVars: ast.Identifiers{ "numerator", }, @@ -81665,11 +83595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(570), + Line: int(590), Column: int(30), }, End: ast.Location{ - Line: int(570), + Line: int(590), Column: int(39), }, }, @@ -81684,7 +83614,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6149, + Ctx: p6284, FreeVars: ast.Identifiers{ "numerator", "std", @@ -81693,11 +83623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(570), + Line: int(590), Column: int(20), }, End: ast.Location{ - Line: int(570), + Line: int(590), Column: int(40), }, }, @@ -81712,7 +83642,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "denominator", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6149, + Ctx: p6284, FreeVars: ast.Identifiers{ "denominator", }, @@ -81720,11 +83650,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(570), + Line: int(590), Column: int(43), }, End: ast.Location{ - Line: int(570), + Line: int(590), Column: int(54), }, }, @@ -81750,11 +83680,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(570), + Line: int(590), Column: int(20), }, End: ast.Location{ - Line: int(570), + Line: int(590), Column: int(54), }, }, @@ -81770,11 +83700,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(570), + Line: int(590), Column: int(13), }, End: ast.Location{ - Line: int(570), + Line: int(590), Column: int(54), }, }, @@ -81791,7 +83721,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ensure_pt", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{ "ensure_pt", }, @@ -81799,11 +83729,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(41), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(50), }, }, @@ -81811,7 +83741,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{ "ensure_pt", }, @@ -81819,11 +83749,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(40), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(50), }, }, @@ -81835,17 +83765,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(35), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(36), }, }, @@ -81855,7 +83785,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{ "prec", }, @@ -81863,11 +83793,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(27), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(31), }, }, @@ -81876,7 +83806,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{ "prec", }, @@ -81884,11 +83814,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(27), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(36), }, }, @@ -81898,7 +83828,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{ "ensure_pt", "prec", @@ -81907,11 +83837,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(27), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(50), }, }, @@ -81922,17 +83852,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(56), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(57), }, }, @@ -81942,17 +83872,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(63), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(64), }, }, @@ -81962,7 +83892,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6165, + Ctx: p6300, FreeVars: ast.Identifiers{ "ensure_pt", "prec", @@ -81971,11 +83901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(24), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(64), }, }, @@ -81989,11 +83919,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(13), }, End: ast.Location{ - Line: int(571), + Line: int(591), Column: int(64), }, }, @@ -82008,7 +83938,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "dot_size", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6181, + Ctx: p6316, FreeVars: ast.Identifiers{ "dot_size", }, @@ -82016,11 +83946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(572), + Line: int(592), Column: int(36), }, End: ast.Location{ - Line: int(572), + Line: int(592), Column: int(44), }, }, @@ -82031,7 +83961,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6181, + Ctx: p6316, FreeVars: ast.Identifiers{ "prec", }, @@ -82039,11 +83969,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(572), + Line: int(592), Column: int(29), }, End: ast.Location{ - Line: int(572), + Line: int(592), Column: int(33), }, }, @@ -82053,7 +83983,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zero_pad", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6181, + Ctx: p6316, FreeVars: ast.Identifiers{ "zero_pad", }, @@ -82061,11 +83991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(572), + Line: int(592), Column: int(18), }, End: ast.Location{ - Line: int(572), + Line: int(592), Column: int(26), }, }, @@ -82074,7 +84004,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6181, + Ctx: p6316, FreeVars: ast.Identifiers{ "prec", "zero_pad", @@ -82083,11 +84013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(572), + Line: int(592), Column: int(18), }, End: ast.Location{ - Line: int(572), + Line: int(592), Column: int(33), }, }, @@ -82097,7 +84027,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6181, + Ctx: p6316, FreeVars: ast.Identifiers{ "dot_size", "prec", @@ -82107,11 +84037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(572), + Line: int(592), Column: int(18), }, End: ast.Location{ - Line: int(572), + Line: int(592), Column: int(44), }, }, @@ -82126,11 +84056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(572), + Line: int(592), Column: int(13), }, End: ast.Location{ - Line: int(572), + Line: int(592), Column: int(44), }, }, @@ -82145,7 +84075,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "render_int", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6194, + Ctx: p6329, FreeVars: ast.Identifiers{ "render_int", }, @@ -82153,11 +84083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(19), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(29), }, }, @@ -82172,17 +84102,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(36), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(37), }, }, @@ -82192,7 +84122,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n__", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{ "n__", }, @@ -82200,11 +84130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(30), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(33), }, }, @@ -82213,7 +84143,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{ "n__", }, @@ -82221,11 +84151,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(30), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(37), }, }, @@ -82239,7 +84169,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "whole", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{ "whole", }, @@ -82247,11 +84177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(39), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(44), }, }, @@ -82264,7 +84194,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{ "zp", }, @@ -82272,11 +84202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(46), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(48), }, }, @@ -82289,17 +84219,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(50), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(51), }, }, @@ -82312,7 +84242,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "blank", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{ "blank", }, @@ -82320,11 +84250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(53), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(58), }, }, @@ -82337,7 +84267,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "plus", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{ "plus", }, @@ -82345,11 +84275,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(60), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(64), }, }, @@ -82362,17 +84292,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(66), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(68), }, }, @@ -82387,17 +84317,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6199, + Ctx: p6334, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(70), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(72), }, }, @@ -82413,7 +84343,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6194, + Ctx: p6329, FreeVars: ast.Identifiers{ "blank", "n__", @@ -82426,11 +84356,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(19), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(73), }, }, @@ -82446,11 +84376,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(13), }, End: ast.Location{ - Line: int(573), + Line: int(593), Column: int(73), }, }, @@ -82462,17 +84392,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(574), + Line: int(594), Column: int(18), }, End: ast.Location{ - Line: int(574), + Line: int(594), Column: int(19), }, }, @@ -82482,7 +84412,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "prec", }, @@ -82490,11 +84420,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(574), + Line: int(594), Column: int(10), }, End: ast.Location{ - Line: int(574), + Line: int(594), Column: int(14), }, }, @@ -82503,7 +84433,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "prec", }, @@ -82511,11 +84441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(574), + Line: int(594), Column: int(10), }, End: ast.Location{ - Line: int(574), + Line: int(594), Column: int(19), }, }, @@ -82528,7 +84458,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ensure_pt", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "ensure_pt", }, @@ -82536,11 +84466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(575), + Line: int(595), Column: int(18), }, End: ast.Location{ - Line: int(575), + Line: int(595), Column: int(27), }, }, @@ -82552,17 +84482,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(575), + Line: int(595), Column: int(33), }, End: ast.Location{ - Line: int(575), + Line: int(595), Column: int(36), }, }, @@ -82575,17 +84505,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(575), + Line: int(595), Column: int(42), }, End: ast.Location{ - Line: int(575), + Line: int(595), Column: int(44), }, }, @@ -82596,7 +84526,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "ensure_pt", }, @@ -82604,11 +84534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(575), + Line: int(595), Column: int(15), }, End: ast.Location{ - Line: int(575), + Line: int(595), Column: int(44), }, }, @@ -82625,7 +84555,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "str", }, @@ -82633,11 +84563,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(575), + Line: int(595), Column: int(9), }, End: ast.Location{ - Line: int(575), + Line: int(595), Column: int(12), }, }, @@ -82646,7 +84576,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "ensure_pt", "str", @@ -82655,11 +84585,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(575), + Line: int(595), Column: int(9), }, End: ast.Location{ - Line: int(575), + Line: int(595), Column: int(44), }, }, @@ -82673,17 +84603,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(577), + Line: int(597), Column: int(31), }, End: ast.Location{ - Line: int(577), + Line: int(597), Column: int(32), }, }, @@ -82693,7 +84623,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "frac", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac", }, @@ -82701,11 +84631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(577), + Line: int(597), Column: int(24), }, End: ast.Location{ - Line: int(577), + Line: int(597), Column: int(28), }, }, @@ -82714,7 +84644,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac", }, @@ -82722,11 +84652,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(577), + Line: int(597), Column: int(24), }, End: ast.Location{ - Line: int(577), + Line: int(597), Column: int(32), }, }, @@ -82737,7 +84667,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "trailing", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "trailing", }, @@ -82745,11 +84675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(577), + Line: int(597), Column: int(12), }, End: ast.Location{ - Line: int(577), + Line: int(597), Column: int(20), }, }, @@ -82758,7 +84688,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac", "trailing", @@ -82767,11 +84697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(577), + Line: int(597), Column: int(12), }, End: ast.Location{ - Line: int(577), + Line: int(597), Column: int(32), }, }, @@ -82787,7 +84717,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "render_int", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6247, + Ctx: p6382, FreeVars: ast.Identifiers{ "render_int", }, @@ -82795,11 +84725,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(28), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(38), }, }, @@ -82812,17 +84742,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6251, + Ctx: p6386, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(39), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(44), }, }, @@ -82836,7 +84766,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "frac", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6251, + Ctx: p6386, FreeVars: ast.Identifiers{ "frac", }, @@ -82844,11 +84774,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(46), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(50), }, }, @@ -82861,7 +84791,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6251, + Ctx: p6386, FreeVars: ast.Identifiers{ "prec", }, @@ -82869,11 +84799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(52), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(56), }, }, @@ -82886,17 +84816,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6251, + Ctx: p6386, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(58), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(59), }, }, @@ -82908,17 +84838,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6251, + Ctx: p6386, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(61), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(66), }, }, @@ -82931,17 +84861,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6251, + Ctx: p6386, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(68), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(73), }, }, @@ -82955,17 +84885,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6251, + Ctx: p6386, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(75), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(77), }, }, @@ -82980,17 +84910,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6251, + Ctx: p6386, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(79), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(81), }, }, @@ -83006,7 +84936,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6247, + Ctx: p6382, FreeVars: ast.Identifiers{ "frac", "prec", @@ -83016,11 +84946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(28), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(82), }, }, @@ -83036,11 +84966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(17), }, End: ast.Location{ - Line: int(578), + Line: int(598), Column: int(82), }, }, @@ -83053,7 +84983,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "trailing", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "trailing", }, @@ -83061,11 +84991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(27), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(35), }, }, @@ -83073,7 +85003,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "trailing", }, @@ -83081,11 +85011,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(26), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(35), }, }, @@ -83097,7 +85027,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "strip_trailing_zero", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "strip_trailing_zero", }, @@ -83105,11 +85035,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(41), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(60), }, }, @@ -83123,7 +85053,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "frac_str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6273, + Ctx: p6408, FreeVars: ast.Identifiers{ "frac_str", }, @@ -83131,11 +85061,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(61), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(69), }, }, @@ -83150,7 +85080,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac_str", "strip_trailing_zero", @@ -83159,11 +85089,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(41), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(70), }, }, @@ -83175,7 +85105,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "frac_str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac_str", }, @@ -83183,11 +85113,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(76), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(84), }, }, @@ -83197,7 +85127,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac_str", "strip_trailing_zero", @@ -83207,11 +85137,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(23), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(84), }, }, @@ -83224,17 +85154,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(17), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(20), }, }, @@ -83252,7 +85182,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "str", }, @@ -83260,11 +85190,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(11), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(14), }, }, @@ -83273,7 +85203,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "str", }, @@ -83281,11 +85211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(11), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(20), }, }, @@ -83295,7 +85225,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac_str", "str", @@ -83306,11 +85236,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(579), + Line: int(599), Column: int(11), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(84), }, }, @@ -83326,7 +85256,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac", "prec", @@ -83339,11 +85269,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(578), + Line: int(598), Column: int(11), }, End: ast.Location{ - Line: int(579), + Line: int(599), Column: int(84), }, }, @@ -83360,7 +85290,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "str", }, @@ -83368,11 +85298,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(581), + Line: int(601), Column: int(11), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83396,7 +85326,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "frac", "prec", @@ -83409,11 +85339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(577), + Line: int(597), Column: int(9), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83437,7 +85367,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "ensure_pt", "frac", @@ -83451,11 +85381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(574), + Line: int(594), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83470,7 +85400,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "blank", "ensure_pt", @@ -83488,11 +85418,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(573), + Line: int(593), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83507,7 +85437,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "blank", "dot_size", @@ -83526,11 +85456,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(572), + Line: int(592), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83545,7 +85475,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "blank", "ensure_pt", @@ -83563,11 +85493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(571), + Line: int(591), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83582,7 +85512,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "$std", "blank", @@ -83603,11 +85533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(570), + Line: int(590), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83622,7 +85552,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "$std", "blank", @@ -83643,11 +85573,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(569), + Line: int(589), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83662,7 +85592,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "$std", "blank", @@ -83682,11 +85612,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(568), + Line: int(588), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83733,7 +85663,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "$std", "blank", @@ -83752,11 +85682,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(567), + Line: int(587), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83771,7 +85701,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "$std", "blank", @@ -83790,11 +85720,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(562), + Line: int(582), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83809,7 +85739,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6218, + Ctx: p6353, FreeVars: ast.Identifiers{ "$std", "blank", @@ -83827,11 +85757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(561), + Line: int(581), Column: int(7), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -83848,11 +85778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(28), }, End: ast.Location{ - Line: int(560), + Line: int(580), Column: int(31), }, }, @@ -83867,11 +85797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(33), }, End: ast.Location{ - Line: int(560), + Line: int(580), Column: int(41), }, }, @@ -83886,11 +85816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(43), }, End: ast.Location{ - Line: int(560), + Line: int(580), Column: int(48), }, }, @@ -83905,11 +85835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(50), }, End: ast.Location{ - Line: int(560), + Line: int(580), Column: int(54), }, }, @@ -83924,11 +85854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(56), }, End: ast.Location{ - Line: int(560), + Line: int(580), Column: int(65), }, }, @@ -83943,11 +85873,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(67), }, End: ast.Location{ - Line: int(560), + Line: int(580), Column: int(75), }, }, @@ -83962,11 +85892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(77), }, End: ast.Location{ - Line: int(560), + Line: int(580), Column: int(81), }, }, @@ -83974,7 +85904,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p6320, + Ctx: p6455, FreeVars: ast.Identifiers{ "$std", "render_int", @@ -83985,11 +85915,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(11), }, End: ast.Location{ - Line: int(581), + Line: int(601), Column: int(14), }, }, @@ -84031,17 +85961,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6330, + Ctx: p6465, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(34), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(35), }, }, @@ -84051,7 +85981,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n__", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6330, + Ctx: p6465, FreeVars: ast.Identifiers{ "n__", }, @@ -84059,11 +85989,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(27), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(30), }, }, @@ -84072,7 +86002,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6330, + Ctx: p6465, FreeVars: ast.Identifiers{ "n__", }, @@ -84080,11 +86010,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(27), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(35), }, }, @@ -84095,17 +86025,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6330, + Ctx: p6465, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(41), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(42), }, }, @@ -84125,11 +86055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(48), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(51), }, }, @@ -84163,7 +86093,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6330, + Ctx: p6465, FreeVars: ast.Identifiers{ "std", }, @@ -84171,11 +86101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(48), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(57), }, }, @@ -84200,11 +86130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(82), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(85), }, }, @@ -84238,7 +86168,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6348, + Ctx: p6483, FreeVars: ast.Identifiers{ "std", }, @@ -84246,11 +86176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(82), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(89), }, }, @@ -84264,17 +86194,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6352, + Ctx: p6487, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(90), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(92), }, }, @@ -84289,7 +86219,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6348, + Ctx: p6483, FreeVars: ast.Identifiers{ "std", }, @@ -84297,11 +86227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(82), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(93), }, }, @@ -84323,11 +86253,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(58), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(61), }, }, @@ -84361,7 +86291,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6348, + Ctx: p6483, FreeVars: ast.Identifiers{ "std", }, @@ -84369,11 +86299,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(58), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(65), }, }, @@ -84397,11 +86327,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(66), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(69), }, }, @@ -84435,7 +86365,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6366, + Ctx: p6501, FreeVars: ast.Identifiers{ "std", }, @@ -84443,11 +86373,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(66), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(73), }, }, @@ -84461,7 +86391,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n__", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6370, + Ctx: p6505, FreeVars: ast.Identifiers{ "n__", }, @@ -84469,11 +86399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(74), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(77), }, }, @@ -84488,7 +86418,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6366, + Ctx: p6501, FreeVars: ast.Identifiers{ "n__", "std", @@ -84497,11 +86427,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(66), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(78), }, }, @@ -84518,7 +86448,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6348, + Ctx: p6483, FreeVars: ast.Identifiers{ "n__", "std", @@ -84527,11 +86457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(58), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(79), }, }, @@ -84542,7 +86472,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6348, + Ctx: p6483, FreeVars: ast.Identifiers{ "n__", "std", @@ -84551,11 +86481,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(58), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(93), }, }, @@ -84571,7 +86501,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6330, + Ctx: p6465, FreeVars: ast.Identifiers{ "n__", "std", @@ -84580,11 +86510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(48), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(94), }, }, @@ -84596,7 +86526,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6330, + Ctx: p6465, FreeVars: ast.Identifiers{ "n__", "std", @@ -84605,11 +86535,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(24), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(94), }, }, @@ -84623,11 +86553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(13), }, End: ast.Location{ - Line: int(585), + Line: int(605), Column: int(94), }, }, @@ -84643,7 +86573,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "render_int", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6382, + Ctx: p6517, FreeVars: ast.Identifiers{ "render_int", }, @@ -84651,11 +86581,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(22), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(32), }, }, @@ -84670,17 +86600,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(44), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(45), }, }, @@ -84690,7 +86620,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "exponent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{ "exponent", }, @@ -84698,11 +86628,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(33), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(41), }, }, @@ -84711,7 +86641,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{ "exponent", }, @@ -84719,11 +86649,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(33), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(45), }, }, @@ -84747,11 +86677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(47), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(50), }, }, @@ -84785,7 +86715,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{ "std", }, @@ -84793,11 +86723,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(47), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(54), }, }, @@ -84811,7 +86741,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "exponent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6399, + Ctx: p6534, FreeVars: ast.Identifiers{ "exponent", }, @@ -84819,11 +86749,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(55), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(63), }, }, @@ -84838,7 +86768,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{ "exponent", "std", @@ -84847,11 +86777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(47), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(64), }, }, @@ -84866,17 +86796,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(66), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(67), }, }, @@ -84889,17 +86819,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(69), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(70), }, }, @@ -84911,17 +86841,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(72), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(77), }, }, @@ -84934,17 +86864,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(79), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(83), }, }, @@ -84958,17 +86888,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(85), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(87), }, }, @@ -84983,17 +86913,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6387, + Ctx: p6522, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(89), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(91), }, }, @@ -85009,7 +86939,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6382, + Ctx: p6517, FreeVars: ast.Identifiers{ "exponent", "render_int", @@ -85019,11 +86949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(587), + Line: int(607), Column: int(22), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(92), }, }, @@ -85036,7 +86966,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "caps", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6382, + Ctx: p6517, FreeVars: ast.Identifiers{ "caps", }, @@ -85044,11 +86974,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(586), + Line: int(606), Column: int(24), }, End: ast.Location{ - Line: int(586), + Line: int(606), Column: int(28), }, }, @@ -85060,17 +86990,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6382, + Ctx: p6517, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(586), + Line: int(606), Column: int(34), }, End: ast.Location{ - Line: int(586), + Line: int(606), Column: int(37), }, }, @@ -85083,17 +87013,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6382, + Ctx: p6517, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(586), + Line: int(606), Column: int(43), }, End: ast.Location{ - Line: int(586), + Line: int(606), Column: int(46), }, }, @@ -85104,7 +87034,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6382, + Ctx: p6517, FreeVars: ast.Identifiers{ "caps", }, @@ -85112,11 +87042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(586), + Line: int(606), Column: int(21), }, End: ast.Location{ - Line: int(586), + Line: int(606), Column: int(46), }, }, @@ -85132,7 +87062,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6382, + Ctx: p6517, FreeVars: ast.Identifiers{ "caps", "exponent", @@ -85143,11 +87073,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(586), + Line: int(606), Column: int(20), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(92), }, }, @@ -85162,11 +87092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(586), + Line: int(606), Column: int(13), }, End: ast.Location{ - Line: int(587), + Line: int(607), Column: int(92), }, }, @@ -85183,17 +87113,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "324", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(588), + Line: int(608), Column: int(40), }, End: ast.Location{ - Line: int(588), + Line: int(608), Column: int(43), }, }, @@ -85201,17 +87131,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(588), + Line: int(608), Column: int(39), }, End: ast.Location{ - Line: int(588), + Line: int(608), Column: int(43), }, }, @@ -85222,7 +87152,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "exponent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "exponent", }, @@ -85230,11 +87160,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(588), + Line: int(608), Column: int(27), }, End: ast.Location{ - Line: int(588), + Line: int(608), Column: int(35), }, }, @@ -85243,7 +87173,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "exponent", }, @@ -85251,11 +87181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(588), + Line: int(608), Column: int(27), }, End: ast.Location{ - Line: int(588), + Line: int(608), Column: int(43), }, }, @@ -85277,11 +87207,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(20), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(23), }, }, @@ -85315,7 +87245,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "std", }, @@ -85323,11 +87253,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(20), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(27), }, }, @@ -85341,17 +87271,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6436, + Ctx: p6571, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(28), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(30), }, }, @@ -85365,17 +87295,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6436, + Ctx: p6571, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(43), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(44), }, }, @@ -85385,7 +87315,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "exponent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6436, + Ctx: p6571, FreeVars: ast.Identifiers{ "exponent", }, @@ -85393,11 +87323,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(32), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(40), }, }, @@ -85406,7 +87336,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6436, + Ctx: p6571, FreeVars: ast.Identifiers{ "exponent", }, @@ -85414,11 +87344,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(32), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(44), }, }, @@ -85434,7 +87364,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "exponent", "std", @@ -85443,11 +87373,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(20), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(45), }, }, @@ -85460,17 +87390,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(15), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(17), }, }, @@ -85503,7 +87433,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "n__", }, @@ -85511,11 +87441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(9), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(12), }, }, @@ -85524,7 +87454,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "n__", }, @@ -85532,11 +87462,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(9), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(17), }, }, @@ -85546,7 +87476,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "exponent", "n__", @@ -85556,11 +87486,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(591), + Line: int(611), Column: int(9), }, End: ast.Location{ - Line: int(591), + Line: int(611), Column: int(45), }, }, @@ -85582,11 +87512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(593), + Line: int(613), Column: int(15), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(18), }, }, @@ -85620,7 +87550,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "std", }, @@ -85628,11 +87558,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(593), + Line: int(613), Column: int(15), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(22), }, }, @@ -85646,17 +87576,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6461, + Ctx: p6596, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(593), + Line: int(613), Column: int(23), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(25), }, }, @@ -85669,7 +87599,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "exponent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6461, + Ctx: p6596, FreeVars: ast.Identifiers{ "exponent", }, @@ -85677,11 +87607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(593), + Line: int(613), Column: int(27), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(35), }, }, @@ -85696,7 +87626,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "exponent", "std", @@ -85705,11 +87635,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(593), + Line: int(613), Column: int(15), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(36), }, }, @@ -85728,7 +87658,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "n__", }, @@ -85736,11 +87666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(593), + Line: int(613), Column: int(9), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(12), }, }, @@ -85749,7 +87679,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "exponent", "n__", @@ -85759,11 +87689,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(593), + Line: int(613), Column: int(9), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(36), }, }, @@ -85781,7 +87711,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6423, + Ctx: p6558, FreeVars: ast.Identifiers{ "exponent", "n__", @@ -85791,11 +87721,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(588), + Line: int(608), Column: int(24), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(36), }, }, @@ -85809,11 +87739,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(588), + Line: int(608), Column: int(13), }, End: ast.Location{ - Line: int(593), + Line: int(613), Column: int(36), }, }, @@ -85838,11 +87768,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(594), + Line: int(614), Column: int(30), }, End: ast.Location{ - Line: int(594), + Line: int(614), Column: int(33), }, }, @@ -85876,7 +87806,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6479, + Ctx: p6614, FreeVars: ast.Identifiers{ "std", }, @@ -85884,11 +87814,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(594), + Line: int(614), Column: int(30), }, End: ast.Location{ - Line: int(594), + Line: int(614), Column: int(40), }, }, @@ -85902,7 +87832,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "suff", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6483, + Ctx: p6618, FreeVars: ast.Identifiers{ "suff", }, @@ -85910,11 +87840,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(594), + Line: int(614), Column: int(41), }, End: ast.Location{ - Line: int(594), + Line: int(614), Column: int(45), }, }, @@ -85929,7 +87859,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6479, + Ctx: p6614, FreeVars: ast.Identifiers{ "std", "suff", @@ -85938,11 +87868,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(594), + Line: int(614), Column: int(30), }, End: ast.Location{ - Line: int(594), + Line: int(614), Column: int(46), }, }, @@ -85954,7 +87884,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zero_pad", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6479, + Ctx: p6614, FreeVars: ast.Identifiers{ "zero_pad", }, @@ -85962,11 +87892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(594), + Line: int(614), Column: int(19), }, End: ast.Location{ - Line: int(594), + Line: int(614), Column: int(27), }, }, @@ -85975,7 +87905,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6479, + Ctx: p6614, FreeVars: ast.Identifiers{ "std", "suff", @@ -85985,11 +87915,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(594), + Line: int(614), Column: int(19), }, End: ast.Location{ - Line: int(594), + Line: int(614), Column: int(46), }, }, @@ -86004,11 +87934,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(594), + Line: int(614), Column: int(13), }, End: ast.Location{ - Line: int(594), + Line: int(614), Column: int(46), }, }, @@ -86019,7 +87949,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "suff", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6491, + Ctx: p6626, FreeVars: ast.Identifiers{ "suff", }, @@ -86027,11 +87957,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(81), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(85), }, }, @@ -86049,7 +87979,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6491, + Ctx: p6626, FreeVars: ast.Identifiers{ "render_float_dec", }, @@ -86057,11 +87987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(7), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(23), }, }, @@ -86075,7 +88005,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "mantissa", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6499, + Ctx: p6634, FreeVars: ast.Identifiers{ "mantissa", }, @@ -86083,11 +88013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(24), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(32), }, }, @@ -86100,7 +88030,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zp2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6499, + Ctx: p6634, FreeVars: ast.Identifiers{ "zp2", }, @@ -86108,11 +88038,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(34), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(37), }, }, @@ -86125,7 +88055,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "blank", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6499, + Ctx: p6634, FreeVars: ast.Identifiers{ "blank", }, @@ -86133,11 +88063,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(39), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(44), }, }, @@ -86150,7 +88080,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "plus", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6499, + Ctx: p6634, FreeVars: ast.Identifiers{ "plus", }, @@ -86158,11 +88088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(46), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(50), }, }, @@ -86175,7 +88105,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ensure_pt", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6499, + Ctx: p6634, FreeVars: ast.Identifiers{ "ensure_pt", }, @@ -86183,11 +88113,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(52), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(61), }, }, @@ -86200,7 +88130,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "trailing", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6499, + Ctx: p6634, FreeVars: ast.Identifiers{ "trailing", }, @@ -86208,11 +88138,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(63), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(71), }, }, @@ -86225,7 +88155,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6499, + Ctx: p6634, FreeVars: ast.Identifiers{ "prec", }, @@ -86233,11 +88163,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(73), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(77), }, }, @@ -86252,7 +88182,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6491, + Ctx: p6626, FreeVars: ast.Identifiers{ "blank", "ensure_pt", @@ -86267,11 +88197,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(7), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(78), }, }, @@ -86282,7 +88212,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6491, + Ctx: p6626, FreeVars: ast.Identifiers{ "blank", "ensure_pt", @@ -86298,11 +88228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(595), + Line: int(615), Column: int(7), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(85), }, }, @@ -86318,7 +88248,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6491, + Ctx: p6626, FreeVars: ast.Identifiers{ "blank", "ensure_pt", @@ -86335,11 +88265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(594), + Line: int(614), Column: int(7), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(85), }, }, @@ -86354,7 +88284,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6491, + Ctx: p6626, FreeVars: ast.Identifiers{ "blank", "ensure_pt", @@ -86372,11 +88302,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(588), + Line: int(608), Column: int(7), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(85), }, }, @@ -86391,7 +88321,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6491, + Ctx: p6626, FreeVars: ast.Identifiers{ "blank", "caps", @@ -86410,11 +88340,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(586), + Line: int(606), Column: int(7), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(85), }, }, @@ -86429,7 +88359,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6491, + Ctx: p6626, FreeVars: ast.Identifiers{ "blank", "caps", @@ -86447,11 +88377,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(585), + Line: int(605), Column: int(7), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(85), }, }, @@ -86468,11 +88398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(28), }, End: ast.Location{ - Line: int(584), + Line: int(604), Column: int(31), }, }, @@ -86487,11 +88417,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(33), }, End: ast.Location{ - Line: int(584), + Line: int(604), Column: int(41), }, }, @@ -86506,11 +88436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(43), }, End: ast.Location{ - Line: int(584), + Line: int(604), Column: int(48), }, }, @@ -86525,11 +88455,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(50), }, End: ast.Location{ - Line: int(584), + Line: int(604), Column: int(54), }, }, @@ -86544,11 +88474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(56), }, End: ast.Location{ - Line: int(584), + Line: int(604), Column: int(65), }, }, @@ -86563,11 +88493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(67), }, End: ast.Location{ - Line: int(584), + Line: int(604), Column: int(75), }, }, @@ -86582,11 +88512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(77), }, End: ast.Location{ - Line: int(584), + Line: int(604), Column: int(81), }, }, @@ -86601,11 +88531,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(83), }, End: ast.Location{ - Line: int(584), + Line: int(604), Column: int(87), }, }, @@ -86613,7 +88543,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p6524, + Ctx: p6659, FreeVars: ast.Identifiers{ "render_float_dec", "render_int", @@ -86623,11 +88553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(11), }, End: ast.Location{ - Line: int(595), + Line: int(615), Column: int(85), }, }, @@ -86676,11 +88606,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(599), + Line: int(619), Column: int(22), }, End: ast.Location{ - Line: int(599), + Line: int(619), Column: int(26), }, }, @@ -86714,7 +88644,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6535, + Ctx: p6670, FreeVars: ast.Identifiers{ "code", }, @@ -86722,11 +88652,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(599), + Line: int(619), Column: int(22), }, End: ast.Location{ - Line: int(599), + Line: int(619), Column: int(33), }, }, @@ -86740,11 +88670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(599), + Line: int(619), Column: int(13), }, End: ast.Location{ - Line: int(599), + Line: int(619), Column: int(33), }, }, @@ -86759,17 +88689,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6542, + Ctx: p6677, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(600), + Line: int(620), Column: int(41), }, End: ast.Location{ - Line: int(600), + Line: int(620), Column: int(45), }, }, @@ -86779,7 +88709,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec_or_null", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6542, + Ctx: p6677, FreeVars: ast.Identifiers{ "prec_or_null", }, @@ -86787,11 +88717,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(600), + Line: int(620), Column: int(25), }, End: ast.Location{ - Line: int(600), + Line: int(620), Column: int(37), }, }, @@ -86800,7 +88730,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6542, + Ctx: p6677, FreeVars: ast.Identifiers{ "prec_or_null", }, @@ -86808,11 +88738,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(600), + Line: int(620), Column: int(25), }, End: ast.Location{ - Line: int(600), + Line: int(620), Column: int(45), }, }, @@ -86823,7 +88753,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec_or_null", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6542, + Ctx: p6677, FreeVars: ast.Identifiers{ "prec_or_null", }, @@ -86831,11 +88761,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(600), + Line: int(620), Column: int(51), }, End: ast.Location{ - Line: int(600), + Line: int(620), Column: int(63), }, }, @@ -86845,17 +88775,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "6", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6542, + Ctx: p6677, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(600), + Line: int(620), Column: int(69), }, End: ast.Location{ - Line: int(600), + Line: int(620), Column: int(70), }, }, @@ -86865,7 +88795,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6542, + Ctx: p6677, FreeVars: ast.Identifiers{ "prec_or_null", }, @@ -86873,11 +88803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(600), + Line: int(620), Column: int(22), }, End: ast.Location{ - Line: int(600), + Line: int(620), Column: int(70), }, }, @@ -86891,11 +88821,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(600), + Line: int(620), Column: int(13), }, End: ast.Location{ - Line: int(600), + Line: int(620), Column: int(70), }, }, @@ -86910,17 +88840,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6555, + Ctx: p6690, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(601), + Line: int(621), Column: int(40), }, End: ast.Location{ - Line: int(601), + Line: int(621), Column: int(44), }, }, @@ -86930,7 +88860,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec_or_null", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6555, + Ctx: p6690, FreeVars: ast.Identifiers{ "prec_or_null", }, @@ -86938,11 +88868,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(601), + Line: int(621), Column: int(24), }, End: ast.Location{ - Line: int(601), + Line: int(621), Column: int(36), }, }, @@ -86951,7 +88881,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6555, + Ctx: p6690, FreeVars: ast.Identifiers{ "prec_or_null", }, @@ -86959,11 +88889,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(601), + Line: int(621), Column: int(24), }, End: ast.Location{ - Line: int(601), + Line: int(621), Column: int(44), }, }, @@ -86974,7 +88904,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec_or_null", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6555, + Ctx: p6690, FreeVars: ast.Identifiers{ "prec_or_null", }, @@ -86982,11 +88912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(601), + Line: int(621), Column: int(50), }, End: ast.Location{ - Line: int(601), + Line: int(621), Column: int(62), }, }, @@ -86996,17 +88926,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6555, + Ctx: p6690, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(601), + Line: int(621), Column: int(68), }, End: ast.Location{ - Line: int(601), + Line: int(621), Column: int(69), }, }, @@ -87016,7 +88946,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6555, + Ctx: p6690, FreeVars: ast.Identifiers{ "prec_or_null", }, @@ -87024,11 +88954,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(601), + Line: int(621), Column: int(21), }, End: ast.Location{ - Line: int(601), + Line: int(621), Column: int(69), }, }, @@ -87042,11 +88972,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(601), + Line: int(621), Column: int(13), }, End: ast.Location{ - Line: int(601), + Line: int(621), Column: int(69), }, }, @@ -87072,11 +89002,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(37), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(43), }, }, @@ -87110,7 +89040,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6572, + Ctx: p6707, FreeVars: ast.Identifiers{ "cflags", }, @@ -87118,11 +89048,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(37), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(48), }, }, @@ -87130,7 +89060,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6572, + Ctx: p6707, FreeVars: ast.Identifiers{ "cflags", }, @@ -87138,11 +89068,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(36), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(48), }, }, @@ -87162,11 +89092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(21), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(27), }, }, @@ -87200,7 +89130,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6572, + Ctx: p6707, FreeVars: ast.Identifiers{ "cflags", }, @@ -87208,11 +89138,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(21), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(32), }, }, @@ -87221,7 +89151,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6572, + Ctx: p6707, FreeVars: ast.Identifiers{ "cflags", }, @@ -87229,11 +89159,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(21), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(48), }, }, @@ -87244,7 +89174,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fw", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6572, + Ctx: p6707, FreeVars: ast.Identifiers{ "fw", }, @@ -87252,11 +89182,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(54), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(56), }, }, @@ -87266,17 +89196,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6572, + Ctx: p6707, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(62), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(63), }, }, @@ -87286,7 +89216,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6572, + Ctx: p6707, FreeVars: ast.Identifiers{ "cflags", "fw", @@ -87295,11 +89225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(18), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(63), }, }, @@ -87313,11 +89243,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(13), }, End: ast.Location{ - Line: int(602), + Line: int(622), Column: int(63), }, }, @@ -87331,17 +89261,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(603), + Line: int(623), Column: int(24), }, End: ast.Location{ - Line: int(603), + Line: int(623), Column: int(27), }, }, @@ -87361,11 +89291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(603), + Line: int(623), Column: int(10), }, End: ast.Location{ - Line: int(603), + Line: int(623), Column: int(14), }, }, @@ -87399,7 +89329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -87407,11 +89337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(603), + Line: int(623), Column: int(10), }, End: ast.Location{ - Line: int(603), + Line: int(623), Column: int(20), }, }, @@ -87420,7 +89350,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -87428,11 +89358,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(603), + Line: int(623), Column: int(10), }, End: ast.Location{ - Line: int(603), + Line: int(623), Column: int(27), }, }, @@ -87460,11 +89390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(604), + Line: int(624), Column: int(9), }, End: ast.Location{ - Line: int(604), + Line: int(624), Column: int(12), }, }, @@ -87498,7 +89428,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -87506,11 +89436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(604), + Line: int(624), Column: int(9), }, End: ast.Location{ - Line: int(604), + Line: int(624), Column: int(21), }, }, @@ -87524,7 +89454,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6604, + Ctx: p6739, FreeVars: ast.Identifiers{ "val", }, @@ -87532,11 +89462,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(604), + Line: int(624), Column: int(22), }, End: ast.Location{ - Line: int(604), + Line: int(624), Column: int(25), }, }, @@ -87551,7 +89481,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -87560,11 +89490,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(604), + Line: int(624), Column: int(9), }, End: ast.Location{ - Line: int(604), + Line: int(624), Column: int(26), }, }, @@ -87580,17 +89510,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(605), + Line: int(625), Column: int(29), }, End: ast.Location{ - Line: int(605), + Line: int(625), Column: int(32), }, }, @@ -87610,11 +89540,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(605), + Line: int(625), Column: int(15), }, End: ast.Location{ - Line: int(605), + Line: int(625), Column: int(19), }, }, @@ -87648,7 +89578,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -87656,11 +89586,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(605), + Line: int(625), Column: int(15), }, End: ast.Location{ - Line: int(605), + Line: int(625), Column: int(25), }, }, @@ -87669,7 +89599,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -87677,11 +89607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(605), + Line: int(625), Column: int(15), }, End: ast.Location{ - Line: int(605), + Line: int(625), Column: int(32), }, }, @@ -87696,17 +89626,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(606), + Line: int(626), Column: int(29), }, End: ast.Location{ - Line: int(606), + Line: int(626), Column: int(37), }, }, @@ -87727,11 +89657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(606), + Line: int(626), Column: int(12), }, End: ast.Location{ - Line: int(606), + Line: int(626), Column: int(15), }, }, @@ -87765,7 +89695,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -87773,11 +89703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(606), + Line: int(626), Column: int(12), }, End: ast.Location{ - Line: int(606), + Line: int(626), Column: int(20), }, }, @@ -87791,7 +89721,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6627, + Ctx: p6762, FreeVars: ast.Identifiers{ "val", }, @@ -87799,11 +89729,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(606), + Line: int(626), Column: int(21), }, End: ast.Location{ - Line: int(606), + Line: int(626), Column: int(24), }, }, @@ -87818,7 +89748,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -87827,11 +89757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(606), + Line: int(626), Column: int(12), }, End: ast.Location{ - Line: int(606), + Line: int(626), Column: int(25), }, }, @@ -87842,7 +89772,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -87851,11 +89781,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(606), + Line: int(626), Column: int(12), }, End: ast.Location{ - Line: int(606), + Line: int(626), Column: int(37), }, }, @@ -87878,11 +89808,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(608), + Line: int(628), Column: int(34), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(37), }, }, @@ -87916,7 +89846,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -87924,11 +89854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(608), + Line: int(628), Column: int(34), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(42), }, }, @@ -87942,7 +89872,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6641, + Ctx: p6776, FreeVars: ast.Identifiers{ "val", }, @@ -87950,11 +89880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(608), + Line: int(628), Column: int(43), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(46), }, }, @@ -87969,7 +89899,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -87978,11 +89908,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(608), + Line: int(628), Column: int(34), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(47), }, }, @@ -87997,17 +89927,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(608), + Line: int(628), Column: int(23), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(31), }, }, @@ -88019,7 +89949,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -88027,11 +89957,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(608), + Line: int(628), Column: int(19), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(20), }, }, @@ -88043,17 +89973,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(607), + Line: int(627), Column: int(17), }, End: ast.Location{ - Line: int(607), + Line: int(627), Column: int(45), }, }, @@ -88070,7 +90000,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -88078,11 +90008,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(607), + Line: int(627), Column: int(17), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(20), }, }, @@ -88092,7 +90022,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -88100,11 +90030,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(607), + Line: int(627), Column: int(17), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(31), }, }, @@ -88114,7 +90044,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -88124,11 +90054,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(607), + Line: int(627), Column: int(17), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(47), }, }, @@ -88144,7 +90074,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -88154,11 +90084,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(607), + Line: int(627), Column: int(11), }, End: ast.Location{ - Line: int(608), + Line: int(628), Column: int(47), }, }, @@ -88176,7 +90106,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "render_int", }, @@ -88184,11 +90114,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(11), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(21), }, }, @@ -88204,17 +90134,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(30), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(31), }, }, @@ -88222,17 +90152,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(29), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(31), }, }, @@ -88243,7 +90173,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{ "val", }, @@ -88251,11 +90181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(22), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(25), }, }, @@ -88264,7 +90194,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{ "val", }, @@ -88272,11 +90202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(22), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(31), }, }, @@ -88300,11 +90230,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(33), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(36), }, }, @@ -88338,7 +90268,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{ "std", }, @@ -88346,11 +90276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(33), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(42), }, }, @@ -88374,11 +90304,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(43), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(46), }, }, @@ -88412,7 +90342,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6680, + Ctx: p6815, FreeVars: ast.Identifiers{ "std", }, @@ -88420,11 +90350,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(43), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(50), }, }, @@ -88438,7 +90368,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6684, + Ctx: p6819, FreeVars: ast.Identifiers{ "val", }, @@ -88446,11 +90376,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(51), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(54), }, }, @@ -88465,7 +90395,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6680, + Ctx: p6815, FreeVars: ast.Identifiers{ "std", "val", @@ -88474,11 +90404,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(43), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(55), }, }, @@ -88495,7 +90425,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{ "std", "val", @@ -88504,11 +90434,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(33), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(56), }, }, @@ -88523,7 +90453,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{ "zp", }, @@ -88531,11 +90461,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(58), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(60), }, }, @@ -88548,7 +90478,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "iprec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{ "iprec", }, @@ -88556,11 +90486,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(62), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(67), }, }, @@ -88582,11 +90512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(69), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(75), }, }, @@ -88620,7 +90550,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{ "cflags", }, @@ -88628,11 +90558,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(69), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(81), }, }, @@ -88654,11 +90584,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(83), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(89), }, }, @@ -88692,7 +90622,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{ "cflags", }, @@ -88700,11 +90630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(83), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(94), }, }, @@ -88717,17 +90647,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(96), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(98), }, }, @@ -88742,17 +90672,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6664, + Ctx: p6799, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(100), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(102), }, }, @@ -88768,7 +90698,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "iprec", @@ -88781,11 +90711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(610), + Line: int(630), Column: int(11), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(103), }, }, @@ -88811,7 +90741,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "i", @@ -88825,11 +90755,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(606), + Line: int(626), Column: int(9), }, End: ast.Location{ - Line: int(610), + Line: int(630), Column: int(103), }, }, @@ -88843,17 +90773,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(611), + Line: int(631), Column: int(29), }, End: ast.Location{ - Line: int(611), + Line: int(631), Column: int(32), }, }, @@ -88873,11 +90803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(611), + Line: int(631), Column: int(15), }, End: ast.Location{ - Line: int(611), + Line: int(631), Column: int(19), }, }, @@ -88911,7 +90841,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -88919,11 +90849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(611), + Line: int(631), Column: int(15), }, End: ast.Location{ - Line: int(611), + Line: int(631), Column: int(25), }, }, @@ -88932,7 +90862,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -88940,11 +90870,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(611), + Line: int(631), Column: int(15), }, End: ast.Location{ - Line: int(611), + Line: int(631), Column: int(32), }, }, @@ -88959,17 +90889,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(612), + Line: int(632), Column: int(29), }, End: ast.Location{ - Line: int(612), + Line: int(632), Column: int(37), }, }, @@ -88990,11 +90920,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(612), + Line: int(632), Column: int(12), }, End: ast.Location{ - Line: int(612), + Line: int(632), Column: int(15), }, }, @@ -89028,7 +90958,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -89036,11 +90966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(612), + Line: int(632), Column: int(12), }, End: ast.Location{ - Line: int(612), + Line: int(632), Column: int(20), }, }, @@ -89054,7 +90984,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6728, + Ctx: p6863, FreeVars: ast.Identifiers{ "val", }, @@ -89062,11 +90992,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(612), + Line: int(632), Column: int(21), }, End: ast.Location{ - Line: int(612), + Line: int(632), Column: int(24), }, }, @@ -89081,7 +91011,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -89090,11 +91020,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(612), + Line: int(632), Column: int(12), }, End: ast.Location{ - Line: int(612), + Line: int(632), Column: int(25), }, }, @@ -89105,7 +91035,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -89114,11 +91044,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(612), + Line: int(632), Column: int(12), }, End: ast.Location{ - Line: int(612), + Line: int(632), Column: int(37), }, }, @@ -89141,11 +91071,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(614), + Line: int(634), Column: int(34), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(37), }, }, @@ -89179,7 +91109,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -89187,11 +91117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(614), + Line: int(634), Column: int(34), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(42), }, }, @@ -89205,7 +91135,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6742, + Ctx: p6877, FreeVars: ast.Identifiers{ "val", }, @@ -89213,11 +91143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(614), + Line: int(634), Column: int(43), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(46), }, }, @@ -89232,7 +91162,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -89241,11 +91171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(614), + Line: int(634), Column: int(34), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(47), }, }, @@ -89260,17 +91190,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(614), + Line: int(634), Column: int(23), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(31), }, }, @@ -89282,7 +91212,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -89290,11 +91220,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(614), + Line: int(634), Column: int(19), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(20), }, }, @@ -89306,17 +91236,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(613), + Line: int(633), Column: int(17), }, End: ast.Location{ - Line: int(613), + Line: int(633), Column: int(45), }, }, @@ -89333,7 +91263,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -89341,11 +91271,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(613), + Line: int(633), Column: int(17), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(20), }, }, @@ -89355,7 +91285,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -89363,11 +91293,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(613), + Line: int(633), Column: int(17), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(31), }, }, @@ -89377,7 +91307,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -89387,11 +91317,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(613), + Line: int(633), Column: int(17), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(47), }, }, @@ -89407,7 +91337,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -89417,11 +91347,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(613), + Line: int(633), Column: int(11), }, End: ast.Location{ - Line: int(614), + Line: int(634), Column: int(47), }, }, @@ -89445,11 +91375,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(616), + Line: int(636), Column: int(34), }, End: ast.Location{ - Line: int(616), + Line: int(636), Column: int(40), }, }, @@ -89483,7 +91413,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6764, + Ctx: p6899, FreeVars: ast.Identifiers{ "cflags", }, @@ -89491,11 +91421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(616), + Line: int(636), Column: int(34), }, End: ast.Location{ - Line: int(616), + Line: int(636), Column: int(44), }, }, @@ -89507,17 +91437,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6764, + Ctx: p6899, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(616), + Line: int(636), Column: int(50), }, End: ast.Location{ - Line: int(616), + Line: int(636), Column: int(53), }, }, @@ -89530,17 +91460,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6764, + Ctx: p6899, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(616), + Line: int(636), Column: int(59), }, End: ast.Location{ - Line: int(616), + Line: int(636), Column: int(61), }, }, @@ -89551,7 +91481,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6764, + Ctx: p6899, FreeVars: ast.Identifiers{ "cflags", }, @@ -89559,11 +91489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(616), + Line: int(636), Column: int(31), }, End: ast.Location{ - Line: int(616), + Line: int(636), Column: int(61), }, }, @@ -89577,11 +91507,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(616), + Line: int(636), Column: int(17), }, End: ast.Location{ - Line: int(616), + Line: int(636), Column: int(61), }, }, @@ -89599,7 +91529,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "render_int", }, @@ -89607,11 +91537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(11), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(21), }, }, @@ -89627,17 +91557,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(30), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(31), }, }, @@ -89645,17 +91575,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(29), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(31), }, }, @@ -89666,7 +91596,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "val", }, @@ -89674,11 +91604,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(22), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(25), }, }, @@ -89687,7 +91617,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "val", }, @@ -89695,11 +91625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(22), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(31), }, }, @@ -89723,11 +91653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(33), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(36), }, }, @@ -89761,7 +91691,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "std", }, @@ -89769,11 +91699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(33), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(42), }, }, @@ -89797,11 +91727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(43), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(46), }, }, @@ -89835,7 +91765,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6793, + Ctx: p6928, FreeVars: ast.Identifiers{ "std", }, @@ -89843,11 +91773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(43), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(50), }, }, @@ -89861,7 +91791,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6797, + Ctx: p6932, FreeVars: ast.Identifiers{ "val", }, @@ -89869,11 +91799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(51), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(54), }, }, @@ -89888,7 +91818,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6793, + Ctx: p6928, FreeVars: ast.Identifiers{ "std", "val", @@ -89897,11 +91827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(43), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(55), }, }, @@ -89918,7 +91848,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "std", "val", @@ -89927,11 +91857,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(33), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(56), }, }, @@ -89946,7 +91876,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "zp", }, @@ -89954,11 +91884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(58), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(60), }, }, @@ -89971,7 +91901,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "iprec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "iprec", }, @@ -89979,11 +91909,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(62), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(67), }, }, @@ -90005,11 +91935,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(69), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(75), }, }, @@ -90043,7 +91973,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "cflags", }, @@ -90051,11 +91981,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(69), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(81), }, }, @@ -90077,11 +92007,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(83), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(89), }, }, @@ -90115,7 +92045,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "cflags", }, @@ -90123,11 +92053,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(83), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(94), }, }, @@ -90140,17 +92070,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "8", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(96), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(97), }, }, @@ -90163,7 +92093,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zero_prefix", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6777, + Ctx: p6912, FreeVars: ast.Identifiers{ "zero_prefix", }, @@ -90171,11 +92101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(99), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(110), }, }, @@ -90190,7 +92120,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "iprec", @@ -90204,11 +92134,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(617), + Line: int(637), Column: int(11), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(111), }, }, @@ -90225,7 +92155,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "iprec", @@ -90238,11 +92168,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(616), + Line: int(636), Column: int(11), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(111), }, }, @@ -90266,7 +92196,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "i", @@ -90280,11 +92210,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(612), + Line: int(632), Column: int(9), }, End: ast.Location{ - Line: int(617), + Line: int(637), Column: int(111), }, }, @@ -90298,17 +92228,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(618), + Line: int(638), Column: int(29), }, End: ast.Location{ - Line: int(618), + Line: int(638), Column: int(32), }, }, @@ -90328,11 +92258,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(618), + Line: int(638), Column: int(15), }, End: ast.Location{ - Line: int(618), + Line: int(638), Column: int(19), }, }, @@ -90366,7 +92296,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -90374,11 +92304,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(618), + Line: int(638), Column: int(15), }, End: ast.Location{ - Line: int(618), + Line: int(638), Column: int(25), }, }, @@ -90387,7 +92317,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -90395,11 +92325,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(618), + Line: int(638), Column: int(15), }, End: ast.Location{ - Line: int(618), + Line: int(638), Column: int(32), }, }, @@ -90414,17 +92344,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(619), + Line: int(639), Column: int(29), }, End: ast.Location{ - Line: int(619), + Line: int(639), Column: int(37), }, }, @@ -90445,11 +92375,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(619), + Line: int(639), Column: int(12), }, End: ast.Location{ - Line: int(619), + Line: int(639), Column: int(15), }, }, @@ -90483,7 +92413,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -90491,11 +92421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(619), + Line: int(639), Column: int(12), }, End: ast.Location{ - Line: int(619), + Line: int(639), Column: int(20), }, }, @@ -90509,7 +92439,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6844, + Ctx: p6979, FreeVars: ast.Identifiers{ "val", }, @@ -90517,11 +92447,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(619), + Line: int(639), Column: int(21), }, End: ast.Location{ - Line: int(619), + Line: int(639), Column: int(24), }, }, @@ -90536,7 +92466,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -90545,11 +92475,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(619), + Line: int(639), Column: int(12), }, End: ast.Location{ - Line: int(619), + Line: int(639), Column: int(25), }, }, @@ -90560,7 +92490,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -90569,11 +92499,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(619), + Line: int(639), Column: int(12), }, End: ast.Location{ - Line: int(619), + Line: int(639), Column: int(37), }, }, @@ -90596,11 +92526,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(621), + Line: int(641), Column: int(34), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(37), }, }, @@ -90634,7 +92564,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -90642,11 +92572,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(621), + Line: int(641), Column: int(34), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(42), }, }, @@ -90660,7 +92590,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6858, + Ctx: p6993, FreeVars: ast.Identifiers{ "val", }, @@ -90668,11 +92598,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(621), + Line: int(641), Column: int(43), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(46), }, }, @@ -90687,7 +92617,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -90696,11 +92626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(621), + Line: int(641), Column: int(34), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(47), }, }, @@ -90715,17 +92645,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(621), + Line: int(641), Column: int(23), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(31), }, }, @@ -90737,7 +92667,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -90745,11 +92675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(621), + Line: int(641), Column: int(19), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(20), }, }, @@ -90761,17 +92691,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(620), + Line: int(640), Column: int(17), }, End: ast.Location{ - Line: int(620), + Line: int(640), Column: int(45), }, }, @@ -90788,7 +92718,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -90796,11 +92726,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(620), + Line: int(640), Column: int(17), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(20), }, }, @@ -90810,7 +92740,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -90818,11 +92748,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(620), + Line: int(640), Column: int(17), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(31), }, }, @@ -90832,7 +92762,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -90842,11 +92772,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(620), + Line: int(640), Column: int(17), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(47), }, }, @@ -90862,7 +92792,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -90872,11 +92802,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(620), + Line: int(640), Column: int(11), }, End: ast.Location{ - Line: int(621), + Line: int(641), Column: int(47), }, }, @@ -90894,7 +92824,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "render_hex", }, @@ -90902,11 +92832,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(623), + Line: int(643), Column: int(11), }, End: ast.Location{ - Line: int(623), + Line: int(643), Column: int(21), }, }, @@ -90930,11 +92860,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(623), + Line: int(643), Column: int(22), }, End: ast.Location{ - Line: int(623), + Line: int(643), Column: int(25), }, }, @@ -90968,7 +92898,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6883, + Ctx: p7018, FreeVars: ast.Identifiers{ "std", }, @@ -90976,11 +92906,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(623), + Line: int(643), Column: int(22), }, End: ast.Location{ - Line: int(623), + Line: int(643), Column: int(31), }, }, @@ -90994,7 +92924,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6887, + Ctx: p7022, FreeVars: ast.Identifiers{ "val", }, @@ -91002,11 +92932,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(623), + Line: int(643), Column: int(32), }, End: ast.Location{ - Line: int(623), + Line: int(643), Column: int(35), }, }, @@ -91021,7 +92951,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6883, + Ctx: p7018, FreeVars: ast.Identifiers{ "std", "val", @@ -91030,11 +92960,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(623), + Line: int(643), Column: int(22), }, End: ast.Location{ - Line: int(623), + Line: int(643), Column: int(36), }, }, @@ -91056,7 +92986,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(21), }, }, - Ctx: p6883, + Ctx: p7018, FreeVars: ast.Identifiers{ "zp", }, @@ -91064,11 +92994,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(624), + Line: int(644), Column: int(22), }, End: ast.Location{ - Line: int(624), + Line: int(644), Column: int(24), }, }, @@ -91088,7 +93018,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(21), }, }, - Ctx: p6883, + Ctx: p7018, FreeVars: ast.Identifiers{ "iprec", }, @@ -91096,11 +93026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(625), + Line: int(645), Column: int(22), }, End: ast.Location{ - Line: int(625), + Line: int(645), Column: int(27), }, }, @@ -91129,11 +93059,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(626), + Line: int(646), Column: int(22), }, End: ast.Location{ - Line: int(626), + Line: int(646), Column: int(28), }, }, @@ -91167,7 +93097,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6883, + Ctx: p7018, FreeVars: ast.Identifiers{ "cflags", }, @@ -91175,11 +93105,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(626), + Line: int(646), Column: int(22), }, End: ast.Location{ - Line: int(626), + Line: int(646), Column: int(34), }, }, @@ -91208,11 +93138,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(627), + Line: int(647), Column: int(22), }, End: ast.Location{ - Line: int(627), + Line: int(647), Column: int(28), }, }, @@ -91246,7 +93176,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6883, + Ctx: p7018, FreeVars: ast.Identifiers{ "cflags", }, @@ -91254,11 +93184,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(627), + Line: int(647), Column: int(22), }, End: ast.Location{ - Line: int(627), + Line: int(647), Column: int(33), }, }, @@ -91287,11 +93217,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(628), + Line: int(648), Column: int(22), }, End: ast.Location{ - Line: int(628), + Line: int(648), Column: int(28), }, }, @@ -91325,7 +93255,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6883, + Ctx: p7018, FreeVars: ast.Identifiers{ "cflags", }, @@ -91333,11 +93263,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(628), + Line: int(648), Column: int(22), }, End: ast.Location{ - Line: int(628), + Line: int(648), Column: int(32), }, }, @@ -91366,11 +93296,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(629), + Line: int(649), Column: int(22), }, End: ast.Location{ - Line: int(629), + Line: int(649), Column: int(26), }, }, @@ -91404,7 +93334,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6883, + Ctx: p7018, FreeVars: ast.Identifiers{ "code", }, @@ -91412,11 +93342,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(629), + Line: int(649), Column: int(22), }, End: ast.Location{ - Line: int(629), + Line: int(649), Column: int(31), }, }, @@ -91431,7 +93361,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -91445,11 +93375,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(623), + Line: int(643), Column: int(11), }, End: ast.Location{ - Line: int(629), + Line: int(649), Column: int(32), }, }, @@ -91475,7 +93405,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -91490,11 +93420,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(619), + Line: int(639), Column: int(9), }, End: ast.Location{ - Line: int(629), + Line: int(649), Column: int(32), }, }, @@ -91508,17 +93438,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(630), + Line: int(650), Column: int(29), }, End: ast.Location{ - Line: int(630), + Line: int(650), Column: int(32), }, }, @@ -91538,11 +93468,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(630), + Line: int(650), Column: int(15), }, End: ast.Location{ - Line: int(630), + Line: int(650), Column: int(19), }, }, @@ -91576,7 +93506,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -91584,11 +93514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(630), + Line: int(650), Column: int(15), }, End: ast.Location{ - Line: int(630), + Line: int(650), Column: int(25), }, }, @@ -91597,7 +93527,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -91605,11 +93535,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(630), + Line: int(650), Column: int(15), }, End: ast.Location{ - Line: int(630), + Line: int(650), Column: int(32), }, }, @@ -91624,17 +93554,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(631), + Line: int(651), Column: int(29), }, End: ast.Location{ - Line: int(631), + Line: int(651), Column: int(37), }, }, @@ -91655,11 +93585,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(631), + Line: int(651), Column: int(12), }, End: ast.Location{ - Line: int(631), + Line: int(651), Column: int(15), }, }, @@ -91693,7 +93623,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -91701,11 +93631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(631), + Line: int(651), Column: int(12), }, End: ast.Location{ - Line: int(631), + Line: int(651), Column: int(20), }, }, @@ -91719,7 +93649,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6944, + Ctx: p7079, FreeVars: ast.Identifiers{ "val", }, @@ -91727,11 +93657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(631), + Line: int(651), Column: int(21), }, End: ast.Location{ - Line: int(631), + Line: int(651), Column: int(24), }, }, @@ -91746,7 +93676,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -91755,11 +93685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(631), + Line: int(651), Column: int(12), }, End: ast.Location{ - Line: int(631), + Line: int(651), Column: int(25), }, }, @@ -91770,7 +93700,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -91779,11 +93709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(631), + Line: int(651), Column: int(12), }, End: ast.Location{ - Line: int(631), + Line: int(651), Column: int(37), }, }, @@ -91806,11 +93736,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(633), + Line: int(653), Column: int(34), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(37), }, }, @@ -91844,7 +93774,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -91852,11 +93782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(633), + Line: int(653), Column: int(34), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(42), }, }, @@ -91870,7 +93800,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6958, + Ctx: p7093, FreeVars: ast.Identifiers{ "val", }, @@ -91878,11 +93808,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(633), + Line: int(653), Column: int(43), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(46), }, }, @@ -91897,7 +93827,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -91906,11 +93836,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(633), + Line: int(653), Column: int(34), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(47), }, }, @@ -91925,17 +93855,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(633), + Line: int(653), Column: int(23), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(31), }, }, @@ -91947,7 +93877,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -91955,11 +93885,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(633), + Line: int(653), Column: int(19), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(20), }, }, @@ -91971,17 +93901,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(632), + Line: int(652), Column: int(17), }, End: ast.Location{ - Line: int(632), + Line: int(652), Column: int(45), }, }, @@ -91998,7 +93928,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -92006,11 +93936,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(632), + Line: int(652), Column: int(17), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(20), }, }, @@ -92020,7 +93950,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -92028,11 +93958,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(632), + Line: int(652), Column: int(17), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(31), }, }, @@ -92042,7 +93972,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -92052,11 +93982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(632), + Line: int(652), Column: int(17), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(47), }, }, @@ -92072,7 +94002,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -92082,11 +94012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(632), + Line: int(652), Column: int(11), }, End: ast.Location{ - Line: int(633), + Line: int(653), Column: int(47), }, }, @@ -92104,7 +94034,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "render_float_dec", }, @@ -92112,11 +94042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(635), + Line: int(655), Column: int(11), }, End: ast.Location{ - Line: int(635), + Line: int(655), Column: int(27), }, }, @@ -92130,7 +94060,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6979, + Ctx: p7114, FreeVars: ast.Identifiers{ "val", }, @@ -92138,11 +94068,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(635), + Line: int(655), Column: int(28), }, End: ast.Location{ - Line: int(635), + Line: int(655), Column: int(31), }, }, @@ -92162,7 +94092,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(27), }, }, - Ctx: p6979, + Ctx: p7114, FreeVars: ast.Identifiers{ "zp", }, @@ -92170,11 +94100,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(636), + Line: int(656), Column: int(28), }, End: ast.Location{ - Line: int(636), + Line: int(656), Column: int(30), }, }, @@ -92203,11 +94133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(637), + Line: int(657), Column: int(28), }, End: ast.Location{ - Line: int(637), + Line: int(657), Column: int(34), }, }, @@ -92241,7 +94171,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6979, + Ctx: p7114, FreeVars: ast.Identifiers{ "cflags", }, @@ -92249,11 +94179,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(637), + Line: int(657), Column: int(28), }, End: ast.Location{ - Line: int(637), + Line: int(657), Column: int(40), }, }, @@ -92282,11 +94212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(638), + Line: int(658), Column: int(28), }, End: ast.Location{ - Line: int(638), + Line: int(658), Column: int(34), }, }, @@ -92320,7 +94250,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6979, + Ctx: p7114, FreeVars: ast.Identifiers{ "cflags", }, @@ -92328,11 +94258,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(638), + Line: int(658), Column: int(28), }, End: ast.Location{ - Line: int(638), + Line: int(658), Column: int(39), }, }, @@ -92361,11 +94291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(639), + Line: int(659), Column: int(28), }, End: ast.Location{ - Line: int(639), + Line: int(659), Column: int(34), }, }, @@ -92399,7 +94329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6979, + Ctx: p7114, FreeVars: ast.Identifiers{ "cflags", }, @@ -92407,11 +94337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(639), + Line: int(659), Column: int(28), }, End: ast.Location{ - Line: int(639), + Line: int(659), Column: int(38), }, }, @@ -92430,17 +94360,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(27), }, }, - Ctx: p6979, + Ctx: p7114, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(640), + Line: int(660), Column: int(28), }, End: ast.Location{ - Line: int(640), + Line: int(660), Column: int(32), }, }, @@ -92461,7 +94391,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(27), }, }, - Ctx: p6979, + Ctx: p7114, FreeVars: ast.Identifiers{ "fpprec", }, @@ -92469,11 +94399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(641), + Line: int(661), Column: int(28), }, End: ast.Location{ - Line: int(641), + Line: int(661), Column: int(34), }, }, @@ -92488,7 +94418,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "fpprec", @@ -92500,11 +94430,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(635), + Line: int(655), Column: int(11), }, End: ast.Location{ - Line: int(641), + Line: int(661), Column: int(35), }, }, @@ -92530,7 +94460,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "fpprec", @@ -92544,11 +94474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(631), + Line: int(651), Column: int(9), }, End: ast.Location{ - Line: int(641), + Line: int(661), Column: int(35), }, }, @@ -92562,17 +94492,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(642), + Line: int(662), Column: int(29), }, End: ast.Location{ - Line: int(642), + Line: int(662), Column: int(32), }, }, @@ -92592,11 +94522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(642), + Line: int(662), Column: int(15), }, End: ast.Location{ - Line: int(642), + Line: int(662), Column: int(19), }, }, @@ -92630,7 +94560,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -92638,11 +94568,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(642), + Line: int(662), Column: int(15), }, End: ast.Location{ - Line: int(642), + Line: int(662), Column: int(25), }, }, @@ -92651,7 +94581,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -92659,11 +94589,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(642), + Line: int(662), Column: int(15), }, End: ast.Location{ - Line: int(642), + Line: int(662), Column: int(32), }, }, @@ -92678,17 +94608,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(643), + Line: int(663), Column: int(29), }, End: ast.Location{ - Line: int(643), + Line: int(663), Column: int(37), }, }, @@ -92709,11 +94639,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(643), + Line: int(663), Column: int(12), }, End: ast.Location{ - Line: int(643), + Line: int(663), Column: int(15), }, }, @@ -92747,7 +94677,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -92755,11 +94685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(643), + Line: int(663), Column: int(12), }, End: ast.Location{ - Line: int(643), + Line: int(663), Column: int(20), }, }, @@ -92773,7 +94703,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7031, + Ctx: p7166, FreeVars: ast.Identifiers{ "val", }, @@ -92781,11 +94711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(643), + Line: int(663), Column: int(21), }, End: ast.Location{ - Line: int(643), + Line: int(663), Column: int(24), }, }, @@ -92800,7 +94730,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -92809,11 +94739,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(643), + Line: int(663), Column: int(12), }, End: ast.Location{ - Line: int(643), + Line: int(663), Column: int(25), }, }, @@ -92824,7 +94754,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -92833,11 +94763,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(643), + Line: int(663), Column: int(12), }, End: ast.Location{ - Line: int(643), + Line: int(663), Column: int(37), }, }, @@ -92860,11 +94790,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(645), + Line: int(665), Column: int(34), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(37), }, }, @@ -92898,7 +94828,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -92906,11 +94836,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(645), + Line: int(665), Column: int(34), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(42), }, }, @@ -92924,7 +94854,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7045, + Ctx: p7180, FreeVars: ast.Identifiers{ "val", }, @@ -92932,11 +94862,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(645), + Line: int(665), Column: int(43), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(46), }, }, @@ -92951,7 +94881,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -92960,11 +94890,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(645), + Line: int(665), Column: int(34), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(47), }, }, @@ -92979,17 +94909,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(645), + Line: int(665), Column: int(23), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(31), }, }, @@ -93001,7 +94931,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -93009,11 +94939,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(645), + Line: int(665), Column: int(19), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(20), }, }, @@ -93025,17 +94955,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(644), + Line: int(664), Column: int(17), }, End: ast.Location{ - Line: int(644), + Line: int(664), Column: int(45), }, }, @@ -93052,7 +94982,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -93060,11 +94990,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(644), + Line: int(664), Column: int(17), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(20), }, }, @@ -93074,7 +95004,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -93082,11 +95012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(644), + Line: int(664), Column: int(17), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(31), }, }, @@ -93096,7 +95026,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -93106,11 +95036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(644), + Line: int(664), Column: int(17), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(47), }, }, @@ -93126,7 +95056,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -93136,11 +95066,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(644), + Line: int(664), Column: int(11), }, End: ast.Location{ - Line: int(645), + Line: int(665), Column: int(47), }, }, @@ -93158,7 +95088,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "render_float_sci", }, @@ -93166,11 +95096,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(647), + Line: int(667), Column: int(11), }, End: ast.Location{ - Line: int(647), + Line: int(667), Column: int(27), }, }, @@ -93184,7 +95114,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7066, + Ctx: p7201, FreeVars: ast.Identifiers{ "val", }, @@ -93192,11 +95122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(647), + Line: int(667), Column: int(28), }, End: ast.Location{ - Line: int(647), + Line: int(667), Column: int(31), }, }, @@ -93216,7 +95146,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(27), }, }, - Ctx: p7066, + Ctx: p7201, FreeVars: ast.Identifiers{ "zp", }, @@ -93224,11 +95154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(648), + Line: int(668), Column: int(28), }, End: ast.Location{ - Line: int(648), + Line: int(668), Column: int(30), }, }, @@ -93257,11 +95187,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(649), + Line: int(669), Column: int(28), }, End: ast.Location{ - Line: int(649), + Line: int(669), Column: int(34), }, }, @@ -93295,7 +95225,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7066, + Ctx: p7201, FreeVars: ast.Identifiers{ "cflags", }, @@ -93303,11 +95233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(649), + Line: int(669), Column: int(28), }, End: ast.Location{ - Line: int(649), + Line: int(669), Column: int(40), }, }, @@ -93336,11 +95266,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(650), + Line: int(670), Column: int(28), }, End: ast.Location{ - Line: int(650), + Line: int(670), Column: int(34), }, }, @@ -93374,7 +95304,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7066, + Ctx: p7201, FreeVars: ast.Identifiers{ "cflags", }, @@ -93382,11 +95312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(650), + Line: int(670), Column: int(28), }, End: ast.Location{ - Line: int(650), + Line: int(670), Column: int(39), }, }, @@ -93415,11 +95345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(651), + Line: int(671), Column: int(28), }, End: ast.Location{ - Line: int(651), + Line: int(671), Column: int(34), }, }, @@ -93453,7 +95383,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7066, + Ctx: p7201, FreeVars: ast.Identifiers{ "cflags", }, @@ -93461,11 +95391,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(651), + Line: int(671), Column: int(28), }, End: ast.Location{ - Line: int(651), + Line: int(671), Column: int(38), }, }, @@ -93484,17 +95414,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(27), }, }, - Ctx: p7066, + Ctx: p7201, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(652), + Line: int(672), Column: int(28), }, End: ast.Location{ - Line: int(652), + Line: int(672), Column: int(32), }, }, @@ -93524,11 +95454,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(653), + Line: int(673), Column: int(28), }, End: ast.Location{ - Line: int(653), + Line: int(673), Column: int(32), }, }, @@ -93562,7 +95492,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7066, + Ctx: p7201, FreeVars: ast.Identifiers{ "code", }, @@ -93570,11 +95500,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(653), + Line: int(673), Column: int(28), }, End: ast.Location{ - Line: int(653), + Line: int(673), Column: int(37), }, }, @@ -93594,7 +95524,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(27), }, }, - Ctx: p7066, + Ctx: p7201, FreeVars: ast.Identifiers{ "fpprec", }, @@ -93602,11 +95532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(654), + Line: int(674), Column: int(28), }, End: ast.Location{ - Line: int(654), + Line: int(674), Column: int(34), }, }, @@ -93621,7 +95551,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -93634,11 +95564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(647), + Line: int(667), Column: int(11), }, End: ast.Location{ - Line: int(654), + Line: int(674), Column: int(35), }, }, @@ -93664,7 +95594,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -93679,11 +95609,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(643), + Line: int(663), Column: int(9), }, End: ast.Location{ - Line: int(654), + Line: int(674), Column: int(35), }, }, @@ -93697,17 +95627,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(655), + Line: int(675), Column: int(29), }, End: ast.Location{ - Line: int(655), + Line: int(675), Column: int(32), }, }, @@ -93727,11 +95657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(655), + Line: int(675), Column: int(15), }, End: ast.Location{ - Line: int(655), + Line: int(675), Column: int(19), }, }, @@ -93765,7 +95695,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -93773,11 +95703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(655), + Line: int(675), Column: int(15), }, End: ast.Location{ - Line: int(655), + Line: int(675), Column: int(25), }, }, @@ -93786,7 +95716,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -93794,11 +95724,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(655), + Line: int(675), Column: int(15), }, End: ast.Location{ - Line: int(655), + Line: int(675), Column: int(32), }, }, @@ -93813,17 +95743,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(656), + Line: int(676), Column: int(29), }, End: ast.Location{ - Line: int(656), + Line: int(676), Column: int(37), }, }, @@ -93844,11 +95774,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(656), + Line: int(676), Column: int(12), }, End: ast.Location{ - Line: int(656), + Line: int(676), Column: int(15), }, }, @@ -93882,7 +95812,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -93890,11 +95820,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(656), + Line: int(676), Column: int(12), }, End: ast.Location{ - Line: int(656), + Line: int(676), Column: int(20), }, }, @@ -93908,7 +95838,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7124, + Ctx: p7259, FreeVars: ast.Identifiers{ "val", }, @@ -93916,11 +95846,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(656), + Line: int(676), Column: int(21), }, End: ast.Location{ - Line: int(656), + Line: int(676), Column: int(24), }, }, @@ -93935,7 +95865,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -93944,11 +95874,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(656), + Line: int(676), Column: int(12), }, End: ast.Location{ - Line: int(656), + Line: int(676), Column: int(25), }, }, @@ -93959,7 +95889,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -93968,11 +95898,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(656), + Line: int(676), Column: int(12), }, End: ast.Location{ - Line: int(656), + Line: int(676), Column: int(37), }, }, @@ -93995,11 +95925,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(658), + Line: int(678), Column: int(34), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(37), }, }, @@ -94033,7 +95963,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -94041,11 +95971,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(658), + Line: int(678), Column: int(34), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(42), }, }, @@ -94059,7 +95989,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7138, + Ctx: p7273, FreeVars: ast.Identifiers{ "val", }, @@ -94067,11 +95997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(658), + Line: int(678), Column: int(43), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(46), }, }, @@ -94086,7 +96016,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -94095,11 +96025,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(658), + Line: int(678), Column: int(34), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(47), }, }, @@ -94114,17 +96044,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(658), + Line: int(678), Column: int(23), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(31), }, }, @@ -94136,7 +96066,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -94144,11 +96074,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(658), + Line: int(678), Column: int(19), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(20), }, }, @@ -94160,17 +96090,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(657), + Line: int(677), Column: int(17), }, End: ast.Location{ - Line: int(657), + Line: int(677), Column: int(45), }, }, @@ -94187,7 +96117,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -94195,11 +96125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(657), + Line: int(677), Column: int(17), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(20), }, }, @@ -94209,7 +96139,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", }, @@ -94217,11 +96147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(657), + Line: int(677), Column: int(17), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(31), }, }, @@ -94231,7 +96161,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -94241,11 +96171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(657), + Line: int(677), Column: int(17), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(47), }, }, @@ -94261,7 +96191,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "i", "std", @@ -94271,11 +96201,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(657), + Line: int(677), Column: int(11), }, End: ast.Location{ - Line: int(658), + Line: int(678), Column: int(47), }, }, @@ -94285,88 +96215,200 @@ var _StdAst = &ast.DesugaredObject{ Binds: ast.LocalBinds{ ast.LocalBind{ VarFodder: ast.Fodder{}, - Body: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, + Ctx: p7293, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), - Column: int(28), + Line: int(680), + Column: int(38), }, End: ast.Location{ - Line: int(660), - Column: int(31), + Line: int(680), + Column: int(39), }, }, }, }, - Index: &ast.LiteralString{ - Value: "floor", - BlockIndent: "", - BlockTermIndent: "", + Left: &ast.Var{ + Id: "val", NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, + Fodder: ast.Fodder{}, + Ctx: p7293, + FreeVars: ast.Identifiers{ + "val", + }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(680), + Column: int(31), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(680), + Column: int(34), }, }, }, - Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7160, + Ctx: p7293, FreeVars: ast.Identifiers{ - "std", + "val", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), - Column: int(28), + Line: int(680), + Column: int(31), }, End: ast.Location{ - Line: int(660), - Column: int(37), + Line: int(680), + Column: int(39), }, }, }, + Op: ast.BinaryOp(13), }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Binary{ - Right: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + BranchTrue: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(45), + }, + End: ast.Location{ + Line: int(680), + Column: int(48), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "floor", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p7293, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(45), + }, + End: ast.Location{ + Line: int(680), + Column: int(54), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(79), + }, + End: ast.Location{ + Line: int(680), + Column: int(82), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "log", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p7310, FreeVars: ast.Identifiers{ "std", }, @@ -94374,45 +96416,50 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), - Column: int(62), + Line: int(680), + Column: int(79), }, End: ast.Location{ - Line: int(660), - Column: int(65), + Line: int(680), + Column: int(86), }, }, }, }, - Index: &ast.LiteralString{ - Value: "log", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "10", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p7314, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(87), + }, + End: ast.Location{ + Line: int(680), + Column: int(89), + }, + }, + }, }, + CommaFodder: nil, }, }, - Kind: ast.LiteralStringKind(1), + Named: nil, }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7169, + Ctx: p7310, FreeVars: ast.Identifiers{ "std", }, @@ -94420,76 +96467,71 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), - Column: int(62), + Line: int(680), + Column: int(79), }, End: ast.Location{ - Line: int(660), - Column: int(69), + Line: int(680), + Column: int(90), }, }, }, + TrailingComma: false, + TailStrict: false, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.LiteralNumber{ - OriginalString: "10", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p7173, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(660), - Column: int(70), - }, - End: ast.Location{ - Line: int(660), - Column: int(72), - }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(55), + }, + End: ast.Location{ + Line: int(680), + Column: int(58), }, }, }, - CommaFodder: nil, }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p7169, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(660), - Column: int(62), - }, - End: ast.Location{ - Line: int(660), - Column: int(73), + Index: &ast.LiteralString{ + Value: "log", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - Left: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p7310, FreeVars: ast.Identifiers{ "std", }, @@ -94497,73 +96539,73 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), - Column: int(38), - }, - End: ast.Location{ - Line: int(660), - Column: int(41), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "log", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(680), + Column: int(55), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(680), + Column: int(62), }, }, }, - Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p7169, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(660), - Column: int(38), - }, - End: ast.Location{ - Line: int(660), - Column: int(45), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(63), + }, + End: ast.Location{ + Line: int(680), + Column: int(66), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "abs", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p7328, FreeVars: ast.Identifiers{ "std", }, @@ -94571,128 +96613,106 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), - Column: int(46), + Line: int(680), + Column: int(63), }, End: ast.Location{ - Line: int(660), - Column: int(49), + Line: int(680), + Column: int(70), }, }, }, }, - Index: &ast.LiteralString{ - Value: "abs", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "val", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p7332, + FreeVars: ast.Identifiers{ + "val", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(71), + }, + End: ast.Location{ + Line: int(680), + Column: int(74), + }, + }, + }, }, + CommaFodder: nil, }, }, - Kind: ast.LiteralStringKind(1), + Named: nil, }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7187, + Ctx: p7328, FreeVars: ast.Identifiers{ "std", + "val", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), - Column: int(46), + Line: int(680), + Column: int(63), }, End: ast.Location{ - Line: int(660), - Column: int(53), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "val", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p7191, - FreeVars: ast.Identifiers{ - "val", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(660), - Column: int(54), - }, - End: ast.Location{ - Line: int(660), - Column: int(57), - }, - }, - }, + Line: int(680), + Column: int(75), }, - CommaFodder: nil, }, }, - Named: nil, + TrailingComma: false, + TailStrict: false, }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p7187, - FreeVars: ast.Identifiers{ - "std", - "val", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(660), - Column: int(46), - }, - End: ast.Location{ - Line: int(660), - Column: int(58), - }, - }, - }, - TrailingComma: false, - TailStrict: false, + CommaFodder: nil, }, - CommaFodder: nil, }, + Named: nil, }, - Named: nil, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p7310, + FreeVars: ast.Identifiers{ + "std", + "val", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(55), + }, + End: ast.Location{ + Line: int(680), + Column: int(76), + }, + }, + }, + TrailingComma: false, + TailStrict: false, }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7169, + Ctx: p7310, FreeVars: ast.Identifiers{ "std", "val", @@ -94701,51 +96721,72 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), - Column: int(38), + Line: int(680), + Column: int(55), }, End: ast.Location{ - Line: int(660), - Column: int(59), + Line: int(680), + Column: int(90), }, }, }, - TrailingComma: false, - TailStrict: false, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p7169, - FreeVars: ast.Identifiers{ - "std", - "val", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(660), - Column: int(38), - }, - End: ast.Location{ - Line: int(660), - Column: int(73), - }, - }, + Op: ast.BinaryOp(1), }, - Op: ast.BinaryOp(1), + CommaFodder: nil, }, - CommaFodder: nil, }, + Named: nil, }, - Named: nil, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p7293, + FreeVars: ast.Identifiers{ + "std", + "val", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(45), + }, + End: ast.Location{ + Line: int(680), + Column: int(91), + }, + }, + }, + TrailingComma: false, + TailStrict: false, }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + BranchFalse: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p7293, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(680), + Column: int(97), + }, + End: ast.Location{ + Line: int(680), + Column: int(98), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7160, + Ctx: p7293, FreeVars: ast.Identifiers{ "std", "val", @@ -94754,17 +96795,15 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), + Line: int(680), Column: int(28), }, End: ast.Location{ - Line: int(660), - Column: int(74), + Line: int(680), + Column: int(98), }, }, }, - TrailingComma: false, - TailStrict: false, }, EqFodder: ast.Fodder{}, Variable: "exponent", @@ -94774,12 +96813,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), + Line: int(680), Column: int(17), }, End: ast.Location{ - Line: int(660), - Column: int(74), + Line: int(680), + Column: int(98), }, }, }, @@ -94791,7 +96830,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fpprec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "fpprec", }, @@ -94799,11 +96838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(43), }, End: ast.Location{ - Line: int(661), + Line: int(681), Column: int(49), }, }, @@ -94813,7 +96852,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "exponent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "exponent", }, @@ -94821,11 +96860,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(31), }, End: ast.Location{ - Line: int(661), + Line: int(681), Column: int(39), }, }, @@ -94834,7 +96873,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "exponent", "fpprec", @@ -94843,11 +96882,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(31), }, End: ast.Location{ - Line: int(661), + Line: int(681), Column: int(49), }, }, @@ -94860,17 +96899,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(26), }, End: ast.Location{ - Line: int(661), + Line: int(681), Column: int(27), }, }, @@ -94878,17 +96917,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(25), }, End: ast.Location{ - Line: int(661), + Line: int(681), Column: int(27), }, }, @@ -94899,7 +96938,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "exponent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "exponent", }, @@ -94907,11 +96946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(14), }, End: ast.Location{ - Line: int(661), + Line: int(681), Column: int(22), }, }, @@ -94920,7 +96959,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "exponent", }, @@ -94928,11 +96967,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(14), }, End: ast.Location{ - Line: int(661), + Line: int(681), Column: int(27), }, }, @@ -94942,7 +96981,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "exponent", "fpprec", @@ -94951,11 +96990,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(14), }, End: ast.Location{ - Line: int(661), + Line: int(681), Column: int(49), }, }, @@ -94974,7 +97013,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "render_float_sci", }, @@ -94982,11 +97021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(662), + Line: int(682), Column: int(13), }, End: ast.Location{ - Line: int(662), + Line: int(682), Column: int(29), }, }, @@ -95000,7 +97039,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "val", }, @@ -95008,11 +97047,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(662), + Line: int(682), Column: int(30), }, End: ast.Location{ - Line: int(662), + Line: int(682), Column: int(33), }, }, @@ -95032,7 +97071,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(29), }, }, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "zp", }, @@ -95040,11 +97079,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(663), + Line: int(683), Column: int(30), }, End: ast.Location{ - Line: int(663), + Line: int(683), Column: int(32), }, }, @@ -95073,11 +97112,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(664), + Line: int(684), Column: int(30), }, End: ast.Location{ - Line: int(664), + Line: int(684), Column: int(36), }, }, @@ -95111,7 +97150,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "cflags", }, @@ -95119,11 +97158,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(664), + Line: int(684), Column: int(30), }, End: ast.Location{ - Line: int(664), + Line: int(684), Column: int(42), }, }, @@ -95152,11 +97191,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(665), + Line: int(685), Column: int(30), }, End: ast.Location{ - Line: int(665), + Line: int(685), Column: int(36), }, }, @@ -95190,7 +97229,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "cflags", }, @@ -95198,11 +97237,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(665), + Line: int(685), Column: int(30), }, End: ast.Location{ - Line: int(665), + Line: int(685), Column: int(41), }, }, @@ -95231,11 +97270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(666), + Line: int(686), Column: int(30), }, End: ast.Location{ - Line: int(666), + Line: int(686), Column: int(36), }, }, @@ -95269,7 +97308,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "cflags", }, @@ -95277,11 +97316,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(666), + Line: int(686), Column: int(30), }, End: ast.Location{ - Line: int(666), + Line: int(686), Column: int(40), }, }, @@ -95310,11 +97349,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(667), + Line: int(687), Column: int(30), }, End: ast.Location{ - Line: int(667), + Line: int(687), Column: int(36), }, }, @@ -95348,7 +97387,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "cflags", }, @@ -95356,11 +97395,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(667), + Line: int(687), Column: int(30), }, End: ast.Location{ - Line: int(667), + Line: int(687), Column: int(40), }, }, @@ -95389,11 +97428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(668), + Line: int(688), Column: int(30), }, End: ast.Location{ - Line: int(668), + Line: int(688), Column: int(34), }, }, @@ -95427,7 +97466,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "code", }, @@ -95435,11 +97474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(668), + Line: int(688), Column: int(30), }, End: ast.Location{ - Line: int(668), + Line: int(688), Column: int(39), }, }, @@ -95453,17 +97492,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(669), + Line: int(689), Column: int(39), }, End: ast.Location{ - Line: int(669), + Line: int(689), Column: int(40), }, }, @@ -95480,7 +97519,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(29), }, }, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "fpprec", }, @@ -95488,11 +97527,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(669), + Line: int(689), Column: int(30), }, End: ast.Location{ - Line: int(669), + Line: int(689), Column: int(36), }, }, @@ -95501,7 +97540,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7218, + Ctx: p7361, FreeVars: ast.Identifiers{ "fpprec", }, @@ -95509,11 +97548,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(669), + Line: int(689), Column: int(30), }, End: ast.Location{ - Line: int(669), + Line: int(689), Column: int(40), }, }, @@ -95529,7 +97568,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -95542,11 +97581,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(662), + Line: int(682), Column: int(13), }, End: ast.Location{ - Line: int(669), + Line: int(689), Column: int(41), }, }, @@ -95572,11 +97611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(38), }, End: ast.Location{ - Line: int(671), + Line: int(691), Column: int(41), }, }, @@ -95610,7 +97649,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7267, + Ctx: p7410, FreeVars: ast.Identifiers{ "std", }, @@ -95618,11 +97657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(38), }, End: ast.Location{ - Line: int(671), + Line: int(691), Column: int(45), }, }, @@ -95636,17 +97675,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7271, + Ctx: p7414, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(46), }, End: ast.Location{ - Line: int(671), + Line: int(691), Column: int(47), }, }, @@ -95660,17 +97699,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7271, + Ctx: p7414, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(60), }, End: ast.Location{ - Line: int(671), + Line: int(691), Column: int(61), }, }, @@ -95680,7 +97719,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "exponent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7271, + Ctx: p7414, FreeVars: ast.Identifiers{ "exponent", }, @@ -95688,11 +97727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(49), }, End: ast.Location{ - Line: int(671), + Line: int(691), Column: int(57), }, }, @@ -95701,7 +97740,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7271, + Ctx: p7414, FreeVars: ast.Identifiers{ "exponent", }, @@ -95709,11 +97748,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(49), }, End: ast.Location{ - Line: int(671), + Line: int(691), Column: int(61), }, }, @@ -95729,7 +97768,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7267, + Ctx: p7410, FreeVars: ast.Identifiers{ "exponent", "std", @@ -95738,11 +97777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(38), }, End: ast.Location{ - Line: int(671), + Line: int(691), Column: int(62), }, }, @@ -95758,11 +97797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(19), }, End: ast.Location{ - Line: int(671), + Line: int(691), Column: int(62), }, }, @@ -95780,7 +97819,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "render_float_dec", }, @@ -95788,11 +97827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(672), + Line: int(692), Column: int(13), }, End: ast.Location{ - Line: int(672), + Line: int(692), Column: int(29), }, }, @@ -95806,7 +97845,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "val", }, @@ -95814,11 +97853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(672), + Line: int(692), Column: int(30), }, End: ast.Location{ - Line: int(672), + Line: int(692), Column: int(33), }, }, @@ -95838,7 +97877,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(29), }, }, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "zp", }, @@ -95846,11 +97885,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(673), + Line: int(693), Column: int(30), }, End: ast.Location{ - Line: int(673), + Line: int(693), Column: int(32), }, }, @@ -95879,11 +97918,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(674), + Line: int(694), Column: int(30), }, End: ast.Location{ - Line: int(674), + Line: int(694), Column: int(36), }, }, @@ -95917,7 +97956,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "cflags", }, @@ -95925,11 +97964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(674), + Line: int(694), Column: int(30), }, End: ast.Location{ - Line: int(674), + Line: int(694), Column: int(42), }, }, @@ -95958,11 +97997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(675), + Line: int(695), Column: int(30), }, End: ast.Location{ - Line: int(675), + Line: int(695), Column: int(36), }, }, @@ -95996,7 +98035,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "cflags", }, @@ -96004,11 +98043,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(675), + Line: int(695), Column: int(30), }, End: ast.Location{ - Line: int(675), + Line: int(695), Column: int(41), }, }, @@ -96037,11 +98076,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(676), + Line: int(696), Column: int(30), }, End: ast.Location{ - Line: int(676), + Line: int(696), Column: int(36), }, }, @@ -96075,7 +98114,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "cflags", }, @@ -96083,11 +98122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(676), + Line: int(696), Column: int(30), }, End: ast.Location{ - Line: int(676), + Line: int(696), Column: int(40), }, }, @@ -96116,11 +98155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(677), + Line: int(697), Column: int(30), }, End: ast.Location{ - Line: int(677), + Line: int(697), Column: int(36), }, }, @@ -96154,7 +98193,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "cflags", }, @@ -96162,11 +98201,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(677), + Line: int(697), Column: int(30), }, End: ast.Location{ - Line: int(677), + Line: int(697), Column: int(40), }, }, @@ -96180,7 +98219,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "digits_before_pt", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "digits_before_pt", }, @@ -96188,11 +98227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(678), + Line: int(698), Column: int(39), }, End: ast.Location{ - Line: int(678), + Line: int(698), Column: int(55), }, }, @@ -96209,7 +98248,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(29), }, }, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "fpprec", }, @@ -96217,11 +98256,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(678), + Line: int(698), Column: int(30), }, End: ast.Location{ - Line: int(678), + Line: int(698), Column: int(36), }, }, @@ -96230,7 +98269,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7284, + Ctx: p7427, FreeVars: ast.Identifiers{ "digits_before_pt", "fpprec", @@ -96239,11 +98278,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(678), + Line: int(698), Column: int(30), }, End: ast.Location{ - Line: int(678), + Line: int(698), Column: int(55), }, }, @@ -96259,7 +98298,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "digits_before_pt", @@ -96272,11 +98311,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(672), + Line: int(692), Column: int(13), }, End: ast.Location{ - Line: int(678), + Line: int(698), Column: int(56), }, }, @@ -96293,7 +98332,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "exponent", @@ -96307,11 +98346,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(671), + Line: int(691), Column: int(13), }, End: ast.Location{ - Line: int(678), + Line: int(698), Column: int(56), }, }, @@ -96335,7 +98374,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -96351,11 +98390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(661), + Line: int(681), Column: int(11), }, End: ast.Location{ - Line: int(678), + Line: int(698), Column: int(56), }, }, @@ -96370,7 +98409,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -96385,11 +98424,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(660), + Line: int(680), Column: int(11), }, End: ast.Location{ - Line: int(678), + Line: int(698), Column: int(56), }, }, @@ -96413,7 +98452,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -96429,11 +98468,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(656), + Line: int(676), Column: int(9), }, End: ast.Location{ - Line: int(678), + Line: int(698), Column: int(56), }, }, @@ -96447,17 +98486,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(679), + Line: int(699), Column: int(29), }, End: ast.Location{ - Line: int(679), + Line: int(699), Column: int(32), }, }, @@ -96477,11 +98516,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(679), + Line: int(699), Column: int(15), }, End: ast.Location{ - Line: int(679), + Line: int(699), Column: int(19), }, }, @@ -96515,7 +98554,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -96523,11 +98562,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(679), + Line: int(699), Column: int(15), }, End: ast.Location{ - Line: int(679), + Line: int(699), Column: int(25), }, }, @@ -96536,7 +98575,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -96544,11 +98583,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(679), + Line: int(699), Column: int(15), }, End: ast.Location{ - Line: int(679), + Line: int(699), Column: int(32), }, }, @@ -96563,17 +98602,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(680), + Line: int(700), Column: int(29), }, End: ast.Location{ - Line: int(680), + Line: int(700), Column: int(37), }, }, @@ -96594,11 +98633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(680), + Line: int(700), Column: int(12), }, End: ast.Location{ - Line: int(680), + Line: int(700), Column: int(15), }, }, @@ -96632,7 +98671,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -96640,11 +98679,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(680), + Line: int(700), Column: int(12), }, End: ast.Location{ - Line: int(680), + Line: int(700), Column: int(20), }, }, @@ -96658,7 +98697,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7351, + Ctx: p7494, FreeVars: ast.Identifiers{ "val", }, @@ -96666,11 +98705,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(680), + Line: int(700), Column: int(21), }, End: ast.Location{ - Line: int(680), + Line: int(700), Column: int(24), }, }, @@ -96685,7 +98724,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -96694,11 +98733,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(680), + Line: int(700), Column: int(12), }, End: ast.Location{ - Line: int(680), + Line: int(700), Column: int(25), }, }, @@ -96709,7 +98748,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -96718,11 +98757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(680), + Line: int(700), Column: int(12), }, End: ast.Location{ - Line: int(680), + Line: int(700), Column: int(37), }, }, @@ -96750,11 +98789,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(681), + Line: int(701), Column: int(11), }, End: ast.Location{ - Line: int(681), + Line: int(701), Column: int(14), }, }, @@ -96788,7 +98827,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -96796,11 +98835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(681), + Line: int(701), Column: int(11), }, End: ast.Location{ - Line: int(681), + Line: int(701), Column: int(19), }, }, @@ -96814,7 +98853,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7364, + Ctx: p7507, FreeVars: ast.Identifiers{ "val", }, @@ -96822,11 +98861,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(681), + Line: int(701), Column: int(20), }, End: ast.Location{ - Line: int(681), + Line: int(701), Column: int(23), }, }, @@ -96841,7 +98880,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -96850,11 +98889,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(681), + Line: int(701), Column: int(11), }, End: ast.Location{ - Line: int(681), + Line: int(701), Column: int(24), }, }, @@ -96870,17 +98909,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(682), + Line: int(702), Column: int(34), }, End: ast.Location{ - Line: int(682), + Line: int(702), Column: int(42), }, }, @@ -96901,11 +98940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(682), + Line: int(702), Column: int(17), }, End: ast.Location{ - Line: int(682), + Line: int(702), Column: int(20), }, }, @@ -96939,7 +98978,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -96947,11 +98986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(682), + Line: int(702), Column: int(17), }, End: ast.Location{ - Line: int(682), + Line: int(702), Column: int(25), }, }, @@ -96965,7 +99004,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7378, + Ctx: p7521, FreeVars: ast.Identifiers{ "val", }, @@ -96973,11 +99012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(682), + Line: int(702), Column: int(26), }, End: ast.Location{ - Line: int(682), + Line: int(702), Column: int(29), }, }, @@ -96992,7 +99031,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97001,11 +99040,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(682), + Line: int(702), Column: int(17), }, End: ast.Location{ - Line: int(682), + Line: int(702), Column: int(30), }, }, @@ -97016,7 +99055,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97025,11 +99064,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(682), + Line: int(702), Column: int(17), }, End: ast.Location{ - Line: int(682), + Line: int(702), Column: int(42), }, }, @@ -97042,17 +99081,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(683), + Line: int(703), Column: int(33), }, End: ast.Location{ - Line: int(683), + Line: int(703), Column: int(34), }, }, @@ -97072,11 +99111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(683), + Line: int(703), Column: int(14), }, End: ast.Location{ - Line: int(683), + Line: int(703), Column: int(17), }, }, @@ -97110,7 +99149,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -97118,11 +99157,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(683), + Line: int(703), Column: int(14), }, End: ast.Location{ - Line: int(683), + Line: int(703), Column: int(24), }, }, @@ -97136,7 +99175,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7393, + Ctx: p7536, FreeVars: ast.Identifiers{ "val", }, @@ -97144,11 +99183,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(683), + Line: int(703), Column: int(25), }, End: ast.Location{ - Line: int(683), + Line: int(703), Column: int(28), }, }, @@ -97163,7 +99202,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97172,11 +99211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(683), + Line: int(703), Column: int(14), }, End: ast.Location{ - Line: int(683), + Line: int(703), Column: int(29), }, }, @@ -97187,7 +99226,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97196,11 +99235,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(683), + Line: int(703), Column: int(14), }, End: ast.Location{ - Line: int(683), + Line: int(703), Column: int(34), }, }, @@ -97218,7 +99257,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "val", }, @@ -97226,11 +99265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(684), + Line: int(704), Column: int(13), }, End: ast.Location{ - Line: int(684), + Line: int(704), Column: int(16), }, }, @@ -97252,11 +99291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(686), + Line: int(706), Column: int(56), }, End: ast.Location{ - Line: int(686), + Line: int(706), Column: int(59), }, }, @@ -97290,7 +99329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -97298,11 +99337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(686), + Line: int(706), Column: int(56), }, End: ast.Location{ - Line: int(686), + Line: int(706), Column: int(66), }, }, @@ -97316,7 +99355,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7410, + Ctx: p7553, FreeVars: ast.Identifiers{ "val", }, @@ -97324,11 +99363,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(686), + Line: int(706), Column: int(67), }, End: ast.Location{ - Line: int(686), + Line: int(706), Column: int(70), }, }, @@ -97343,7 +99382,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97352,11 +99391,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(686), + Line: int(706), Column: int(56), }, End: ast.Location{ - Line: int(686), + Line: int(706), Column: int(71), }, }, @@ -97370,17 +99409,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(686), + Line: int(706), Column: int(19), }, End: ast.Location{ - Line: int(686), + Line: int(706), Column: int(53), }, }, @@ -97390,7 +99429,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97399,11 +99438,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(686), + Line: int(706), Column: int(19), }, End: ast.Location{ - Line: int(686), + Line: int(706), Column: int(71), }, }, @@ -97419,7 +99458,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97428,11 +99467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(686), + Line: int(706), Column: int(13), }, End: ast.Location{ - Line: int(686), + Line: int(706), Column: int(71), }, }, @@ -97456,7 +99495,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97465,11 +99504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(683), + Line: int(703), Column: int(11), }, End: ast.Location{ - Line: int(686), + Line: int(706), Column: int(71), }, }, @@ -97491,11 +99530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(688), + Line: int(708), Column: int(56), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(59), }, }, @@ -97529,7 +99568,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", }, @@ -97537,11 +99576,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(688), + Line: int(708), Column: int(56), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(64), }, }, @@ -97555,7 +99594,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7430, + Ctx: p7573, FreeVars: ast.Identifiers{ "val", }, @@ -97563,11 +99602,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(688), + Line: int(708), Column: int(65), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(68), }, }, @@ -97582,7 +99621,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97591,11 +99630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(688), + Line: int(708), Column: int(56), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(69), }, }, @@ -97609,17 +99648,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(688), + Line: int(708), Column: int(17), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(53), }, }, @@ -97629,7 +99668,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97638,11 +99677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(688), + Line: int(708), Column: int(17), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(69), }, }, @@ -97658,7 +99697,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97667,11 +99706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(688), + Line: int(708), Column: int(11), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(69), }, }, @@ -97688,7 +99727,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97697,11 +99736,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(682), + Line: int(702), Column: int(14), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(69), }, }, @@ -97725,7 +99764,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "std", "val", @@ -97734,11 +99773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(680), + Line: int(700), Column: int(9), }, End: ast.Location{ - Line: int(688), + Line: int(708), Column: int(69), }, }, @@ -97759,11 +99798,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(690), + Line: int(710), Column: int(34), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(38), }, }, @@ -97797,7 +99836,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -97805,11 +99844,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(690), + Line: int(710), Column: int(34), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -97821,17 +99860,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(690), + Line: int(710), Column: int(15), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(31), }, }, @@ -97841,7 +99880,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -97849,11 +99888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(690), + Line: int(710), Column: int(15), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -97869,7 +99908,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", }, @@ -97877,11 +99916,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(690), + Line: int(710), Column: int(9), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -97898,7 +99937,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", "std", @@ -97908,11 +99947,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(679), + Line: int(699), Column: int(12), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -97929,7 +99968,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -97945,11 +99984,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(655), + Line: int(675), Column: int(12), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -97966,7 +100005,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -97982,11 +100021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(642), + Line: int(662), Column: int(12), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98003,7 +100042,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -98019,11 +100058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(630), + Line: int(650), Column: int(12), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98040,7 +100079,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -98058,11 +100097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(618), + Line: int(638), Column: int(12), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98079,7 +100118,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -98098,11 +100137,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(611), + Line: int(631), Column: int(12), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98119,7 +100158,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -98138,11 +100177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(605), + Line: int(625), Column: int(12), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98166,7 +100205,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -98185,11 +100224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(603), + Line: int(623), Column: int(7), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98204,7 +100243,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -98223,11 +100262,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(602), + Line: int(622), Column: int(7), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98242,7 +100281,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -98261,11 +100300,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(601), + Line: int(621), Column: int(7), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98280,7 +100319,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "cflags", "code", @@ -98298,11 +100337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(600), + Line: int(620), Column: int(7), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98317,7 +100356,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p6588, + Ctx: p6723, FreeVars: ast.Identifiers{ "code", "fw", @@ -98334,11 +100373,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(599), + Line: int(619), Column: int(7), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98355,11 +100394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(598), + Line: int(618), Column: int(23), }, End: ast.Location{ - Line: int(598), + Line: int(618), Column: int(26), }, }, @@ -98374,11 +100413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(598), + Line: int(618), Column: int(28), }, End: ast.Location{ - Line: int(598), + Line: int(618), Column: int(32), }, }, @@ -98393,11 +100432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(598), + Line: int(618), Column: int(34), }, End: ast.Location{ - Line: int(598), + Line: int(618), Column: int(36), }, }, @@ -98412,11 +100451,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(598), + Line: int(618), Column: int(38), }, End: ast.Location{ - Line: int(598), + Line: int(618), Column: int(50), }, }, @@ -98431,11 +100470,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(598), + Line: int(618), Column: int(52), }, End: ast.Location{ - Line: int(598), + Line: int(618), Column: int(53), }, }, @@ -98443,7 +100482,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p7479, + Ctx: p7622, FreeVars: ast.Identifiers{ "render_float_dec", "render_float_sci", @@ -98455,11 +100494,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(598), + Line: int(618), Column: int(11), }, End: ast.Location{ - Line: int(690), + Line: int(710), Column: int(44), }, }, @@ -98507,11 +100546,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(694), + Line: int(714), Column: int(15), }, End: ast.Location{ - Line: int(694), + Line: int(714), Column: int(18), }, }, @@ -98545,7 +100584,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "std", }, @@ -98553,11 +100592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(694), + Line: int(714), Column: int(15), }, End: ast.Location{ - Line: int(694), + Line: int(714), Column: int(25), }, }, @@ -98571,7 +100610,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7495, + Ctx: p7638, FreeVars: ast.Identifiers{ "codes", }, @@ -98579,11 +100618,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(694), + Line: int(714), Column: int(26), }, End: ast.Location{ - Line: int(694), + Line: int(714), Column: int(31), }, }, @@ -98598,7 +100637,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "codes", "std", @@ -98607,11 +100646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(694), + Line: int(714), Column: int(15), }, End: ast.Location{ - Line: int(694), + Line: int(714), Column: int(32), }, }, @@ -98623,7 +100662,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "i", }, @@ -98631,11 +100670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(694), + Line: int(714), Column: int(10), }, End: ast.Location{ - Line: int(694), + Line: int(714), Column: int(11), }, }, @@ -98644,7 +100683,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "codes", "i", @@ -98654,11 +100693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(694), + Line: int(714), Column: int(10), }, End: ast.Location{ - Line: int(694), + Line: int(714), Column: int(32), }, }, @@ -98681,11 +100720,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(695), + Line: int(715), Column: int(16), }, End: ast.Location{ - Line: int(695), + Line: int(715), Column: int(19), }, }, @@ -98719,7 +100758,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "std", }, @@ -98727,11 +100766,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(695), + Line: int(715), Column: int(16), }, End: ast.Location{ - Line: int(695), + Line: int(715), Column: int(26), }, }, @@ -98745,7 +100784,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7511, + Ctx: p7654, FreeVars: ast.Identifiers{ "arr", }, @@ -98753,11 +100792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(695), + Line: int(715), Column: int(27), }, End: ast.Location{ - Line: int(695), + Line: int(715), Column: int(30), }, }, @@ -98772,7 +100811,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "std", @@ -98781,11 +100820,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(695), + Line: int(715), Column: int(16), }, End: ast.Location{ - Line: int(695), + Line: int(715), Column: int(31), }, }, @@ -98797,7 +100836,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "j", }, @@ -98805,11 +100844,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(695), + Line: int(715), Column: int(12), }, End: ast.Location{ - Line: int(695), + Line: int(715), Column: int(13), }, }, @@ -98818,7 +100857,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "j", @@ -98828,11 +100867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(695), + Line: int(715), Column: int(12), }, End: ast.Location{ - Line: int(695), + Line: int(715), Column: int(31), }, }, @@ -98845,7 +100884,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "j", }, @@ -98853,11 +100892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(84), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(85), }, }, @@ -98870,17 +100909,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(68), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(81), }, }, @@ -98902,11 +100941,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(50), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(53), }, }, @@ -98940,7 +100979,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "std", }, @@ -98948,11 +100987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(50), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(60), }, }, @@ -98966,7 +101005,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7532, + Ctx: p7675, FreeVars: ast.Identifiers{ "arr", }, @@ -98974,11 +101013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(61), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(64), }, }, @@ -98993,7 +101032,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "std", @@ -99002,11 +101041,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(50), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(65), }, }, @@ -99020,17 +101059,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(18), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(47), }, }, @@ -99040,7 +101079,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "std", @@ -99049,11 +101088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(18), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(65), }, }, @@ -99063,7 +101102,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "std", @@ -99072,11 +101111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(18), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(81), }, }, @@ -99086,7 +101125,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "j", @@ -99096,11 +101135,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(18), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(85), }, }, @@ -99116,7 +101155,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "j", @@ -99126,11 +101165,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(696), + Line: int(716), Column: int(11), }, End: ast.Location{ - Line: int(696), + Line: int(716), Column: int(86), }, }, @@ -99147,7 +101186,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "v", }, @@ -99155,11 +101194,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(698), + Line: int(718), Column: int(11), }, End: ast.Location{ - Line: int(698), + Line: int(718), Column: int(12), }, }, @@ -99183,7 +101222,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "j", @@ -99194,11 +101233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(695), + Line: int(715), Column: int(9), }, End: ast.Location{ - Line: int(698), + Line: int(718), Column: int(12), }, }, @@ -99213,7 +101252,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7551, + Ctx: p7694, FreeVars: ast.Identifiers{ "codes", }, @@ -99221,11 +101260,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(700), + Line: int(720), Column: int(22), }, End: ast.Location{ - Line: int(700), + Line: int(720), Column: int(27), }, }, @@ -99235,7 +101274,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7551, + Ctx: p7694, FreeVars: ast.Identifiers{ "i", }, @@ -99243,11 +101282,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(700), + Line: int(720), Column: int(28), }, End: ast.Location{ - Line: int(700), + Line: int(720), Column: int(29), }, }, @@ -99258,7 +101297,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7551, + Ctx: p7694, FreeVars: ast.Identifiers{ "codes", "i", @@ -99267,11 +101306,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(700), + Line: int(720), Column: int(22), }, End: ast.Location{ - Line: int(700), + Line: int(720), Column: int(30), }, }, @@ -99285,11 +101324,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(700), + Line: int(720), Column: int(15), }, End: ast.Location{ - Line: int(700), + Line: int(720), Column: int(30), }, }, @@ -99303,17 +101342,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(701), + Line: int(721), Column: int(30), }, End: ast.Location{ - Line: int(701), + Line: int(721), Column: int(38), }, }, @@ -99334,11 +101373,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(701), + Line: int(721), Column: int(12), }, End: ast.Location{ - Line: int(701), + Line: int(721), Column: int(15), }, }, @@ -99372,7 +101411,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "std", }, @@ -99380,11 +101419,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(701), + Line: int(721), Column: int(12), }, End: ast.Location{ - Line: int(701), + Line: int(721), Column: int(20), }, }, @@ -99398,7 +101437,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7567, + Ctx: p7710, FreeVars: ast.Identifiers{ "code", }, @@ -99406,11 +101445,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(701), + Line: int(721), Column: int(21), }, End: ast.Location{ - Line: int(701), + Line: int(721), Column: int(25), }, }, @@ -99425,7 +101464,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "code", "std", @@ -99434,11 +101473,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(701), + Line: int(721), Column: int(12), }, End: ast.Location{ - Line: int(701), + Line: int(721), Column: int(26), }, }, @@ -99449,7 +101488,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "code", "std", @@ -99458,11 +101497,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(701), + Line: int(721), Column: int(12), }, End: ast.Location{ - Line: int(701), + Line: int(721), Column: int(38), }, }, @@ -99481,7 +101520,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "format_codes_arr", }, @@ -99489,11 +101528,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(11), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(27), }, }, @@ -99507,7 +101546,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{ "codes", }, @@ -99515,11 +101554,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(28), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(33), }, }, @@ -99532,7 +101571,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{ "arr", }, @@ -99540,11 +101579,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(35), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(38), }, }, @@ -99558,17 +101597,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(44), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(45), }, }, @@ -99578,7 +101617,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{ "i", }, @@ -99586,11 +101625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(40), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(41), }, }, @@ -99599,7 +101638,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{ "i", }, @@ -99607,11 +101646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(40), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(45), }, }, @@ -99625,7 +101664,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{ "j", }, @@ -99633,11 +101672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(47), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(48), }, }, @@ -99651,7 +101690,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{ "code", }, @@ -99659,11 +101698,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(54), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(58), }, }, @@ -99673,7 +101712,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{ "v", }, @@ -99681,11 +101720,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(50), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(51), }, }, @@ -99694,7 +101733,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7577, + Ctx: p7720, FreeVars: ast.Identifiers{ "code", "v", @@ -99703,11 +101742,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(50), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(58), }, }, @@ -99723,7 +101762,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -99737,11 +101776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(702), + Line: int(722), Column: int(11), }, End: ast.Location{ - Line: int(702), + Line: int(722), Column: int(59), }, }, @@ -99761,17 +101800,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7600, + Ctx: p7743, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(704), + Line: int(724), Column: int(37), }, End: ast.Location{ - Line: int(704), + Line: int(724), Column: int(40), }, }, @@ -99791,11 +101830,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(704), + Line: int(724), Column: int(26), }, End: ast.Location{ - Line: int(704), + Line: int(724), Column: int(30), }, }, @@ -99829,7 +101868,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7600, + Ctx: p7743, FreeVars: ast.Identifiers{ "code", }, @@ -99837,11 +101876,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(704), + Line: int(724), Column: int(26), }, End: ast.Location{ - Line: int(704), + Line: int(724), Column: int(33), }, }, @@ -99850,7 +101889,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7600, + Ctx: p7743, FreeVars: ast.Identifiers{ "code", }, @@ -99858,11 +101897,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(704), + Line: int(724), Column: int(26), }, End: ast.Location{ - Line: int(704), + Line: int(724), Column: int(40), }, }, @@ -99901,17 +101940,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(705), + Line: int(725), Column: int(20), }, End: ast.Location{ - Line: int(705), + Line: int(725), Column: int(21), }, }, @@ -99921,7 +101960,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "j", }, @@ -99929,11 +101968,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(705), + Line: int(725), Column: int(16), }, End: ast.Location{ - Line: int(705), + Line: int(725), Column: int(17), }, }, @@ -99942,7 +101981,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "j", }, @@ -99950,11 +101989,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(705), + Line: int(725), Column: int(16), }, End: ast.Location{ - Line: int(705), + Line: int(725), Column: int(21), }, }, @@ -99965,11 +102004,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(705), + Line: int(725), Column: int(13), }, End: ast.Location{ - Line: int(705), + Line: int(725), Column: int(21), }, }, @@ -100016,11 +102055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(706), + Line: int(726), Column: int(25), }, End: ast.Location{ - Line: int(706), + Line: int(726), Column: int(28), }, }, @@ -100054,7 +102093,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "std", }, @@ -100062,11 +102101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(706), + Line: int(726), Column: int(25), }, End: ast.Location{ - Line: int(706), + Line: int(726), Column: int(35), }, }, @@ -100080,7 +102119,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7627, + Ctx: p7770, FreeVars: ast.Identifiers{ "arr", }, @@ -100088,11 +102127,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(706), + Line: int(726), Column: int(36), }, End: ast.Location{ - Line: int(706), + Line: int(726), Column: int(39), }, }, @@ -100107,7 +102146,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "std", @@ -100116,11 +102155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(706), + Line: int(726), Column: int(25), }, End: ast.Location{ - Line: int(706), + Line: int(726), Column: int(40), }, }, @@ -100132,7 +102171,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "j", }, @@ -100140,11 +102179,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(706), + Line: int(726), Column: int(20), }, End: ast.Location{ - Line: int(706), + Line: int(726), Column: int(21), }, }, @@ -100153,7 +102192,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "j", @@ -100163,11 +102202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(706), + Line: int(726), Column: int(20), }, End: ast.Location{ - Line: int(706), + Line: int(726), Column: int(40), }, }, @@ -100180,7 +102219,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "j", }, @@ -100188,11 +102227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(99), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(100), }, }, @@ -100205,17 +102244,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(74), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(96), }, }, @@ -100237,11 +102276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(56), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(59), }, }, @@ -100275,7 +102314,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "std", }, @@ -100283,11 +102322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(56), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(66), }, }, @@ -100301,7 +102340,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7648, + Ctx: p7791, FreeVars: ast.Identifiers{ "arr", }, @@ -100309,11 +102348,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(67), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(70), }, }, @@ -100328,7 +102367,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "std", @@ -100337,11 +102376,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(56), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(71), }, }, @@ -100355,17 +102394,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(22), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(53), }, }, @@ -100375,7 +102414,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "std", @@ -100384,11 +102423,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(22), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(71), }, }, @@ -100398,7 +102437,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "std", @@ -100407,11 +102446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(22), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(96), }, }, @@ -100421,7 +102460,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "j", @@ -100431,11 +102470,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(22), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(100), }, }, @@ -100451,7 +102490,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "j", @@ -100461,11 +102500,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(707), + Line: int(727), Column: int(15), }, End: ast.Location{ - Line: int(707), + Line: int(727), Column: int(101), }, }, @@ -100483,7 +102522,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", }, @@ -100491,11 +102530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(709), + Line: int(729), Column: int(15), }, End: ast.Location{ - Line: int(709), + Line: int(729), Column: int(18), }, }, @@ -100505,7 +102544,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "j", }, @@ -100513,11 +102552,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(709), + Line: int(729), Column: int(19), }, End: ast.Location{ - Line: int(709), + Line: int(729), Column: int(20), }, }, @@ -100528,7 +102567,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "j", @@ -100537,11 +102576,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(709), + Line: int(729), Column: int(15), }, End: ast.Location{ - Line: int(709), + Line: int(729), Column: int(21), }, }, @@ -100558,7 +102597,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7612, + Ctx: p7755, FreeVars: ast.Identifiers{ "arr", "j", @@ -100568,11 +102607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(706), + Line: int(726), Column: int(17), }, End: ast.Location{ - Line: int(709), + Line: int(729), Column: int(21), }, }, @@ -100582,11 +102621,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(706), + Line: int(726), Column: int(13), }, End: ast.Location{ - Line: int(709), + Line: int(729), Column: int(21), }, }, @@ -100597,7 +102636,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7600, + Ctx: p7743, FreeVars: ast.Identifiers{ "arr", "j", @@ -100607,11 +102646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(704), + Line: int(724), Column: int(46), }, End: ast.Location{ - Line: int(710), + Line: int(730), Column: int(12), }, }, @@ -100648,7 +102687,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7671, + Ctx: p7814, FreeVars: ast.Identifiers{ "j", }, @@ -100656,11 +102695,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(711), + Line: int(731), Column: int(16), }, End: ast.Location{ - Line: int(711), + Line: int(731), Column: int(17), }, }, @@ -100670,11 +102709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(711), + Line: int(731), Column: int(13), }, End: ast.Location{ - Line: int(711), + Line: int(731), Column: int(17), }, }, @@ -100718,11 +102757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(712), + Line: int(732), Column: int(17), }, End: ast.Location{ - Line: int(712), + Line: int(732), Column: int(21), }, }, @@ -100756,7 +102795,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7671, + Ctx: p7814, FreeVars: ast.Identifiers{ "code", }, @@ -100764,11 +102803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(712), + Line: int(732), Column: int(17), }, End: ast.Location{ - Line: int(712), + Line: int(732), Column: int(24), }, }, @@ -100778,11 +102817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(712), + Line: int(732), Column: int(13), }, End: ast.Location{ - Line: int(712), + Line: int(732), Column: int(24), }, }, @@ -100793,7 +102832,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7600, + Ctx: p7743, FreeVars: ast.Identifiers{ "code", "j", @@ -100802,11 +102841,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(710), + Line: int(730), Column: int(18), }, End: ast.Location{ - Line: int(713), + Line: int(733), Column: int(12), }, }, @@ -100816,7 +102855,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7600, + Ctx: p7743, FreeVars: ast.Identifiers{ "arr", "code", @@ -100827,11 +102866,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(704), + Line: int(724), Column: int(23), }, End: ast.Location{ - Line: int(713), + Line: int(733), Column: int(12), }, }, @@ -100845,11 +102884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(704), + Line: int(724), Column: int(17), }, End: ast.Location{ - Line: int(713), + Line: int(733), Column: int(12), }, }, @@ -100867,17 +102906,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7686, + Ctx: p7829, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(714), + Line: int(734), Column: int(40), }, End: ast.Location{ - Line: int(714), + Line: int(734), Column: int(43), }, }, @@ -100897,11 +102936,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(714), + Line: int(734), Column: int(27), }, End: ast.Location{ - Line: int(714), + Line: int(734), Column: int(31), }, }, @@ -100935,7 +102974,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7686, + Ctx: p7829, FreeVars: ast.Identifiers{ "code", }, @@ -100943,11 +102982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(714), + Line: int(734), Column: int(27), }, End: ast.Location{ - Line: int(714), + Line: int(734), Column: int(36), }, }, @@ -100956,7 +102995,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7686, + Ctx: p7829, FreeVars: ast.Identifiers{ "code", }, @@ -100964,11 +103003,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(714), + Line: int(734), Column: int(27), }, End: ast.Location{ - Line: int(714), + Line: int(734), Column: int(43), }, }, @@ -101007,17 +103046,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(715), + Line: int(735), Column: int(24), }, End: ast.Location{ - Line: int(715), + Line: int(735), Column: int(25), }, }, @@ -101036,11 +103075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(715), + Line: int(735), Column: int(16), }, End: ast.Location{ - Line: int(715), + Line: int(735), Column: int(19), }, }, @@ -101074,7 +103113,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "tmp", }, @@ -101082,11 +103121,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(715), + Line: int(735), Column: int(16), }, End: ast.Location{ - Line: int(715), + Line: int(735), Column: int(21), }, }, @@ -101095,7 +103134,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "tmp", }, @@ -101103,11 +103142,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(715), + Line: int(735), Column: int(16), }, End: ast.Location{ - Line: int(715), + Line: int(735), Column: int(25), }, }, @@ -101118,11 +103157,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(715), + Line: int(735), Column: int(13), }, End: ast.Location{ - Line: int(715), + Line: int(735), Column: int(25), }, }, @@ -101169,11 +103208,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(31), }, End: ast.Location{ - Line: int(716), + Line: int(736), Column: int(34), }, }, @@ -101207,7 +103246,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "std", }, @@ -101215,11 +103254,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(31), }, End: ast.Location{ - Line: int(716), + Line: int(736), Column: int(41), }, }, @@ -101233,7 +103272,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7716, + Ctx: p7859, FreeVars: ast.Identifiers{ "arr", }, @@ -101241,11 +103280,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(42), }, End: ast.Location{ - Line: int(716), + Line: int(736), Column: int(45), }, }, @@ -101260,7 +103299,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "std", @@ -101269,11 +103308,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(31), }, End: ast.Location{ - Line: int(716), + Line: int(736), Column: int(46), }, }, @@ -101294,11 +103333,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(22), }, End: ast.Location{ - Line: int(716), + Line: int(736), Column: int(25), }, }, @@ -101332,7 +103371,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "tmp", }, @@ -101340,11 +103379,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(22), }, End: ast.Location{ - Line: int(716), + Line: int(736), Column: int(27), }, }, @@ -101353,7 +103392,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "std", @@ -101363,11 +103402,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(22), }, End: ast.Location{ - Line: int(716), + Line: int(736), Column: int(46), }, }, @@ -101389,11 +103428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(99), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(102), }, }, @@ -101427,7 +103466,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "tmp", }, @@ -101435,11 +103474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(99), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(104), }, }, @@ -101452,17 +103491,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(74), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(96), }, }, @@ -101484,11 +103523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(56), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(59), }, }, @@ -101522,7 +103561,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "std", }, @@ -101530,11 +103569,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(56), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(66), }, }, @@ -101548,7 +103587,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7743, + Ctx: p7886, FreeVars: ast.Identifiers{ "arr", }, @@ -101556,11 +103595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(67), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(70), }, }, @@ -101575,7 +103614,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "std", @@ -101584,11 +103623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(56), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(71), }, }, @@ -101602,17 +103641,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(22), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(53), }, }, @@ -101622,7 +103661,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "std", @@ -101631,11 +103670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(22), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(71), }, }, @@ -101645,7 +103684,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "std", @@ -101654,11 +103693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(22), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(96), }, }, @@ -101668,7 +103707,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "std", @@ -101678,11 +103717,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(22), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(104), }, }, @@ -101698,7 +103737,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "std", @@ -101708,11 +103747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(717), + Line: int(737), Column: int(15), }, End: ast.Location{ - Line: int(717), + Line: int(737), Column: int(105), }, }, @@ -101730,7 +103769,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", }, @@ -101738,11 +103777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(719), + Line: int(739), Column: int(15), }, End: ast.Location{ - Line: int(719), + Line: int(739), Column: int(18), }, }, @@ -101761,11 +103800,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(719), + Line: int(739), Column: int(19), }, End: ast.Location{ - Line: int(719), + Line: int(739), Column: int(22), }, }, @@ -101799,7 +103838,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "tmp", }, @@ -101807,11 +103846,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(719), + Line: int(739), Column: int(19), }, End: ast.Location{ - Line: int(719), + Line: int(739), Column: int(24), }, }, @@ -101822,7 +103861,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "tmp", @@ -101831,11 +103870,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(719), + Line: int(739), Column: int(15), }, End: ast.Location{ - Line: int(719), + Line: int(739), Column: int(25), }, }, @@ -101852,7 +103891,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7698, + Ctx: p7841, FreeVars: ast.Identifiers{ "arr", "std", @@ -101862,11 +103901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(19), }, End: ast.Location{ - Line: int(719), + Line: int(739), Column: int(25), }, }, @@ -101876,11 +103915,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(716), + Line: int(736), Column: int(13), }, End: ast.Location{ - Line: int(719), + Line: int(739), Column: int(25), }, }, @@ -101891,7 +103930,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7686, + Ctx: p7829, FreeVars: ast.Identifiers{ "arr", "std", @@ -101901,11 +103940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(714), + Line: int(734), Column: int(49), }, End: ast.Location{ - Line: int(720), + Line: int(740), Column: int(12), }, }, @@ -101951,11 +103990,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(721), + Line: int(741), Column: int(16), }, End: ast.Location{ - Line: int(721), + Line: int(741), Column: int(19), }, }, @@ -101989,7 +104028,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7772, + Ctx: p7915, FreeVars: ast.Identifiers{ "tmp", }, @@ -101997,11 +104036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(721), + Line: int(741), Column: int(16), }, End: ast.Location{ - Line: int(721), + Line: int(741), Column: int(21), }, }, @@ -102011,11 +104050,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(721), + Line: int(741), Column: int(13), }, End: ast.Location{ - Line: int(721), + Line: int(741), Column: int(21), }, }, @@ -102059,11 +104098,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(722), + Line: int(742), Column: int(19), }, End: ast.Location{ - Line: int(722), + Line: int(742), Column: int(23), }, }, @@ -102097,7 +104136,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7772, + Ctx: p7915, FreeVars: ast.Identifiers{ "code", }, @@ -102105,11 +104144,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(722), + Line: int(742), Column: int(19), }, End: ast.Location{ - Line: int(722), + Line: int(742), Column: int(28), }, }, @@ -102119,11 +104158,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(722), + Line: int(742), Column: int(13), }, End: ast.Location{ - Line: int(722), + Line: int(742), Column: int(28), }, }, @@ -102134,7 +104173,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7686, + Ctx: p7829, FreeVars: ast.Identifiers{ "code", "tmp", @@ -102143,11 +104182,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(720), + Line: int(740), Column: int(18), }, End: ast.Location{ - Line: int(723), + Line: int(743), Column: int(12), }, }, @@ -102157,7 +104196,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7686, + Ctx: p7829, FreeVars: ast.Identifiers{ "arr", "code", @@ -102168,11 +104207,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(714), + Line: int(734), Column: int(24), }, End: ast.Location{ - Line: int(723), + Line: int(743), Column: int(12), }, }, @@ -102186,11 +104225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(714), + Line: int(734), Column: int(17), }, End: ast.Location{ - Line: int(723), + Line: int(743), Column: int(12), }, }, @@ -102213,11 +104252,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(724), + Line: int(744), Column: int(22), }, End: ast.Location{ - Line: int(724), + Line: int(744), Column: int(26), }, }, @@ -102251,7 +104290,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7788, + Ctx: p7931, FreeVars: ast.Identifiers{ "tmp2", }, @@ -102259,11 +104298,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(724), + Line: int(744), Column: int(22), }, End: ast.Location{ - Line: int(724), + Line: int(744), Column: int(28), }, }, @@ -102277,11 +104316,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(724), + Line: int(744), Column: int(17), }, End: ast.Location{ - Line: int(724), + Line: int(744), Column: int(28), }, }, @@ -102307,11 +104346,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(726), + Line: int(746), Column: int(21), }, End: ast.Location{ - Line: int(726), + Line: int(746), Column: int(24), }, }, @@ -102345,7 +104384,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "std", }, @@ -102353,11 +104392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(726), + Line: int(746), Column: int(21), }, End: ast.Location{ - Line: int(726), + Line: int(746), Column: int(31), }, }, @@ -102371,7 +104410,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7803, + Ctx: p7946, FreeVars: ast.Identifiers{ "arr", }, @@ -102379,11 +104418,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(726), + Line: int(746), Column: int(32), }, End: ast.Location{ - Line: int(726), + Line: int(746), Column: int(35), }, }, @@ -102398,7 +104437,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "std", @@ -102407,11 +104446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(726), + Line: int(746), Column: int(21), }, End: ast.Location{ - Line: int(726), + Line: int(746), Column: int(36), }, }, @@ -102423,7 +104462,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "j2", }, @@ -102431,11 +104470,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(726), + Line: int(746), Column: int(16), }, End: ast.Location{ - Line: int(726), + Line: int(746), Column: int(18), }, }, @@ -102444,7 +104483,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "j2", @@ -102454,11 +104493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(726), + Line: int(746), Column: int(16), }, End: ast.Location{ - Line: int(726), + Line: int(746), Column: int(36), }, }, @@ -102477,7 +104516,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", }, @@ -102485,11 +104524,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(727), + Line: int(747), Column: int(15), }, End: ast.Location{ - Line: int(727), + Line: int(747), Column: int(18), }, }, @@ -102499,7 +104538,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "j2", }, @@ -102507,11 +104546,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(727), + Line: int(747), Column: int(19), }, End: ast.Location{ - Line: int(727), + Line: int(747), Column: int(21), }, }, @@ -102522,7 +104561,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "j2", @@ -102531,11 +104570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(727), + Line: int(747), Column: int(15), }, End: ast.Location{ - Line: int(727), + Line: int(747), Column: int(22), }, }, @@ -102547,7 +104586,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "j2", }, @@ -102555,11 +104594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(100), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(102), }, }, @@ -102572,17 +104611,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(74), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(97), }, }, @@ -102604,11 +104643,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(56), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(59), }, }, @@ -102642,7 +104681,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "std", }, @@ -102650,11 +104689,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(56), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(66), }, }, @@ -102668,7 +104707,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7831, + Ctx: p7974, FreeVars: ast.Identifiers{ "arr", }, @@ -102676,11 +104715,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(67), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(70), }, }, @@ -102695,7 +104734,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "std", @@ -102704,11 +104743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(56), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(71), }, }, @@ -102722,17 +104761,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(22), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(53), }, }, @@ -102742,7 +104781,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "std", @@ -102751,11 +104790,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(22), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(71), }, }, @@ -102765,7 +104804,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "std", @@ -102774,11 +104813,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(22), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(97), }, }, @@ -102788,7 +104827,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "j2", @@ -102798,11 +104837,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(22), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(102), }, }, @@ -102818,7 +104857,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "j2", @@ -102828,11 +104867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(729), + Line: int(749), Column: int(15), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(103), }, }, @@ -102856,7 +104895,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p7799, + Ctx: p7942, FreeVars: ast.Identifiers{ "arr", "j2", @@ -102866,11 +104905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(726), + Line: int(746), Column: int(13), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(103), }, }, @@ -102884,11 +104923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(725), + Line: int(745), Column: int(17), }, End: ast.Location{ - Line: int(729), + Line: int(749), Column: int(103), }, }, @@ -102906,17 +104945,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7848, + Ctx: p7991, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(731), + Line: int(751), Column: int(30), }, End: ast.Location{ - Line: int(731), + Line: int(751), Column: int(33), }, }, @@ -102936,11 +104975,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(731), + Line: int(751), Column: int(16), }, End: ast.Location{ - Line: int(731), + Line: int(751), Column: int(20), }, }, @@ -102974,7 +105013,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7848, + Ctx: p7991, FreeVars: ast.Identifiers{ "code", }, @@ -102982,11 +105021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(731), + Line: int(751), Column: int(16), }, End: ast.Location{ - Line: int(731), + Line: int(751), Column: int(26), }, }, @@ -102995,7 +105034,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7848, + Ctx: p7991, FreeVars: ast.Identifiers{ "code", }, @@ -103003,11 +105042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(731), + Line: int(751), Column: int(16), }, End: ast.Location{ - Line: int(731), + Line: int(751), Column: int(33), }, }, @@ -103027,17 +105066,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7848, + Ctx: p7991, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(732), + Line: int(752), Column: int(15), }, End: ast.Location{ - Line: int(732), + Line: int(752), Column: int(18), }, }, @@ -103056,7 +105095,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7848, + Ctx: p7991, FreeVars: ast.Identifiers{ "format_code", }, @@ -103064,11 +105103,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(15), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(26), }, }, @@ -103082,7 +105121,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7863, + Ctx: p8006, FreeVars: ast.Identifiers{ "val", }, @@ -103090,11 +105129,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(27), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(30), }, }, @@ -103107,7 +105146,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7863, + Ctx: p8006, FreeVars: ast.Identifiers{ "code", }, @@ -103115,11 +105154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(32), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(36), }, }, @@ -103141,11 +105180,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(38), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(41), }, }, @@ -103179,7 +105218,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7863, + Ctx: p8006, FreeVars: ast.Identifiers{ "tmp", }, @@ -103187,11 +105226,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(38), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(44), }, }, @@ -103213,11 +105252,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(46), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(50), }, }, @@ -103251,7 +105290,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7863, + Ctx: p8006, FreeVars: ast.Identifiers{ "tmp2", }, @@ -103259,11 +105298,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(46), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(55), }, }, @@ -103276,7 +105315,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7863, + Ctx: p8006, FreeVars: ast.Identifiers{ "j2", }, @@ -103284,11 +105323,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(57), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(59), }, }, @@ -103303,7 +105342,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7848, + Ctx: p7991, FreeVars: ast.Identifiers{ "code", "format_code", @@ -103316,11 +105355,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(734), + Line: int(754), Column: int(15), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(60), }, }, @@ -103346,7 +105385,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p7848, + Ctx: p7991, FreeVars: ast.Identifiers{ "code", "format_code", @@ -103359,11 +105398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(731), + Line: int(751), Column: int(13), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(60), }, }, @@ -103377,11 +105416,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(730), + Line: int(750), Column: int(17), }, End: ast.Location{ - Line: int(734), + Line: int(754), Column: int(60), }, }, @@ -103406,11 +105445,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(736), + Line: int(756), Column: int(16), }, End: ast.Location{ - Line: int(736), + Line: int(756), Column: int(20), }, }, @@ -103452,11 +105491,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(736), + Line: int(756), Column: int(16), }, End: ast.Location{ - Line: int(736), + Line: int(756), Column: int(27), }, }, @@ -103490,7 +105529,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7893, + Ctx: p8036, FreeVars: ast.Identifiers{ "code", }, @@ -103498,11 +105537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(736), + Line: int(756), Column: int(16), }, End: ast.Location{ - Line: int(736), + Line: int(756), Column: int(32), }, }, @@ -103520,7 +105559,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7893, + Ctx: p8036, FreeVars: ast.Identifiers{ "pad_right", }, @@ -103528,11 +105567,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(737), + Line: int(757), Column: int(15), }, End: ast.Location{ - Line: int(737), + Line: int(757), Column: int(24), }, }, @@ -103546,7 +105585,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7901, + Ctx: p8044, FreeVars: ast.Identifiers{ "s", }, @@ -103554,11 +105593,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(737), + Line: int(757), Column: int(25), }, End: ast.Location{ - Line: int(737), + Line: int(757), Column: int(26), }, }, @@ -103580,11 +105619,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(737), + Line: int(757), Column: int(28), }, End: ast.Location{ - Line: int(737), + Line: int(757), Column: int(31), }, }, @@ -103618,7 +105657,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7901, + Ctx: p8044, FreeVars: ast.Identifiers{ "tmp", }, @@ -103626,11 +105665,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(737), + Line: int(757), Column: int(28), }, End: ast.Location{ - Line: int(737), + Line: int(757), Column: int(34), }, }, @@ -103645,17 +105684,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7901, + Ctx: p8044, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(737), + Line: int(757), Column: int(36), }, End: ast.Location{ - Line: int(737), + Line: int(757), Column: int(39), }, }, @@ -103671,7 +105710,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7893, + Ctx: p8036, FreeVars: ast.Identifiers{ "pad_right", "s", @@ -103681,11 +105720,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(737), + Line: int(757), Column: int(15), }, End: ast.Location{ - Line: int(737), + Line: int(757), Column: int(40), }, }, @@ -103705,7 +105744,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7893, + Ctx: p8036, FreeVars: ast.Identifiers{ "pad_left", }, @@ -103713,11 +105752,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(739), + Line: int(759), Column: int(15), }, End: ast.Location{ - Line: int(739), + Line: int(759), Column: int(23), }, }, @@ -103731,7 +105770,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7916, + Ctx: p8059, FreeVars: ast.Identifiers{ "s", }, @@ -103739,11 +105778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(739), + Line: int(759), Column: int(24), }, End: ast.Location{ - Line: int(739), + Line: int(759), Column: int(25), }, }, @@ -103765,11 +105804,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(739), + Line: int(759), Column: int(27), }, End: ast.Location{ - Line: int(739), + Line: int(759), Column: int(30), }, }, @@ -103803,7 +105842,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7916, + Ctx: p8059, FreeVars: ast.Identifiers{ "tmp", }, @@ -103811,11 +105850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(739), + Line: int(759), Column: int(27), }, End: ast.Location{ - Line: int(739), + Line: int(759), Column: int(33), }, }, @@ -103830,17 +105869,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7916, + Ctx: p8059, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(739), + Line: int(759), Column: int(35), }, End: ast.Location{ - Line: int(739), + Line: int(759), Column: int(38), }, }, @@ -103856,7 +105895,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7893, + Ctx: p8036, FreeVars: ast.Identifiers{ "pad_left", "s", @@ -103866,11 +105905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(739), + Line: int(759), Column: int(15), }, End: ast.Location{ - Line: int(739), + Line: int(759), Column: int(39), }, }, @@ -103896,7 +105935,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p7893, + Ctx: p8036, FreeVars: ast.Identifiers{ "code", "pad_left", @@ -103908,11 +105947,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(736), + Line: int(756), Column: int(13), }, End: ast.Location{ - Line: int(739), + Line: int(759), Column: int(39), }, }, @@ -103926,11 +105965,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(735), + Line: int(755), Column: int(17), }, End: ast.Location{ - Line: int(739), + Line: int(759), Column: int(39), }, }, @@ -103948,17 +105987,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7933, + Ctx: p8076, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(741), + Line: int(761), Column: int(30), }, End: ast.Location{ - Line: int(741), + Line: int(761), Column: int(33), }, }, @@ -103978,11 +106017,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(741), + Line: int(761), Column: int(16), }, End: ast.Location{ - Line: int(741), + Line: int(761), Column: int(20), }, }, @@ -104016,7 +106055,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7933, + Ctx: p8076, FreeVars: ast.Identifiers{ "code", }, @@ -104024,11 +106063,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(741), + Line: int(761), Column: int(16), }, End: ast.Location{ - Line: int(741), + Line: int(761), Column: int(26), }, }, @@ -104037,7 +106076,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7933, + Ctx: p8076, FreeVars: ast.Identifiers{ "code", }, @@ -104045,11 +106084,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(741), + Line: int(761), Column: int(16), }, End: ast.Location{ - Line: int(741), + Line: int(761), Column: int(33), }, }, @@ -104067,7 +106106,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7933, + Ctx: p8076, FreeVars: ast.Identifiers{ "j2", }, @@ -104075,11 +106114,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(742), + Line: int(762), Column: int(15), }, End: ast.Location{ - Line: int(742), + Line: int(762), Column: int(17), }, }, @@ -104090,17 +106129,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7933, + Ctx: p8076, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(744), + Line: int(764), Column: int(20), }, End: ast.Location{ - Line: int(744), + Line: int(764), Column: int(21), }, }, @@ -104117,7 +106156,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p7933, + Ctx: p8076, FreeVars: ast.Identifiers{ "j2", }, @@ -104125,11 +106164,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(744), + Line: int(764), Column: int(15), }, End: ast.Location{ - Line: int(744), + Line: int(764), Column: int(17), }, }, @@ -104138,7 +106177,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7933, + Ctx: p8076, FreeVars: ast.Identifiers{ "j2", }, @@ -104146,11 +106185,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(744), + Line: int(764), Column: int(15), }, End: ast.Location{ - Line: int(744), + Line: int(764), Column: int(21), }, }, @@ -104175,7 +106214,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p7933, + Ctx: p8076, FreeVars: ast.Identifiers{ "code", "j2", @@ -104184,11 +106223,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(741), + Line: int(761), Column: int(13), }, End: ast.Location{ - Line: int(744), + Line: int(764), Column: int(21), }, }, @@ -104202,11 +106241,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(740), + Line: int(760), Column: int(17), }, End: ast.Location{ - Line: int(744), + Line: int(764), Column: int(21), }, }, @@ -104224,7 +106263,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "format_codes_arr", }, @@ -104232,11 +106271,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(27), }, }, @@ -104250,7 +106289,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{ "codes", }, @@ -104258,11 +106297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(28), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(33), }, }, @@ -104275,7 +106314,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{ "arr", }, @@ -104283,11 +106322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(35), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(38), }, }, @@ -104301,17 +106340,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(44), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(45), }, }, @@ -104321,7 +106360,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{ "i", }, @@ -104329,11 +106368,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(40), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(41), }, }, @@ -104342,7 +106381,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{ "i", }, @@ -104350,11 +106389,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(40), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(45), }, }, @@ -104368,7 +106407,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{ "j3", }, @@ -104376,11 +106415,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(47), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(49), }, }, @@ -104394,7 +106433,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s_padded", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{ "s_padded", }, @@ -104402,11 +106441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(55), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(63), }, }, @@ -104416,7 +106455,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{ "v", }, @@ -104424,11 +106463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(51), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(52), }, }, @@ -104437,7 +106476,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7958, + Ctx: p8101, FreeVars: ast.Identifiers{ "s_padded", "v", @@ -104446,11 +106485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(51), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(63), }, }, @@ -104466,7 +106505,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "codes", @@ -104480,11 +106519,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(745), + Line: int(765), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104501,7 +106540,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -104516,11 +106555,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(740), + Line: int(760), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104535,7 +106574,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -104553,11 +106592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(735), + Line: int(755), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104572,7 +106611,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -104592,11 +106631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(730), + Line: int(750), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104611,7 +106650,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -104631,11 +106670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(725), + Line: int(745), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104650,7 +106689,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -104669,11 +106708,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(724), + Line: int(744), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104688,7 +106727,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -104706,11 +106745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(714), + Line: int(734), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104725,7 +106764,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -104743,11 +106782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(704), + Line: int(724), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104771,7 +106810,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "code", @@ -104789,11 +106828,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(701), + Line: int(721), Column: int(9), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104808,7 +106847,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "codes", @@ -104825,11 +106864,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(700), + Line: int(720), Column: int(9), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104853,7 +106892,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p7491, + Ctx: p7634, FreeVars: ast.Identifiers{ "arr", "codes", @@ -104870,11 +106909,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(694), + Line: int(714), Column: int(7), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -104891,11 +106930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(693), + Line: int(713), Column: int(28), }, End: ast.Location{ - Line: int(693), + Line: int(713), Column: int(33), }, }, @@ -104910,11 +106949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(693), + Line: int(713), Column: int(35), }, End: ast.Location{ - Line: int(693), + Line: int(713), Column: int(38), }, }, @@ -104929,11 +106968,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(693), + Line: int(713), Column: int(40), }, End: ast.Location{ - Line: int(693), + Line: int(713), Column: int(41), }, }, @@ -104948,11 +106987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(693), + Line: int(713), Column: int(43), }, End: ast.Location{ - Line: int(693), + Line: int(713), Column: int(44), }, }, @@ -104967,11 +107006,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(693), + Line: int(713), Column: int(46), }, End: ast.Location{ - Line: int(693), + Line: int(713), Column: int(47), }, }, @@ -104979,7 +107018,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p7999, + Ctx: p8142, FreeVars: ast.Identifiers{ "format_code", "format_codes_arr", @@ -104991,11 +107030,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(693), + Line: int(713), Column: int(11), }, End: ast.Location{ - Line: int(745), + Line: int(765), Column: int(64), }, }, @@ -105043,11 +107082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(749), + Line: int(769), Column: int(15), }, End: ast.Location{ - Line: int(749), + Line: int(769), Column: int(18), }, }, @@ -105081,7 +107120,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "std", }, @@ -105089,11 +107128,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(749), + Line: int(769), Column: int(15), }, End: ast.Location{ - Line: int(749), + Line: int(769), Column: int(25), }, }, @@ -105107,7 +107146,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8015, + Ctx: p8158, FreeVars: ast.Identifiers{ "codes", }, @@ -105115,11 +107154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(749), + Line: int(769), Column: int(26), }, End: ast.Location{ - Line: int(749), + Line: int(769), Column: int(31), }, }, @@ -105134,7 +107173,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "codes", "std", @@ -105143,11 +107182,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(749), + Line: int(769), Column: int(15), }, End: ast.Location{ - Line: int(749), + Line: int(769), Column: int(32), }, }, @@ -105159,7 +107198,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "i", }, @@ -105167,11 +107206,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(749), + Line: int(769), Column: int(10), }, End: ast.Location{ - Line: int(749), + Line: int(769), Column: int(11), }, }, @@ -105180,7 +107219,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "codes", "i", @@ -105190,11 +107229,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(749), + Line: int(769), Column: int(10), }, End: ast.Location{ - Line: int(749), + Line: int(769), Column: int(32), }, }, @@ -105212,7 +107251,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "v", }, @@ -105220,11 +107259,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(750), + Line: int(770), Column: int(9), }, End: ast.Location{ - Line: int(750), + Line: int(770), Column: int(10), }, }, @@ -105239,7 +107278,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8028, + Ctx: p8171, FreeVars: ast.Identifiers{ "codes", }, @@ -105247,11 +107286,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(752), + Line: int(772), Column: int(22), }, End: ast.Location{ - Line: int(752), + Line: int(772), Column: int(27), }, }, @@ -105261,7 +107300,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8028, + Ctx: p8171, FreeVars: ast.Identifiers{ "i", }, @@ -105269,11 +107308,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(752), + Line: int(772), Column: int(28), }, End: ast.Location{ - Line: int(752), + Line: int(772), Column: int(29), }, }, @@ -105284,7 +107323,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8028, + Ctx: p8171, FreeVars: ast.Identifiers{ "codes", "i", @@ -105293,11 +107332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(752), + Line: int(772), Column: int(22), }, End: ast.Location{ - Line: int(752), + Line: int(772), Column: int(30), }, }, @@ -105311,11 +107350,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(752), + Line: int(772), Column: int(15), }, End: ast.Location{ - Line: int(752), + Line: int(772), Column: int(30), }, }, @@ -105329,17 +107368,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(753), + Line: int(773), Column: int(30), }, End: ast.Location{ - Line: int(753), + Line: int(773), Column: int(38), }, }, @@ -105360,11 +107399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(753), + Line: int(773), Column: int(12), }, End: ast.Location{ - Line: int(753), + Line: int(773), Column: int(15), }, }, @@ -105398,7 +107437,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "std", }, @@ -105406,11 +107445,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(753), + Line: int(773), Column: int(12), }, End: ast.Location{ - Line: int(753), + Line: int(773), Column: int(20), }, }, @@ -105424,7 +107463,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8044, + Ctx: p8187, FreeVars: ast.Identifiers{ "code", }, @@ -105432,11 +107471,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(753), + Line: int(773), Column: int(21), }, End: ast.Location{ - Line: int(753), + Line: int(773), Column: int(25), }, }, @@ -105451,7 +107490,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "std", @@ -105460,11 +107499,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(753), + Line: int(773), Column: int(12), }, End: ast.Location{ - Line: int(753), + Line: int(773), Column: int(26), }, }, @@ -105475,7 +107514,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "std", @@ -105484,11 +107523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(753), + Line: int(773), Column: int(12), }, End: ast.Location{ - Line: int(753), + Line: int(773), Column: int(38), }, }, @@ -105507,7 +107546,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "format_codes_obj", }, @@ -105515,11 +107554,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(11), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(27), }, }, @@ -105533,7 +107572,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8054, + Ctx: p8197, FreeVars: ast.Identifiers{ "codes", }, @@ -105541,11 +107580,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(28), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(33), }, }, @@ -105558,7 +107597,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "obj", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8054, + Ctx: p8197, FreeVars: ast.Identifiers{ "obj", }, @@ -105566,11 +107605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(35), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(38), }, }, @@ -105584,17 +107623,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8054, + Ctx: p8197, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(44), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(45), }, }, @@ -105604,7 +107643,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8054, + Ctx: p8197, FreeVars: ast.Identifiers{ "i", }, @@ -105612,11 +107651,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(40), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(41), }, }, @@ -105625,7 +107664,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8054, + Ctx: p8197, FreeVars: ast.Identifiers{ "i", }, @@ -105633,11 +107672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(40), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(45), }, }, @@ -105652,7 +107691,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8054, + Ctx: p8197, FreeVars: ast.Identifiers{ "code", }, @@ -105660,11 +107699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(51), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(55), }, }, @@ -105674,7 +107713,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8054, + Ctx: p8197, FreeVars: ast.Identifiers{ "v", }, @@ -105682,11 +107721,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(47), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(48), }, }, @@ -105695,7 +107734,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8054, + Ctx: p8197, FreeVars: ast.Identifiers{ "code", "v", @@ -105704,11 +107743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(47), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(55), }, }, @@ -105724,7 +107763,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "codes", @@ -105737,11 +107776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(754), + Line: int(774), Column: int(11), }, End: ast.Location{ - Line: int(754), + Line: int(774), Column: int(56), }, }, @@ -105758,17 +107797,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8075, + Ctx: p8218, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(757), + Line: int(777), Column: int(29), }, End: ast.Location{ - Line: int(757), + Line: int(777), Column: int(33), }, }, @@ -105787,11 +107826,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(757), + Line: int(777), Column: int(16), }, End: ast.Location{ - Line: int(757), + Line: int(777), Column: int(20), }, }, @@ -105825,7 +107864,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8075, + Ctx: p8218, FreeVars: ast.Identifiers{ "code", }, @@ -105833,11 +107872,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(757), + Line: int(777), Column: int(16), }, End: ast.Location{ - Line: int(757), + Line: int(777), Column: int(25), }, }, @@ -105846,7 +107885,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8075, + Ctx: p8218, FreeVars: ast.Identifiers{ "code", }, @@ -105854,11 +107893,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(757), + Line: int(777), Column: int(16), }, End: ast.Location{ - Line: int(757), + Line: int(777), Column: int(33), }, }, @@ -105872,17 +107911,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8075, + Ctx: p8218, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(758), + Line: int(778), Column: int(21), }, End: ast.Location{ - Line: int(758), + Line: int(778), Column: int(45), }, }, @@ -105898,17 +107937,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8075, + Ctx: p8218, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(758), + Line: int(778), Column: int(15), }, End: ast.Location{ - Line: int(758), + Line: int(778), Column: int(45), }, }, @@ -105934,11 +107973,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(760), + Line: int(780), Column: int(15), }, End: ast.Location{ - Line: int(760), + Line: int(780), Column: int(19), }, }, @@ -105972,7 +108011,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8075, + Ctx: p8218, FreeVars: ast.Identifiers{ "code", }, @@ -105980,11 +108019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(760), + Line: int(780), Column: int(15), }, End: ast.Location{ - Line: int(760), + Line: int(780), Column: int(24), }, }, @@ -106008,7 +108047,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p8075, + Ctx: p8218, FreeVars: ast.Identifiers{ "code", }, @@ -106016,11 +108055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(757), + Line: int(777), Column: int(13), }, End: ast.Location{ - Line: int(760), + Line: int(780), Column: int(24), }, }, @@ -106034,11 +108073,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(756), + Line: int(776), Column: int(17), }, End: ast.Location{ - Line: int(760), + Line: int(780), Column: int(24), }, }, @@ -106056,17 +108095,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8099, + Ctx: p8242, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(762), + Line: int(782), Column: int(27), }, End: ast.Location{ - Line: int(762), + Line: int(782), Column: int(30), }, }, @@ -106086,11 +108125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(762), + Line: int(782), Column: int(16), }, End: ast.Location{ - Line: int(762), + Line: int(782), Column: int(20), }, }, @@ -106124,7 +108163,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8099, + Ctx: p8242, FreeVars: ast.Identifiers{ "code", }, @@ -106132,11 +108171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(762), + Line: int(782), Column: int(16), }, End: ast.Location{ - Line: int(762), + Line: int(782), Column: int(23), }, }, @@ -106145,7 +108184,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8099, + Ctx: p8242, FreeVars: ast.Identifiers{ "code", }, @@ -106153,11 +108192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(762), + Line: int(782), Column: int(16), }, End: ast.Location{ - Line: int(762), + Line: int(782), Column: int(30), }, }, @@ -106171,17 +108210,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8099, + Ctx: p8242, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(763), + Line: int(783), Column: int(21), }, End: ast.Location{ - Line: int(763), + Line: int(783), Column: int(60), }, }, @@ -106197,17 +108236,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8099, + Ctx: p8242, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(763), + Line: int(783), Column: int(15), }, End: ast.Location{ - Line: int(763), + Line: int(783), Column: int(60), }, }, @@ -106233,11 +108272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(765), + Line: int(785), Column: int(15), }, End: ast.Location{ - Line: int(765), + Line: int(785), Column: int(19), }, }, @@ -106271,7 +108310,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8099, + Ctx: p8242, FreeVars: ast.Identifiers{ "code", }, @@ -106279,11 +108318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(765), + Line: int(785), Column: int(15), }, End: ast.Location{ - Line: int(765), + Line: int(785), Column: int(22), }, }, @@ -106307,7 +108346,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p8099, + Ctx: p8242, FreeVars: ast.Identifiers{ "code", }, @@ -106315,11 +108354,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(762), + Line: int(782), Column: int(13), }, End: ast.Location{ - Line: int(765), + Line: int(785), Column: int(22), }, }, @@ -106333,11 +108372,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(761), + Line: int(781), Column: int(17), }, End: ast.Location{ - Line: int(765), + Line: int(785), Column: int(22), }, }, @@ -106355,17 +108394,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8123, + Ctx: p8266, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(767), + Line: int(787), Column: int(29), }, End: ast.Location{ - Line: int(767), + Line: int(787), Column: int(32), }, }, @@ -106385,11 +108424,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(767), + Line: int(787), Column: int(16), }, End: ast.Location{ - Line: int(767), + Line: int(787), Column: int(20), }, }, @@ -106423,7 +108462,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8123, + Ctx: p8266, FreeVars: ast.Identifiers{ "code", }, @@ -106431,11 +108470,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(767), + Line: int(787), Column: int(16), }, End: ast.Location{ - Line: int(767), + Line: int(787), Column: int(25), }, }, @@ -106444,7 +108483,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8123, + Ctx: p8266, FreeVars: ast.Identifiers{ "code", }, @@ -106452,11 +108491,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(767), + Line: int(787), Column: int(16), }, End: ast.Location{ - Line: int(767), + Line: int(787), Column: int(32), }, }, @@ -106470,17 +108509,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8123, + Ctx: p8266, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(768), + Line: int(788), Column: int(21), }, End: ast.Location{ - Line: int(768), + Line: int(788), Column: int(58), }, }, @@ -106496,17 +108535,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8123, + Ctx: p8266, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(768), + Line: int(788), Column: int(15), }, End: ast.Location{ - Line: int(768), + Line: int(788), Column: int(58), }, }, @@ -106532,11 +108571,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(770), + Line: int(790), Column: int(15), }, End: ast.Location{ - Line: int(770), + Line: int(790), Column: int(19), }, }, @@ -106570,7 +108609,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8123, + Ctx: p8266, FreeVars: ast.Identifiers{ "code", }, @@ -106578,11 +108617,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(770), + Line: int(790), Column: int(15), }, End: ast.Location{ - Line: int(770), + Line: int(790), Column: int(24), }, }, @@ -106606,7 +108645,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p8123, + Ctx: p8266, FreeVars: ast.Identifiers{ "code", }, @@ -106614,11 +108653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(767), + Line: int(787), Column: int(13), }, End: ast.Location{ - Line: int(770), + Line: int(790), Column: int(24), }, }, @@ -106632,11 +108671,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(766), + Line: int(786), Column: int(17), }, End: ast.Location{ - Line: int(770), + Line: int(790), Column: int(24), }, }, @@ -106661,11 +108700,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(772), + Line: int(792), Column: int(16), }, End: ast.Location{ - Line: int(772), + Line: int(792), Column: int(19), }, }, @@ -106699,7 +108738,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "std", }, @@ -106707,11 +108746,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(772), + Line: int(792), Column: int(16), }, End: ast.Location{ - Line: int(772), + Line: int(792), Column: int(32), }, }, @@ -106725,7 +108764,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "obj", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8154, + Ctx: p8297, FreeVars: ast.Identifiers{ "obj", }, @@ -106733,11 +108772,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(772), + Line: int(792), Column: int(33), }, End: ast.Location{ - Line: int(772), + Line: int(792), Column: int(36), }, }, @@ -106750,7 +108789,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8154, + Ctx: p8297, FreeVars: ast.Identifiers{ "f", }, @@ -106758,11 +108797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(772), + Line: int(792), Column: int(38), }, End: ast.Location{ - Line: int(772), + Line: int(792), Column: int(39), }, }, @@ -106777,7 +108816,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "f", "obj", @@ -106787,11 +108826,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(772), + Line: int(792), Column: int(16), }, End: ast.Location{ - Line: int(772), + Line: int(792), Column: int(40), }, }, @@ -106811,7 +108850,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "obj", }, @@ -106819,11 +108858,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(773), + Line: int(793), Column: int(15), }, End: ast.Location{ - Line: int(773), + Line: int(793), Column: int(18), }, }, @@ -106833,7 +108872,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "f", }, @@ -106841,11 +108880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(773), + Line: int(793), Column: int(19), }, End: ast.Location{ - Line: int(773), + Line: int(793), Column: int(20), }, }, @@ -106856,7 +108895,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "f", "obj", @@ -106865,11 +108904,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(773), + Line: int(793), Column: int(15), }, End: ast.Location{ - Line: int(773), + Line: int(793), Column: int(21), }, }, @@ -106881,7 +108920,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "f", }, @@ -106889,11 +108928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(775), + Line: int(795), Column: int(41), }, End: ast.Location{ - Line: int(775), + Line: int(795), Column: int(42), }, }, @@ -106905,17 +108944,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(775), + Line: int(795), Column: int(21), }, End: ast.Location{ - Line: int(775), + Line: int(795), Column: int(38), }, }, @@ -106925,7 +108964,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "f", }, @@ -106933,11 +108972,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(775), + Line: int(795), Column: int(21), }, End: ast.Location{ - Line: int(775), + Line: int(795), Column: int(42), }, }, @@ -106953,7 +108992,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "f", }, @@ -106961,11 +109000,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(775), + Line: int(795), Column: int(15), }, End: ast.Location{ - Line: int(775), + Line: int(795), Column: int(42), }, }, @@ -106989,7 +109028,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p8150, + Ctx: p8293, FreeVars: ast.Identifiers{ "f", "obj", @@ -106999,11 +109038,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(772), + Line: int(792), Column: int(13), }, End: ast.Location{ - Line: int(775), + Line: int(795), Column: int(42), }, }, @@ -107017,11 +109056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(771), + Line: int(791), Column: int(17), }, End: ast.Location{ - Line: int(775), + Line: int(795), Column: int(42), }, }, @@ -107039,17 +109078,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8182, + Ctx: p8325, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(777), + Line: int(797), Column: int(30), }, End: ast.Location{ - Line: int(777), + Line: int(797), Column: int(33), }, }, @@ -107069,11 +109108,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(777), + Line: int(797), Column: int(16), }, End: ast.Location{ - Line: int(777), + Line: int(797), Column: int(20), }, }, @@ -107107,7 +109146,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8182, + Ctx: p8325, FreeVars: ast.Identifiers{ "code", }, @@ -107115,11 +109154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(777), + Line: int(797), Column: int(16), }, End: ast.Location{ - Line: int(777), + Line: int(797), Column: int(26), }, }, @@ -107128,7 +109167,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8182, + Ctx: p8325, FreeVars: ast.Identifiers{ "code", }, @@ -107136,11 +109175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(777), + Line: int(797), Column: int(16), }, End: ast.Location{ - Line: int(777), + Line: int(797), Column: int(33), }, }, @@ -107160,17 +109199,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8182, + Ctx: p8325, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(778), + Line: int(798), Column: int(15), }, End: ast.Location{ - Line: int(778), + Line: int(798), Column: int(18), }, }, @@ -107189,7 +109228,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8182, + Ctx: p8325, FreeVars: ast.Identifiers{ "format_code", }, @@ -107197,11 +109236,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(780), + Line: int(800), Column: int(15), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(26), }, }, @@ -107215,7 +109254,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "val", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8197, + Ctx: p8340, FreeVars: ast.Identifiers{ "val", }, @@ -107223,11 +109262,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(780), + Line: int(800), Column: int(27), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(30), }, }, @@ -107240,7 +109279,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8197, + Ctx: p8340, FreeVars: ast.Identifiers{ "code", }, @@ -107248,11 +109287,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(780), + Line: int(800), Column: int(32), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(36), }, }, @@ -107265,7 +109304,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fw", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8197, + Ctx: p8340, FreeVars: ast.Identifiers{ "fw", }, @@ -107273,11 +109312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(780), + Line: int(800), Column: int(38), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(40), }, }, @@ -107290,7 +109329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prec", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8197, + Ctx: p8340, FreeVars: ast.Identifiers{ "prec", }, @@ -107298,11 +109337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(780), + Line: int(800), Column: int(42), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(46), }, }, @@ -107315,7 +109354,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8197, + Ctx: p8340, FreeVars: ast.Identifiers{ "f", }, @@ -107323,11 +109362,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(780), + Line: int(800), Column: int(48), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(49), }, }, @@ -107342,7 +109381,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8182, + Ctx: p8325, FreeVars: ast.Identifiers{ "code", "f", @@ -107355,11 +109394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(780), + Line: int(800), Column: int(15), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(50), }, }, @@ -107385,7 +109424,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p8182, + Ctx: p8325, FreeVars: ast.Identifiers{ "code", "f", @@ -107398,11 +109437,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(777), + Line: int(797), Column: int(13), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(50), }, }, @@ -107416,11 +109455,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(776), + Line: int(796), Column: int(17), }, End: ast.Location{ - Line: int(780), + Line: int(800), Column: int(50), }, }, @@ -107445,11 +109484,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(782), + Line: int(802), Column: int(16), }, End: ast.Location{ - Line: int(782), + Line: int(802), Column: int(20), }, }, @@ -107491,11 +109530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(782), + Line: int(802), Column: int(16), }, End: ast.Location{ - Line: int(782), + Line: int(802), Column: int(27), }, }, @@ -107529,7 +109568,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8221, + Ctx: p8364, FreeVars: ast.Identifiers{ "code", }, @@ -107537,11 +109576,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(782), + Line: int(802), Column: int(16), }, End: ast.Location{ - Line: int(782), + Line: int(802), Column: int(32), }, }, @@ -107559,7 +109598,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8221, + Ctx: p8364, FreeVars: ast.Identifiers{ "pad_right", }, @@ -107567,11 +109606,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(783), + Line: int(803), Column: int(15), }, End: ast.Location{ - Line: int(783), + Line: int(803), Column: int(24), }, }, @@ -107585,7 +109624,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8229, + Ctx: p8372, FreeVars: ast.Identifiers{ "s", }, @@ -107593,11 +109632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(783), + Line: int(803), Column: int(25), }, End: ast.Location{ - Line: int(783), + Line: int(803), Column: int(26), }, }, @@ -107610,7 +109649,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fw", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8229, + Ctx: p8372, FreeVars: ast.Identifiers{ "fw", }, @@ -107618,11 +109657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(783), + Line: int(803), Column: int(28), }, End: ast.Location{ - Line: int(783), + Line: int(803), Column: int(30), }, }, @@ -107637,17 +109676,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8229, + Ctx: p8372, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(783), + Line: int(803), Column: int(32), }, End: ast.Location{ - Line: int(783), + Line: int(803), Column: int(35), }, }, @@ -107663,7 +109702,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8221, + Ctx: p8364, FreeVars: ast.Identifiers{ "fw", "pad_right", @@ -107673,11 +109712,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(783), + Line: int(803), Column: int(15), }, End: ast.Location{ - Line: int(783), + Line: int(803), Column: int(36), }, }, @@ -107697,7 +109736,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p8221, + Ctx: p8364, FreeVars: ast.Identifiers{ "pad_left", }, @@ -107705,11 +109744,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(785), + Line: int(805), Column: int(15), }, End: ast.Location{ - Line: int(785), + Line: int(805), Column: int(23), }, }, @@ -107723,7 +109762,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8241, + Ctx: p8384, FreeVars: ast.Identifiers{ "s", }, @@ -107731,11 +109770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(785), + Line: int(805), Column: int(24), }, End: ast.Location{ - Line: int(785), + Line: int(805), Column: int(25), }, }, @@ -107748,7 +109787,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fw", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8241, + Ctx: p8384, FreeVars: ast.Identifiers{ "fw", }, @@ -107756,11 +109795,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(785), + Line: int(805), Column: int(27), }, End: ast.Location{ - Line: int(785), + Line: int(805), Column: int(29), }, }, @@ -107775,17 +109814,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8241, + Ctx: p8384, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(785), + Line: int(805), Column: int(31), }, End: ast.Location{ - Line: int(785), + Line: int(805), Column: int(34), }, }, @@ -107801,7 +109840,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8221, + Ctx: p8364, FreeVars: ast.Identifiers{ "fw", "pad_left", @@ -107811,11 +109850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(785), + Line: int(805), Column: int(15), }, End: ast.Location{ - Line: int(785), + Line: int(805), Column: int(35), }, }, @@ -107841,7 +109880,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p8221, + Ctx: p8364, FreeVars: ast.Identifiers{ "code", "fw", @@ -107853,11 +109892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(782), + Line: int(802), Column: int(13), }, End: ast.Location{ - Line: int(785), + Line: int(805), Column: int(35), }, }, @@ -107871,11 +109910,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(781), + Line: int(801), Column: int(17), }, End: ast.Location{ - Line: int(785), + Line: int(805), Column: int(35), }, }, @@ -107893,7 +109932,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "format_codes_obj", }, @@ -107901,11 +109940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(27), }, }, @@ -107919,7 +109958,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8256, + Ctx: p8399, FreeVars: ast.Identifiers{ "codes", }, @@ -107927,11 +109966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(28), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(33), }, }, @@ -107944,7 +109983,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "obj", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8256, + Ctx: p8399, FreeVars: ast.Identifiers{ "obj", }, @@ -107952,11 +109991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(35), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(38), }, }, @@ -107970,17 +110009,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8256, + Ctx: p8399, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(44), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(45), }, }, @@ -107990,7 +110029,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8256, + Ctx: p8399, FreeVars: ast.Identifiers{ "i", }, @@ -107998,11 +110037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(40), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(41), }, }, @@ -108011,7 +110050,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8256, + Ctx: p8399, FreeVars: ast.Identifiers{ "i", }, @@ -108019,11 +110058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(40), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(45), }, }, @@ -108038,7 +110077,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "s_padded", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8256, + Ctx: p8399, FreeVars: ast.Identifiers{ "s_padded", }, @@ -108046,11 +110085,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(51), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(59), }, }, @@ -108060,7 +110099,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8256, + Ctx: p8399, FreeVars: ast.Identifiers{ "v", }, @@ -108068,11 +110107,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(47), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(48), }, }, @@ -108081,7 +110120,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8256, + Ctx: p8399, FreeVars: ast.Identifiers{ "s_padded", "v", @@ -108090,11 +110129,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(47), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(59), }, }, @@ -108110,7 +110149,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "codes", "format_codes_obj", @@ -108123,11 +110162,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(786), + Line: int(806), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108144,7 +110183,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "codes", @@ -108161,11 +110200,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(781), + Line: int(801), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108180,7 +110219,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "codes", @@ -108200,11 +110239,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(776), + Line: int(796), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108219,7 +110258,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "codes", @@ -108239,11 +110278,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(771), + Line: int(791), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108258,7 +110297,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "codes", @@ -108277,11 +110316,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(766), + Line: int(786), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108296,7 +110335,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "codes", @@ -108314,11 +110353,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(761), + Line: int(781), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108333,7 +110372,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "codes", @@ -108350,11 +110389,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(756), + Line: int(776), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108378,7 +110417,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "code", "codes", @@ -108395,11 +110434,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(753), + Line: int(773), Column: int(9), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108414,7 +110453,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "codes", "format_code", @@ -108430,11 +110469,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(752), + Line: int(772), Column: int(9), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108458,7 +110497,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8011, + Ctx: p8154, FreeVars: ast.Identifiers{ "codes", "format_code", @@ -108474,11 +110513,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(749), + Line: int(769), Column: int(7), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108495,11 +110534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(748), + Line: int(768), Column: int(28), }, End: ast.Location{ - Line: int(748), + Line: int(768), Column: int(33), }, }, @@ -108514,11 +110553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(748), + Line: int(768), Column: int(35), }, End: ast.Location{ - Line: int(748), + Line: int(768), Column: int(38), }, }, @@ -108533,11 +110572,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(748), + Line: int(768), Column: int(40), }, End: ast.Location{ - Line: int(748), + Line: int(768), Column: int(41), }, }, @@ -108552,11 +110591,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(748), + Line: int(768), Column: int(43), }, End: ast.Location{ - Line: int(748), + Line: int(768), Column: int(44), }, }, @@ -108564,7 +110603,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p8293, + Ctx: p8436, FreeVars: ast.Identifiers{ "format_code", "format_codes_obj", @@ -108576,11 +110615,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(748), + Line: int(768), Column: int(11), }, End: ast.Location{ - Line: int(786), + Line: int(806), Column: int(60), }, }, @@ -108620,11 +110659,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(788), + Line: int(808), Column: int(8), }, End: ast.Location{ - Line: int(788), + Line: int(808), Column: int(11), }, }, @@ -108658,7 +110697,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "std", }, @@ -108666,11 +110705,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(788), + Line: int(808), Column: int(8), }, End: ast.Location{ - Line: int(788), + Line: int(808), Column: int(19), }, }, @@ -108684,7 +110723,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "vals", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8305, + Ctx: p8448, FreeVars: ast.Identifiers{ "vals", }, @@ -108692,11 +110731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(788), + Line: int(808), Column: int(20), }, End: ast.Location{ - Line: int(788), + Line: int(808), Column: int(24), }, }, @@ -108711,7 +110750,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "std", "vals", @@ -108720,11 +110759,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(788), + Line: int(808), Column: int(8), }, End: ast.Location{ - Line: int(788), + Line: int(808), Column: int(25), }, }, @@ -108744,7 +110783,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "format_codes_arr", }, @@ -108752,11 +110791,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(789), + Line: int(809), Column: int(7), }, End: ast.Location{ - Line: int(789), + Line: int(809), Column: int(23), }, }, @@ -108770,7 +110809,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8314, + Ctx: p8457, FreeVars: ast.Identifiers{ "codes", }, @@ -108778,11 +110817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(789), + Line: int(809), Column: int(24), }, End: ast.Location{ - Line: int(789), + Line: int(809), Column: int(29), }, }, @@ -108795,7 +110834,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "vals", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8314, + Ctx: p8457, FreeVars: ast.Identifiers{ "vals", }, @@ -108803,11 +110842,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(789), + Line: int(809), Column: int(31), }, End: ast.Location{ - Line: int(789), + Line: int(809), Column: int(35), }, }, @@ -108820,17 +110859,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8314, + Ctx: p8457, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(789), + Line: int(809), Column: int(37), }, End: ast.Location{ - Line: int(789), + Line: int(809), Column: int(38), }, }, @@ -108843,17 +110882,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8314, + Ctx: p8457, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(789), + Line: int(809), Column: int(40), }, End: ast.Location{ - Line: int(789), + Line: int(809), Column: int(41), }, }, @@ -108868,17 +110907,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8314, + Ctx: p8457, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(789), + Line: int(809), Column: int(43), }, End: ast.Location{ - Line: int(789), + Line: int(809), Column: int(45), }, }, @@ -108894,7 +110933,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "format_codes_arr", @@ -108904,11 +110943,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(789), + Line: int(809), Column: int(7), }, End: ast.Location{ - Line: int(789), + Line: int(809), Column: int(46), }, }, @@ -108931,11 +110970,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(790), + Line: int(810), Column: int(13), }, End: ast.Location{ - Line: int(790), + Line: int(810), Column: int(16), }, }, @@ -108969,7 +111008,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "std", }, @@ -108977,11 +111016,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(790), + Line: int(810), Column: int(13), }, End: ast.Location{ - Line: int(790), + Line: int(810), Column: int(25), }, }, @@ -108995,7 +111034,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "vals", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8331, + Ctx: p8474, FreeVars: ast.Identifiers{ "vals", }, @@ -109003,11 +111042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(790), + Line: int(810), Column: int(26), }, End: ast.Location{ - Line: int(790), + Line: int(810), Column: int(30), }, }, @@ -109022,7 +111061,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "std", "vals", @@ -109031,11 +111070,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(790), + Line: int(810), Column: int(13), }, End: ast.Location{ - Line: int(790), + Line: int(810), Column: int(31), }, }, @@ -109055,7 +111094,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "format_codes_obj", }, @@ -109063,11 +111102,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(791), + Line: int(811), Column: int(7), }, End: ast.Location{ - Line: int(791), + Line: int(811), Column: int(23), }, }, @@ -109081,7 +111120,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8340, + Ctx: p8483, FreeVars: ast.Identifiers{ "codes", }, @@ -109089,11 +111128,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(791), + Line: int(811), Column: int(24), }, End: ast.Location{ - Line: int(791), + Line: int(811), Column: int(29), }, }, @@ -109106,7 +111145,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "vals", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8340, + Ctx: p8483, FreeVars: ast.Identifiers{ "vals", }, @@ -109114,11 +111153,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(791), + Line: int(811), Column: int(31), }, End: ast.Location{ - Line: int(791), + Line: int(811), Column: int(35), }, }, @@ -109131,17 +111170,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8340, + Ctx: p8483, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(791), + Line: int(811), Column: int(37), }, End: ast.Location{ - Line: int(791), + Line: int(811), Column: int(38), }, }, @@ -109156,17 +111195,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8340, + Ctx: p8483, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(791), + Line: int(811), Column: int(40), }, End: ast.Location{ - Line: int(791), + Line: int(811), Column: int(42), }, }, @@ -109182,7 +111221,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "format_codes_obj", @@ -109192,11 +111231,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(791), + Line: int(811), Column: int(7), }, End: ast.Location{ - Line: int(791), + Line: int(811), Column: int(43), }, }, @@ -109216,7 +111255,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "format_codes_arr", }, @@ -109224,11 +111263,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(793), + Line: int(813), Column: int(7), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(23), }, }, @@ -109242,7 +111281,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "codes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8353, + Ctx: p8496, FreeVars: ast.Identifiers{ "codes", }, @@ -109250,11 +111289,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(793), + Line: int(813), Column: int(24), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(29), }, }, @@ -109270,7 +111309,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "vals", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8358, + Ctx: p8501, FreeVars: ast.Identifiers{ "vals", }, @@ -109278,11 +111317,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(793), + Line: int(813), Column: int(32), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(36), }, }, @@ -109294,7 +111333,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8353, + Ctx: p8496, FreeVars: ast.Identifiers{ "vals", }, @@ -109302,11 +111341,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(793), + Line: int(813), Column: int(31), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(37), }, }, @@ -109320,17 +111359,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8353, + Ctx: p8496, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(793), + Line: int(813), Column: int(39), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(40), }, }, @@ -109343,17 +111382,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8353, + Ctx: p8496, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(793), + Line: int(813), Column: int(42), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(43), }, }, @@ -109368,17 +111407,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8353, + Ctx: p8496, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(793), + Line: int(813), Column: int(45), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(47), }, }, @@ -109394,7 +111433,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "format_codes_arr", @@ -109404,11 +111443,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(793), + Line: int(813), Column: int(7), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109427,7 +111466,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "format_codes_arr", @@ -109439,11 +111478,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(790), + Line: int(810), Column: int(10), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109467,7 +111506,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "format_codes_arr", @@ -109479,11 +111518,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(788), + Line: int(808), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109506,7 +111545,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "format_code", @@ -109520,11 +111559,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(748), + Line: int(768), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109547,7 +111586,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "format_code", @@ -109560,11 +111599,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(693), + Line: int(713), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109587,7 +111626,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "pad_left", @@ -109603,11 +111642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(598), + Line: int(618), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109630,7 +111669,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "codes", "pad_left", @@ -109645,11 +111684,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(584), + Line: int(604), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109672,7 +111711,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "codes", @@ -109688,11 +111727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(560), + Line: int(580), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109707,7 +111746,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "codes", @@ -109722,11 +111761,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(548), + Line: int(568), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109749,7 +111788,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "codes", @@ -109763,11 +111802,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(529), + Line: int(549), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109886,7 +111925,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "codes", @@ -109899,11 +111938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(511), + Line: int(531), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109926,7 +111965,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "codes", @@ -109939,11 +111978,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(495), + Line: int(515), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -109966,7 +112005,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "codes", @@ -109978,11 +112017,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(491), + Line: int(511), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110029,7 +112068,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "codes", @@ -110040,11 +112079,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(482), + Line: int(502), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110059,7 +112098,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "parse_codes", @@ -110071,11 +112110,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(474), + Line: int(494), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110098,7 +112137,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "parse_code", @@ -110110,11 +112149,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(463), + Line: int(483), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110137,7 +112176,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "parse_conv_type", @@ -110154,11 +112193,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(442), + Line: int(462), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110173,7 +112212,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "std", @@ -110189,11 +112228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(408), + Line: int(428), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110216,7 +112255,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "std", @@ -110231,11 +112270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(400), + Line: int(420), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110250,7 +112289,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "std", @@ -110264,11 +112303,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(391), + Line: int(411), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110283,7 +112322,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "std", @@ -110296,11 +112335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(360), + Line: int(380), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110315,7 +112354,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "std", @@ -110327,11 +112366,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(342), + Line: int(362), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110370,7 +112409,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8301, + Ctx: p8444, FreeVars: ast.Identifiers{ "$std", "std", @@ -110381,11 +112420,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(325), + Line: int(345), Column: int(5), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110402,11 +112441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(319), + Line: int(339), Column: int(10), }, End: ast.Location{ - Line: int(319), + Line: int(339), Column: int(13), }, }, @@ -110421,11 +112460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(319), + Line: int(339), Column: int(15), }, End: ast.Location{ - Line: int(319), + Line: int(339), Column: int(19), }, }, @@ -110457,11 +112496,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(319), + Line: int(339), Column: int(3), }, End: ast.Location{ - Line: int(793), + Line: int(813), Column: int(48), }, }, @@ -110508,17 +112547,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8451, + Ctx: p8594, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(797), + Line: int(817), Column: int(16), }, End: ast.Location{ - Line: int(797), + Line: int(817), Column: int(17), }, }, @@ -110528,7 +112567,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8451, + Ctx: p8594, FreeVars: ast.Identifiers{ "idx", }, @@ -110536,11 +112575,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(797), + Line: int(817), Column: int(10), }, End: ast.Location{ - Line: int(797), + Line: int(817), Column: int(13), }, }, @@ -110549,7 +112588,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8451, + Ctx: p8594, FreeVars: ast.Identifiers{ "idx", }, @@ -110557,11 +112596,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(797), + Line: int(817), Column: int(10), }, End: ast.Location{ - Line: int(797), + Line: int(817), Column: int(17), }, }, @@ -110579,7 +112618,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8451, + Ctx: p8594, FreeVars: ast.Identifiers{ "running", }, @@ -110587,11 +112626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(798), + Line: int(818), Column: int(9), }, End: ast.Location{ - Line: int(798), + Line: int(818), Column: int(16), }, }, @@ -110609,7 +112648,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8451, + Ctx: p8594, FreeVars: ast.Identifiers{ "aux", }, @@ -110617,11 +112656,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(9), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(12), }, }, @@ -110635,7 +112674,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8464, + Ctx: p8607, FreeVars: ast.Identifiers{ "func", }, @@ -110643,11 +112682,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(13), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(17), }, }, @@ -110660,7 +112699,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8464, + Ctx: p8607, FreeVars: ast.Identifiers{ "arr", }, @@ -110668,11 +112707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(19), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(22), }, }, @@ -110686,7 +112725,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8464, + Ctx: p8607, FreeVars: ast.Identifiers{ "func", }, @@ -110694,11 +112733,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(24), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(28), }, }, @@ -110713,7 +112752,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8474, + Ctx: p8617, FreeVars: ast.Identifiers{ "arr", }, @@ -110721,11 +112760,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(29), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(32), }, }, @@ -110735,7 +112774,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8474, + Ctx: p8617, FreeVars: ast.Identifiers{ "idx", }, @@ -110743,11 +112782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(33), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(36), }, }, @@ -110758,7 +112797,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8474, + Ctx: p8617, FreeVars: ast.Identifiers{ "arr", "idx", @@ -110767,11 +112806,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(29), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(37), }, }, @@ -110784,7 +112823,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "running", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8474, + Ctx: p8617, FreeVars: ast.Identifiers{ "running", }, @@ -110792,11 +112831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(39), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(46), }, }, @@ -110811,7 +112850,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8464, + Ctx: p8607, FreeVars: ast.Identifiers{ "arr", "func", @@ -110822,11 +112861,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(24), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(47), }, }, @@ -110842,17 +112881,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8464, + Ctx: p8607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(55), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(56), }, }, @@ -110862,7 +112901,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8464, + Ctx: p8607, FreeVars: ast.Identifiers{ "idx", }, @@ -110870,11 +112909,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(49), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(52), }, }, @@ -110883,7 +112922,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8464, + Ctx: p8607, FreeVars: ast.Identifiers{ "idx", }, @@ -110891,11 +112930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(49), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(56), }, }, @@ -110911,7 +112950,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8451, + Ctx: p8594, FreeVars: ast.Identifiers{ "arr", "aux", @@ -110923,11 +112962,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(800), + Line: int(820), Column: int(9), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(57), }, }, @@ -110953,7 +112992,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8451, + Ctx: p8594, FreeVars: ast.Identifiers{ "arr", "aux", @@ -110965,11 +113004,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(797), + Line: int(817), Column: int(7), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(57), }, }, @@ -110986,11 +113025,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(796), + Line: int(816), Column: int(15), }, End: ast.Location{ - Line: int(796), + Line: int(816), Column: int(19), }, }, @@ -111005,11 +113044,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(796), + Line: int(816), Column: int(21), }, End: ast.Location{ - Line: int(796), + Line: int(816), Column: int(24), }, }, @@ -111024,11 +113063,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(796), + Line: int(816), Column: int(26), }, End: ast.Location{ - Line: int(796), + Line: int(816), Column: int(33), }, }, @@ -111043,11 +113082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(796), + Line: int(816), Column: int(35), }, End: ast.Location{ - Line: int(796), + Line: int(816), Column: int(38), }, }, @@ -111055,7 +113094,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p8492, + Ctx: p8635, FreeVars: ast.Identifiers{ "aux", }, @@ -111063,11 +113102,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(796), + Line: int(816), Column: int(11), }, End: ast.Location{ - Line: int(800), + Line: int(820), Column: int(57), }, }, @@ -111104,7 +113143,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8497, + Ctx: p8640, FreeVars: ast.Identifiers{ "aux", }, @@ -111112,11 +113151,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(5), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(8), }, }, @@ -111130,7 +113169,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8501, + Ctx: p8644, FreeVars: ast.Identifiers{ "func", }, @@ -111138,11 +113177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(9), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(13), }, }, @@ -111155,7 +113194,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8501, + Ctx: p8644, FreeVars: ast.Identifiers{ "arr", }, @@ -111163,11 +113202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(15), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(18), }, }, @@ -111180,7 +113219,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "init", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8501, + Ctx: p8644, FreeVars: ast.Identifiers{ "init", }, @@ -111188,11 +113227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(20), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(24), }, }, @@ -111206,17 +113245,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8501, + Ctx: p8644, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(44), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(45), }, }, @@ -111236,11 +113275,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(26), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(29), }, }, @@ -111274,7 +113313,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8501, + Ctx: p8644, FreeVars: ast.Identifiers{ "std", }, @@ -111282,11 +113321,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(26), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(36), }, }, @@ -111300,7 +113339,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8517, + Ctx: p8660, FreeVars: ast.Identifiers{ "arr", }, @@ -111308,11 +113347,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(37), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(40), }, }, @@ -111327,7 +113366,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8501, + Ctx: p8644, FreeVars: ast.Identifiers{ "arr", "std", @@ -111336,11 +113375,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(26), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(41), }, }, @@ -111351,7 +113390,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8501, + Ctx: p8644, FreeVars: ast.Identifiers{ "arr", "std", @@ -111360,11 +113399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(26), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(45), }, }, @@ -111380,7 +113419,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8497, + Ctx: p8640, FreeVars: ast.Identifiers{ "arr", "aux", @@ -111392,11 +113431,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(801), + Line: int(821), Column: int(5), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(46), }, }, @@ -111413,7 +113452,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8497, + Ctx: p8640, FreeVars: ast.Identifiers{ "arr", "func", @@ -111424,11 +113463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(796), + Line: int(816), Column: int(5), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(46), }, }, @@ -111445,11 +113484,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(795), + Line: int(815), Column: int(9), }, End: ast.Location{ - Line: int(795), + Line: int(815), Column: int(13), }, }, @@ -111464,11 +113503,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(795), + Line: int(815), Column: int(15), }, End: ast.Location{ - Line: int(795), + Line: int(815), Column: int(18), }, }, @@ -111483,11 +113522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(795), + Line: int(815), Column: int(20), }, End: ast.Location{ - Line: int(795), + Line: int(815), Column: int(24), }, }, @@ -111518,11 +113557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(795), + Line: int(815), Column: int(3), }, End: ast.Location{ - Line: int(801), + Line: int(821), Column: int(46), }, }, @@ -111579,11 +113618,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(805), + Line: int(825), Column: int(17), }, End: ast.Location{ - Line: int(805), + Line: int(825), Column: int(20), }, }, @@ -111617,7 +113656,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8538, + Ctx: p8681, FreeVars: ast.Identifiers{ "std", }, @@ -111625,11 +113664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(805), + Line: int(825), Column: int(17), }, End: ast.Location{ - Line: int(805), + Line: int(825), Column: int(27), }, }, @@ -111643,7 +113682,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8542, + Ctx: p8685, FreeVars: ast.Identifiers{ "arr", }, @@ -111651,11 +113690,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(805), + Line: int(825), Column: int(28), }, End: ast.Location{ - Line: int(805), + Line: int(825), Column: int(31), }, }, @@ -111670,7 +113709,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8538, + Ctx: p8681, FreeVars: ast.Identifiers{ "arr", "std", @@ -111679,11 +113718,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(805), + Line: int(825), Column: int(17), }, End: ast.Location{ - Line: int(805), + Line: int(825), Column: int(32), }, }, @@ -111695,7 +113734,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8538, + Ctx: p8681, FreeVars: ast.Identifiers{ "idx", }, @@ -111703,11 +113742,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(805), + Line: int(825), Column: int(10), }, End: ast.Location{ - Line: int(805), + Line: int(825), Column: int(13), }, }, @@ -111716,7 +113755,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8538, + Ctx: p8681, FreeVars: ast.Identifiers{ "arr", "idx", @@ -111726,11 +113765,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(805), + Line: int(825), Column: int(10), }, End: ast.Location{ - Line: int(805), + Line: int(825), Column: int(32), }, }, @@ -111748,7 +113787,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8538, + Ctx: p8681, FreeVars: ast.Identifiers{ "running", }, @@ -111756,11 +113795,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(806), + Line: int(826), Column: int(9), }, End: ast.Location{ - Line: int(806), + Line: int(826), Column: int(16), }, }, @@ -111778,7 +113817,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8538, + Ctx: p8681, FreeVars: ast.Identifiers{ "aux", }, @@ -111786,11 +113825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(9), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(12), }, }, @@ -111804,7 +113843,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8557, + Ctx: p8700, FreeVars: ast.Identifiers{ "func", }, @@ -111812,11 +113851,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(13), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(17), }, }, @@ -111829,7 +113868,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8557, + Ctx: p8700, FreeVars: ast.Identifiers{ "arr", }, @@ -111837,11 +113876,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(19), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(22), }, }, @@ -111855,7 +113894,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8557, + Ctx: p8700, FreeVars: ast.Identifiers{ "func", }, @@ -111863,11 +113902,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(24), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(28), }, }, @@ -111881,7 +113920,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "running", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8566, + Ctx: p8709, FreeVars: ast.Identifiers{ "running", }, @@ -111889,11 +113928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(29), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(36), }, }, @@ -111907,7 +113946,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8566, + Ctx: p8709, FreeVars: ast.Identifiers{ "arr", }, @@ -111915,11 +113954,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(38), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(41), }, }, @@ -111929,7 +113968,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8566, + Ctx: p8709, FreeVars: ast.Identifiers{ "idx", }, @@ -111937,11 +113976,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(42), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(45), }, }, @@ -111952,7 +113991,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8566, + Ctx: p8709, FreeVars: ast.Identifiers{ "arr", "idx", @@ -111961,11 +114000,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(38), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(46), }, }, @@ -111980,7 +114019,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8557, + Ctx: p8700, FreeVars: ast.Identifiers{ "arr", "func", @@ -111991,11 +114030,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(24), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(47), }, }, @@ -112011,17 +114050,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8557, + Ctx: p8700, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(55), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(56), }, }, @@ -112031,7 +114070,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8557, + Ctx: p8700, FreeVars: ast.Identifiers{ "idx", }, @@ -112039,11 +114078,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(49), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(52), }, }, @@ -112052,7 +114091,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8557, + Ctx: p8700, FreeVars: ast.Identifiers{ "idx", }, @@ -112060,11 +114099,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(49), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(56), }, }, @@ -112080,7 +114119,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8538, + Ctx: p8681, FreeVars: ast.Identifiers{ "arr", "aux", @@ -112092,11 +114131,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(808), + Line: int(828), Column: int(9), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(57), }, }, @@ -112122,7 +114161,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8538, + Ctx: p8681, FreeVars: ast.Identifiers{ "arr", "aux", @@ -112135,11 +114174,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(805), + Line: int(825), Column: int(7), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(57), }, }, @@ -112156,11 +114195,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(804), + Line: int(824), Column: int(15), }, End: ast.Location{ - Line: int(804), + Line: int(824), Column: int(19), }, }, @@ -112175,11 +114214,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(804), + Line: int(824), Column: int(21), }, End: ast.Location{ - Line: int(804), + Line: int(824), Column: int(24), }, }, @@ -112194,11 +114233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(804), + Line: int(824), Column: int(26), }, End: ast.Location{ - Line: int(804), + Line: int(824), Column: int(33), }, }, @@ -112213,11 +114252,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(804), + Line: int(824), Column: int(35), }, End: ast.Location{ - Line: int(804), + Line: int(824), Column: int(38), }, }, @@ -112225,7 +114264,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p8585, + Ctx: p8728, FreeVars: ast.Identifiers{ "aux", "std", @@ -112234,11 +114273,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(804), + Line: int(824), Column: int(11), }, End: ast.Location{ - Line: int(808), + Line: int(828), Column: int(57), }, }, @@ -112275,7 +114314,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8590, + Ctx: p8733, FreeVars: ast.Identifiers{ "aux", }, @@ -112283,11 +114322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(809), + Line: int(829), Column: int(5), }, End: ast.Location{ - Line: int(809), + Line: int(829), Column: int(8), }, }, @@ -112301,7 +114340,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8594, + Ctx: p8737, FreeVars: ast.Identifiers{ "func", }, @@ -112309,11 +114348,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(809), + Line: int(829), Column: int(9), }, End: ast.Location{ - Line: int(809), + Line: int(829), Column: int(13), }, }, @@ -112326,7 +114365,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8594, + Ctx: p8737, FreeVars: ast.Identifiers{ "arr", }, @@ -112334,11 +114373,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(809), + Line: int(829), Column: int(15), }, End: ast.Location{ - Line: int(809), + Line: int(829), Column: int(18), }, }, @@ -112351,7 +114390,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "init", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8594, + Ctx: p8737, FreeVars: ast.Identifiers{ "init", }, @@ -112359,11 +114398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(809), + Line: int(829), Column: int(20), }, End: ast.Location{ - Line: int(809), + Line: int(829), Column: int(24), }, }, @@ -112376,17 +114415,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8594, + Ctx: p8737, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(809), + Line: int(829), Column: int(26), }, End: ast.Location{ - Line: int(809), + Line: int(829), Column: int(27), }, }, @@ -112401,7 +114440,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8590, + Ctx: p8733, FreeVars: ast.Identifiers{ "arr", "aux", @@ -112412,11 +114451,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(809), + Line: int(829), Column: int(5), }, End: ast.Location{ - Line: int(809), + Line: int(829), Column: int(28), }, }, @@ -112433,7 +114472,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8590, + Ctx: p8733, FreeVars: ast.Identifiers{ "arr", "func", @@ -112444,11 +114483,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(804), + Line: int(824), Column: int(5), }, End: ast.Location{ - Line: int(809), + Line: int(829), Column: int(28), }, }, @@ -112465,11 +114504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(803), + Line: int(823), Column: int(9), }, End: ast.Location{ - Line: int(803), + Line: int(823), Column: int(13), }, }, @@ -112484,11 +114523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(803), + Line: int(823), Column: int(15), }, End: ast.Location{ - Line: int(803), + Line: int(823), Column: int(18), }, }, @@ -112503,11 +114542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(803), + Line: int(823), Column: int(20), }, End: ast.Location{ - Line: int(803), + Line: int(823), Column: int(24), }, }, @@ -112538,11 +114577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(803), + Line: int(823), Column: int(3), }, End: ast.Location{ - Line: int(809), + Line: int(829), Column: int(28), }, }, @@ -112592,11 +114631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(813), + Line: int(833), Column: int(9), }, End: ast.Location{ - Line: int(813), + Line: int(833), Column: int(12), }, }, @@ -112630,7 +114669,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "std", }, @@ -112638,11 +114677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(813), + Line: int(833), Column: int(9), }, End: ast.Location{ - Line: int(813), + Line: int(833), Column: int(23), }, }, @@ -112656,7 +114695,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "filter_func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8619, + Ctx: p8762, FreeVars: ast.Identifiers{ "filter_func", }, @@ -112664,11 +114703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(813), + Line: int(833), Column: int(24), }, End: ast.Location{ - Line: int(813), + Line: int(833), Column: int(35), }, }, @@ -112683,7 +114722,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "filter_func", "std", @@ -112692,11 +114731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(813), + Line: int(833), Column: int(9), }, End: ast.Location{ - Line: int(813), + Line: int(833), Column: int(36), }, }, @@ -112706,7 +114745,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "filter_func", "std", @@ -112715,11 +114754,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(813), + Line: int(833), Column: int(8), }, End: ast.Location{ - Line: int(813), + Line: int(833), Column: int(36), }, }, @@ -112742,11 +114781,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(814), + Line: int(834), Column: int(67), }, End: ast.Location{ - Line: int(814), + Line: int(834), Column: int(70), }, }, @@ -112780,7 +114819,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "std", }, @@ -112788,11 +114827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(814), + Line: int(834), Column: int(67), }, End: ast.Location{ - Line: int(814), + Line: int(834), Column: int(75), }, }, @@ -112806,7 +114845,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "filter_func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8633, + Ctx: p8776, FreeVars: ast.Identifiers{ "filter_func", }, @@ -112814,11 +114853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(814), + Line: int(834), Column: int(76), }, End: ast.Location{ - Line: int(814), + Line: int(834), Column: int(87), }, }, @@ -112833,7 +114872,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "filter_func", "std", @@ -112842,11 +114881,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(814), + Line: int(834), Column: int(67), }, End: ast.Location{ - Line: int(814), + Line: int(834), Column: int(88), }, }, @@ -112860,17 +114899,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(814), + Line: int(834), Column: int(14), }, End: ast.Location{ - Line: int(814), + Line: int(834), Column: int(64), }, }, @@ -112880,7 +114919,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "filter_func", "std", @@ -112889,11 +114928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(814), + Line: int(834), Column: int(14), }, End: ast.Location{ - Line: int(814), + Line: int(834), Column: int(88), }, }, @@ -112909,7 +114948,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "filter_func", "std", @@ -112918,11 +114957,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(814), + Line: int(834), Column: int(7), }, End: ast.Location{ - Line: int(814), + Line: int(834), Column: int(89), }, }, @@ -112944,11 +114983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(815), + Line: int(835), Column: int(14), }, End: ast.Location{ - Line: int(815), + Line: int(835), Column: int(17), }, }, @@ -112982,7 +115021,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "std", }, @@ -112990,11 +115029,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(815), + Line: int(835), Column: int(14), }, End: ast.Location{ - Line: int(815), + Line: int(835), Column: int(28), }, }, @@ -113008,7 +115047,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "map_func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8650, + Ctx: p8793, FreeVars: ast.Identifiers{ "map_func", }, @@ -113016,11 +115055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(815), + Line: int(835), Column: int(29), }, End: ast.Location{ - Line: int(815), + Line: int(835), Column: int(37), }, }, @@ -113035,7 +115074,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "map_func", "std", @@ -113044,11 +115083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(815), + Line: int(835), Column: int(14), }, End: ast.Location{ - Line: int(815), + Line: int(835), Column: int(38), }, }, @@ -113058,7 +115097,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "map_func", "std", @@ -113067,11 +115106,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(815), + Line: int(835), Column: int(13), }, End: ast.Location{ - Line: int(815), + Line: int(835), Column: int(38), }, }, @@ -113094,11 +115133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(816), + Line: int(836), Column: int(68), }, End: ast.Location{ - Line: int(816), + Line: int(836), Column: int(71), }, }, @@ -113132,7 +115171,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "std", }, @@ -113140,11 +115179,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(816), + Line: int(836), Column: int(68), }, End: ast.Location{ - Line: int(816), + Line: int(836), Column: int(76), }, }, @@ -113158,7 +115197,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "map_func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8664, + Ctx: p8807, FreeVars: ast.Identifiers{ "map_func", }, @@ -113166,11 +115205,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(816), + Line: int(836), Column: int(77), }, End: ast.Location{ - Line: int(816), + Line: int(836), Column: int(85), }, }, @@ -113185,7 +115224,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "map_func", "std", @@ -113194,11 +115233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(816), + Line: int(836), Column: int(68), }, End: ast.Location{ - Line: int(816), + Line: int(836), Column: int(86), }, }, @@ -113212,17 +115251,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(816), + Line: int(836), Column: int(14), }, End: ast.Location{ - Line: int(816), + Line: int(836), Column: int(65), }, }, @@ -113232,7 +115271,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "map_func", "std", @@ -113241,11 +115280,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(816), + Line: int(836), Column: int(14), }, End: ast.Location{ - Line: int(816), + Line: int(836), Column: int(86), }, }, @@ -113261,7 +115300,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "map_func", "std", @@ -113270,11 +115309,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(816), + Line: int(836), Column: int(7), }, End: ast.Location{ - Line: int(816), + Line: int(836), Column: int(87), }, }, @@ -113296,11 +115335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(817), + Line: int(837), Column: int(14), }, End: ast.Location{ - Line: int(817), + Line: int(837), Column: int(17), }, }, @@ -113334,7 +115373,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "std", }, @@ -113342,11 +115381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(817), + Line: int(837), Column: int(14), }, End: ast.Location{ - Line: int(817), + Line: int(837), Column: int(25), }, }, @@ -113360,7 +115399,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8681, + Ctx: p8824, FreeVars: ast.Identifiers{ "arr", }, @@ -113368,11 +115407,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(817), + Line: int(837), Column: int(26), }, End: ast.Location{ - Line: int(817), + Line: int(837), Column: int(29), }, }, @@ -113387,7 +115426,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "std", @@ -113396,11 +115435,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(817), + Line: int(837), Column: int(14), }, End: ast.Location{ - Line: int(817), + Line: int(837), Column: int(30), }, }, @@ -113410,7 +115449,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "std", @@ -113419,11 +115458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(817), + Line: int(837), Column: int(13), }, End: ast.Location{ - Line: int(817), + Line: int(837), Column: int(30), }, }, @@ -113446,11 +115485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(818), + Line: int(838), Column: int(64), }, End: ast.Location{ - Line: int(818), + Line: int(838), Column: int(67), }, }, @@ -113484,7 +115523,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "std", }, @@ -113492,11 +115531,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(818), + Line: int(838), Column: int(64), }, End: ast.Location{ - Line: int(818), + Line: int(838), Column: int(72), }, }, @@ -113510,7 +115549,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8695, + Ctx: p8838, FreeVars: ast.Identifiers{ "arr", }, @@ -113518,11 +115557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(818), + Line: int(838), Column: int(73), }, End: ast.Location{ - Line: int(818), + Line: int(838), Column: int(76), }, }, @@ -113537,7 +115576,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "std", @@ -113546,11 +115585,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(818), + Line: int(838), Column: int(64), }, End: ast.Location{ - Line: int(818), + Line: int(838), Column: int(77), }, }, @@ -113564,17 +115603,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(818), + Line: int(838), Column: int(14), }, End: ast.Location{ - Line: int(818), + Line: int(838), Column: int(61), }, }, @@ -113584,7 +115623,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "std", @@ -113593,11 +115632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(818), + Line: int(838), Column: int(14), }, End: ast.Location{ - Line: int(818), + Line: int(838), Column: int(77), }, }, @@ -113613,7 +115652,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "std", @@ -113622,11 +115661,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(818), + Line: int(838), Column: int(7), }, End: ast.Location{ - Line: int(818), + Line: int(838), Column: int(78), }, }, @@ -113653,11 +115692,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(7), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(10), }, }, @@ -113691,7 +115730,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "std", }, @@ -113699,11 +115738,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(7), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(14), }, }, @@ -113717,7 +115756,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "map_func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8711, + Ctx: p8854, FreeVars: ast.Identifiers{ "map_func", }, @@ -113725,11 +115764,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(15), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(23), }, }, @@ -113752,11 +115791,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(25), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(28), }, }, @@ -113790,7 +115829,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8711, + Ctx: p8854, FreeVars: ast.Identifiers{ "std", }, @@ -113798,11 +115837,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(25), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(35), }, }, @@ -113816,7 +115855,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "filter_func", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8721, + Ctx: p8864, FreeVars: ast.Identifiers{ "filter_func", }, @@ -113824,11 +115863,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(36), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(47), }, }, @@ -113841,7 +115880,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8721, + Ctx: p8864, FreeVars: ast.Identifiers{ "arr", }, @@ -113849,11 +115888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(49), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(52), }, }, @@ -113868,7 +115907,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8711, + Ctx: p8854, FreeVars: ast.Identifiers{ "arr", "filter_func", @@ -113878,11 +115917,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(25), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(53), }, }, @@ -113899,7 +115938,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "filter_func", @@ -113910,11 +115949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(820), + Line: int(840), Column: int(7), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(54), }, }, @@ -113933,7 +115972,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "filter_func", @@ -113944,11 +115983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(817), + Line: int(837), Column: int(10), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(54), }, }, @@ -113965,7 +116004,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "filter_func", @@ -113976,11 +116015,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(815), + Line: int(835), Column: int(10), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(54), }, }, @@ -114004,7 +116043,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8615, + Ctx: p8758, FreeVars: ast.Identifiers{ "arr", "filter_func", @@ -114015,11 +116054,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(813), + Line: int(833), Column: int(5), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(54), }, }, @@ -114036,11 +116075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(812), + Line: int(832), Column: int(13), }, End: ast.Location{ - Line: int(812), + Line: int(832), Column: int(24), }, }, @@ -114055,11 +116094,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(812), + Line: int(832), Column: int(26), }, End: ast.Location{ - Line: int(812), + Line: int(832), Column: int(34), }, }, @@ -114074,11 +116113,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(812), + Line: int(832), Column: int(36), }, End: ast.Location{ - Line: int(812), + Line: int(832), Column: int(39), }, }, @@ -114109,11 +116148,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(812), + Line: int(832), Column: int(3), }, End: ast.Location{ - Line: int(820), + Line: int(840), Column: int(54), }, }, @@ -114147,724 +116186,1537 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Function{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, - Body: &ast.Conditional{ - Cond: &ast.Binary{ - Right: &ast.Var{ - Id: "b", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "b", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(823), - Column: int(13), - }, - End: ast.Location{ - Line: int(823), - Column: int(14), - }, - }, - }, - }, - Left: &ast.Var{ - Id: "a", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "a", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(823), - Column: int(8), - }, - End: ast.Location{ - Line: int(823), - Column: int(9), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "a", - "b", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(823), - Column: int(8), - }, - End: ast.Location{ - Line: int(823), - Column: int(14), - }, - }, - }, - Op: ast.BinaryOp(12), - }, - BranchTrue: &ast.LiteralBoolean{ - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - Ctx: p8741, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(824), - Column: int(7), - }, - End: ast.Location{ - Line: int(824), - Column: int(11), - }, - }, - }, - Value: true, - }, - BranchFalse: &ast.Error{ - Expr: &ast.Binary{ - Right: &ast.Var{ - Id: "b", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "b", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(826), - Column: int(49), - }, - End: ast.Location{ - Line: int(826), - Column: int(50), - }, - }, - }, - }, - Left: &ast.Binary{ - Right: &ast.LiteralString{ - Value: " != ", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(826), - Column: int(40), - }, - End: ast.Location{ - Line: int(826), - Column: int(46), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - Left: &ast.Binary{ - Right: &ast.Var{ - Id: "a", + Body: &ast.Local{ + Binds: ast.LocalBinds{ + ast.LocalBind{ + VarFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralString{ + Value: "string", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "a", - }, + Ctx: p8886, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(826), + Line: int(845), Column: int(36), }, End: ast.Location{ - Line: int(826), - Column: int(37), + Line: int(845), + Column: int(44), }, }, }, + Kind: ast.LiteralStringKind(1), }, - Left: &ast.LiteralString{ - Value: "Assertion failed. ", - BlockIndent: "", - BlockTermIndent: "", + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(845), + Column: int(21), + }, + End: ast.Location{ + Line: int(845), + Column: int(24), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8886, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(845), + Column: int(21), + }, + End: ast.Location{ + Line: int(845), + Column: int(29), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8895, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(845), + Column: int(30), + }, + End: ast.Location{ + Line: int(845), + Column: int(31), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{}, + Ctx: p8886, + FreeVars: ast.Identifiers{ + "a", + "std", + }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(826), - Column: int(13), + Line: int(845), + Column: int(21), }, End: ast.Location{ - Line: int(826), - Column: int(33), + Line: int(845), + Column: int(32), }, }, }, - Kind: ast.LiteralStringKind(1), + TrailingComma: false, + TailStrict: false, }, OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8741, + Ctx: p8886, FreeVars: ast.Identifiers{ "a", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(826), - Column: int(13), + Line: int(845), + Column: int(21), }, End: ast.Location{ - Line: int(826), - Column: int(37), + Line: int(845), + Column: int(44), }, }, }, - Op: ast.BinaryOp(3), + Op: ast.BinaryOp(12), }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "a", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(826), - Column: int(13), + BranchTrue: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(845), + Column: int(50), + }, + End: ast.Location{ + Line: int(845), + Column: int(53), + }, + }, + }, }, - End: ast.Location{ - Line: int(826), - Column: int(46), + Index: &ast.LiteralString{ + Value: "escapeStringJson", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8886, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(845), + Column: int(50), + }, + End: ast.Location{ + Line: int(845), + Column: int(70), + }, + }, }, }, - }, - Op: ast.BinaryOp(3), - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "a", - "b", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(826), - Column: int(13), - }, - End: ast.Location{ - Line: int(826), - Column: int(50), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8907, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(845), + Column: int(71), + }, + End: ast.Location{ + Line: int(845), + Column: int(72), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, }, - }, - }, - Op: ast.BinaryOp(3), - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "a", - "b", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(826), - Column: int(7), - }, - End: ast.Location{ - Line: int(826), - Column: int(50), - }, - }, - }, - }, - ThenFodder: ast.Fodder{}, - ElseFodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - Ctx: p8741, - FreeVars: ast.Identifiers{ - "a", - "b", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(823), - Column: int(5), - }, - End: ast.Location{ - Line: int(826), - Column: int(50), - }, - }, - }, - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "a", - CommaFodder: ast.Fodder{}, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(822), - Column: int(15), - }, - End: ast.Location{ - Line: int(822), - Column: int(16), - }, - }, - }, - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "b", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(822), - Column: int(18), - }, - End: ast.Location{ - Line: int(822), - Column: int(19), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: p23, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - TrailingComma: false, - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(822), - Column: int(3), - }, - End: ast.Location{ - Line: int(826), - Column: int(50), - }, - }, - Hide: ast.ObjectFieldHide(0), - PlusSuper: false, - }, - ast.DesugaredObjectField{ - Name: &ast.LiteralString{ - Value: "abs", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - Body: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Conditional{ - Cond: &ast.Unary{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p8886, FreeVars: ast.Identifiers{ + "a", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(829), - Column: int(9), + Line: int(845), + Column: int(50), }, End: ast.Location{ - Line: int(829), - Column: int(12), + Line: int(845), + Column: int(73), }, }, }, + TrailingComma: false, + TailStrict: false, }, - Index: &ast.LiteralString{ - Value: "isNumber", - BlockIndent: "", - BlockTermIndent: "", + BranchFalse: &ast.Var{ + Id: "a", NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, + Fodder: ast.Fodder{}, + Ctx: p8886, + FreeVars: ast.Identifiers{ + "a", + }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(845), + Column: int(79), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(845), + Column: int(80), }, }, }, - Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8776, + Ctx: p8886, FreeVars: ast.Identifiers{ + "a", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(829), - Column: int(9), + Line: int(845), + Column: int(18), }, End: ast.Location{ - Line: int(829), - Column: int(21), + Line: int(845), + Column: int(80), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "n", + EqFodder: ast.Fodder{}, + Variable: "astr", + CloseFodder: ast.Fodder{}, + Fun: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(845), + Column: int(11), + }, + End: ast.Location{ + Line: int(845), + Column: int(80), + }, + }, + }, + }, + Body: &ast.Local{ + Binds: ast.LocalBinds{ + ast.LocalBind{ + VarFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralString{ + Value: "string", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8918, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(36), + }, + End: ast.Location{ + Line: int(846), + Column: int(44), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(21), + }, + End: ast.Location{ + Line: int(846), + Column: int(24), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8918, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(21), + }, + End: ast.Location{ + Line: int(846), + Column: int(29), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8927, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(30), + }, + End: ast.Location{ + Line: int(846), + Column: int(31), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8780, + Ctx: p8918, FreeVars: ast.Identifiers{ - "n", + "b", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(829), - Column: int(22), + Line: int(846), + Column: int(21), }, End: ast.Location{ - Line: int(829), - Column: int(23), + Line: int(846), + Column: int(32), }, }, }, + TrailingComma: false, + TailStrict: false, }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8776, - FreeVars: ast.Identifiers{ - "n", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(829), - Column: int(9), - }, - End: ast.Location{ - Line: int(829), - Column: int(24), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8776, - FreeVars: ast.Identifiers{ - "n", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(829), - Column: int(8), - }, - End: ast.Location{ - Line: int(829), - Column: int(24), - }, - }, - }, - Op: ast.UnaryOp(0), - }, - BranchTrue: &ast.Error{ - Expr: &ast.Binary{ - Right: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p8918, FreeVars: ast.Identifiers{ + "b", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(830), - Column: int(47), - }, - End: ast.Location{ - Line: int(830), - Column: int(50), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(846), + Column: int(21), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(846), + Column: int(44), }, }, }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8776, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(830), - Column: int(47), - }, - End: ast.Location{ - Line: int(830), - Column: int(55), - }, - }, + Op: ast.BinaryOp(12), }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "n", + BranchTrue: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8794, + Ctx: nil, FreeVars: ast.Identifiers{ - "n", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(830), - Column: int(56), + Line: int(846), + Column: int(50), }, End: ast.Location{ - Line: int(830), - Column: int(57), + Line: int(846), + Column: int(53), }, }, }, }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8776, - FreeVars: ast.Identifiers{ - "n", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(830), - Column: int(47), - }, - End: ast.Location{ - Line: int(830), - Column: int(58), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - Left: &ast.LiteralString{ - Value: "std.abs expected number, got ", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p8776, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", + Index: &ast.LiteralString{ + Value: "escapeStringJson", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8918, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(50), + }, + End: ast.Location{ + Line: int(846), + Column: int(70), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8939, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(71), + }, + End: ast.Location{ + Line: int(846), + Column: int(72), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8918, + FreeVars: ast.Identifiers{ + "b", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(50), + }, + End: ast.Location{ + Line: int(846), + Column: int(73), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchFalse: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8918, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(79), + }, + End: ast.Location{ + Line: int(846), + Column: int(80), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8918, + FreeVars: ast.Identifiers{ + "b", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(18), + }, + End: ast.Location{ + Line: int(846), + Column: int(80), + }, + }, + }, + }, + EqFodder: ast.Fodder{}, + Variable: "bstr", + CloseFodder: ast.Fodder{}, + Fun: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(11), + }, + End: ast.Location{ + Line: int(846), + Column: int(80), + }, + }, + }, + }, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(847), + Column: int(13), + }, + End: ast.Location{ + Line: int(847), + Column: int(14), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(847), + Column: int(8), + }, + End: ast.Location{ + Line: int(847), + Column: int(9), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "a", + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(847), + Column: int(8), + }, + End: ast.Location{ + Line: int(847), + Column: int(14), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + BranchTrue: &ast.LiteralBoolean{ + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p8948, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(848), + Column: int(7), + }, + End: ast.Location{ + Line: int(848), + Column: int(11), + }, + }, + }, + Value: true, + }, + BranchFalse: &ast.Error{ + Expr: &ast.Binary{ + Right: &ast.Var{ + Id: "bstr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "bstr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(850), + Column: int(52), + }, + End: ast.Location{ + Line: int(850), + Column: int(56), + }, + }, + }, + }, + Left: &ast.Binary{ + Right: &ast.LiteralString{ + Value: " != ", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(850), + Column: int(43), + }, + End: ast.Location{ + Line: int(850), + Column: int(49), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Left: &ast.Binary{ + Right: &ast.Var{ + Id: "astr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "astr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(850), + Column: int(36), + }, + End: ast.Location{ + Line: int(850), + Column: int(40), + }, + }, + }, + }, + Left: &ast.LiteralString{ + Value: "Assertion failed. ", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(850), + Column: int(13), + }, + End: ast.Location{ + Line: int(850), + Column: int(33), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "astr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(850), + Column: int(13), + }, + End: ast.Location{ + Line: int(850), + Column: int(40), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "astr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(850), + Column: int(13), + }, + End: ast.Location{ + Line: int(850), + Column: int(49), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "astr", + "bstr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(850), + Column: int(13), + }, + End: ast.Location{ + Line: int(850), + Column: int(56), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "astr", + "bstr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", Begin: ast.Location{ - Line: int(830), + Line: int(850), + Column: int(7), + }, + End: ast.Location{ + Line: int(850), + Column: int(56), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "a", + "astr", + "b", + "bstr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(847), + Column: int(5), + }, + End: ast.Location{ + Line: int(850), + Column: int(56), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "a", + "astr", + "b", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(846), + Column: int(5), + }, + End: ast.Location{ + Line: int(850), + Column: int(56), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + ast.FodderElement{ + Comment: []string{ + "// If the values are strings, escape them for printing.", + }, + Kind: ast.FodderKind(2), + Blanks: int(0), + Indent: int(4), + }, + ast.FodderElement{ + Comment: []string{ + "// If not, they'll be JSON-stringified anyway by the later string concatenation.", + }, + Kind: ast.FodderKind(2), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p8948, + FreeVars: ast.Identifiers{ + "a", + "b", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(845), + Column: int(5), + }, + End: ast.Location{ + Line: int(850), + Column: int(56), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "a", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(842), + Column: int(15), + }, + End: ast.Location{ + Line: int(842), + Column: int(16), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "b", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(842), + Column: int(18), + }, + End: ast.Location{ + Line: int(842), + Column: int(19), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(842), + Column: int(3), + }, + End: ast.Location{ + Line: int(850), + Column: int(56), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "abs", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Unary{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(853), + Column: int(9), + }, + End: ast.Location{ + Line: int(853), + Column: int(12), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isNumber", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8990, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(853), + Column: int(9), + }, + End: ast.Location{ + Line: int(853), + Column: int(21), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "n", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8994, + FreeVars: ast.Identifiers{ + "n", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(853), + Column: int(22), + }, + End: ast.Location{ + Line: int(853), + Column: int(23), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8990, + FreeVars: ast.Identifiers{ + "n", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(853), + Column: int(9), + }, + End: ast.Location{ + Line: int(853), + Column: int(24), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8990, + FreeVars: ast.Identifiers{ + "n", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(853), + Column: int(8), + }, + End: ast.Location{ + Line: int(853), + Column: int(24), + }, + }, + }, + Op: ast.UnaryOp(0), + }, + BranchTrue: &ast.Error{ + Expr: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(854), + Column: int(47), + }, + End: ast.Location{ + Line: int(854), + Column: int(50), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8990, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(854), + Column: int(47), + }, + End: ast.Location{ + Line: int(854), + Column: int(55), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "n", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9008, + FreeVars: ast.Identifiers{ + "n", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(854), + Column: int(56), + }, + End: ast.Location{ + Line: int(854), + Column: int(57), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8990, + FreeVars: ast.Identifiers{ + "n", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(854), + Column: int(47), + }, + End: ast.Location{ + Line: int(854), + Column: int(58), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Left: &ast.LiteralString{ + Value: "std.abs expected number, got ", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p8990, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(854), Column: int(13), }, End: ast.Location{ - Line: int(830), + Line: int(854), Column: int(44), }, }, @@ -114874,7 +117726,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", "std", @@ -114883,11 +117735,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(830), + Line: int(854), Column: int(13), }, End: ast.Location{ - Line: int(830), + Line: int(854), Column: int(58), }, }, @@ -114903,7 +117755,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", "std", @@ -114912,11 +117764,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(830), + Line: int(854), Column: int(7), }, End: ast.Location{ - Line: int(830), + Line: int(854), Column: int(58), }, }, @@ -114928,17 +117780,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(832), + Line: int(856), Column: int(14), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(15), }, }, @@ -114948,7 +117800,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", }, @@ -114956,11 +117808,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(832), + Line: int(856), Column: int(10), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(11), }, }, @@ -114969,7 +117821,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", }, @@ -114977,11 +117829,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(832), + Line: int(856), Column: int(10), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(15), }, }, @@ -114992,7 +117844,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", }, @@ -115000,11 +117852,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(832), + Line: int(856), Column: int(21), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(22), }, }, @@ -115015,7 +117867,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", }, @@ -115023,11 +117875,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(832), + Line: int(856), Column: int(29), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(30), }, }, @@ -115035,7 +117887,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", }, @@ -115043,11 +117895,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(832), + Line: int(856), Column: int(28), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(30), }, }, @@ -115065,7 +117917,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", }, @@ -115073,11 +117925,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(832), + Line: int(856), Column: int(7), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(30), }, }, @@ -115101,7 +117953,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8776, + Ctx: p8990, FreeVars: ast.Identifiers{ "n", "std", @@ -115110,11 +117962,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(829), + Line: int(853), Column: int(5), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(30), }, }, @@ -115131,11 +117983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(828), + Line: int(852), Column: int(7), }, End: ast.Location{ - Line: int(828), + Line: int(852), Column: int(8), }, }, @@ -115166,11 +118018,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(828), + Line: int(852), Column: int(3), }, End: ast.Location{ - Line: int(832), + Line: int(856), Column: int(30), }, }, @@ -115220,11 +118072,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(835), + Line: int(859), Column: int(9), }, End: ast.Location{ - Line: int(835), + Line: int(859), Column: int(12), }, }, @@ -115258,7 +118110,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "std", }, @@ -115266,11 +118118,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(835), + Line: int(859), Column: int(9), }, End: ast.Location{ - Line: int(835), + Line: int(859), Column: int(21), }, }, @@ -115284,7 +118136,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8833, + Ctx: p9047, FreeVars: ast.Identifiers{ "n", }, @@ -115292,11 +118144,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(835), + Line: int(859), Column: int(22), }, End: ast.Location{ - Line: int(835), + Line: int(859), Column: int(23), }, }, @@ -115311,7 +118163,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", "std", @@ -115320,11 +118172,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(835), + Line: int(859), Column: int(9), }, End: ast.Location{ - Line: int(835), + Line: int(859), Column: int(24), }, }, @@ -115334,7 +118186,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", "std", @@ -115343,11 +118195,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(835), + Line: int(859), Column: int(8), }, End: ast.Location{ - Line: int(835), + Line: int(859), Column: int(24), }, }, @@ -115370,11 +118222,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(836), + Line: int(860), Column: int(48), }, End: ast.Location{ - Line: int(836), + Line: int(860), Column: int(51), }, }, @@ -115408,7 +118260,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "std", }, @@ -115416,11 +118268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(836), + Line: int(860), Column: int(48), }, End: ast.Location{ - Line: int(836), + Line: int(860), Column: int(56), }, }, @@ -115434,7 +118286,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8847, + Ctx: p9061, FreeVars: ast.Identifiers{ "n", }, @@ -115442,11 +118294,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(836), + Line: int(860), Column: int(57), }, End: ast.Location{ - Line: int(836), + Line: int(860), Column: int(58), }, }, @@ -115461,7 +118313,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", "std", @@ -115470,11 +118322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(836), + Line: int(860), Column: int(48), }, End: ast.Location{ - Line: int(836), + Line: int(860), Column: int(59), }, }, @@ -115488,17 +118340,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(836), + Line: int(860), Column: int(13), }, End: ast.Location{ - Line: int(836), + Line: int(860), Column: int(45), }, }, @@ -115508,7 +118360,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", "std", @@ -115517,11 +118369,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(836), + Line: int(860), Column: int(13), }, End: ast.Location{ - Line: int(836), + Line: int(860), Column: int(59), }, }, @@ -115537,7 +118389,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", "std", @@ -115546,11 +118398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(836), + Line: int(860), Column: int(7), }, End: ast.Location{ - Line: int(836), + Line: int(860), Column: int(59), }, }, @@ -115562,17 +118414,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(838), + Line: int(862), Column: int(14), }, End: ast.Location{ - Line: int(838), + Line: int(862), Column: int(15), }, }, @@ -115582,7 +118434,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", }, @@ -115590,11 +118442,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(838), + Line: int(862), Column: int(10), }, End: ast.Location{ - Line: int(838), + Line: int(862), Column: int(11), }, }, @@ -115603,7 +118455,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", }, @@ -115611,11 +118463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(838), + Line: int(862), Column: int(10), }, End: ast.Location{ - Line: int(838), + Line: int(862), Column: int(15), }, }, @@ -115633,17 +118485,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(839), + Line: int(863), Column: int(9), }, End: ast.Location{ - Line: int(839), + Line: int(863), Column: int(10), }, }, @@ -115655,17 +118507,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(840), + Line: int(864), Column: int(19), }, End: ast.Location{ - Line: int(840), + Line: int(864), Column: int(20), }, }, @@ -115675,7 +118527,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", }, @@ -115683,11 +118535,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(840), + Line: int(864), Column: int(15), }, End: ast.Location{ - Line: int(840), + Line: int(864), Column: int(16), }, }, @@ -115696,7 +118548,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", }, @@ -115704,11 +118556,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(840), + Line: int(864), Column: int(15), }, End: ast.Location{ - Line: int(840), + Line: int(864), Column: int(20), }, }, @@ -115720,17 +118572,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(841), + Line: int(865), Column: int(10), }, End: ast.Location{ - Line: int(841), + Line: int(865), Column: int(11), }, }, @@ -115745,17 +118597,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(841), + Line: int(865), Column: int(9), }, End: ast.Location{ - Line: int(841), + Line: int(865), Column: int(11), }, }, @@ -115766,17 +118618,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(842), + Line: int(866), Column: int(12), }, End: ast.Location{ - Line: int(842), + Line: int(866), Column: int(13), }, }, @@ -115793,7 +118645,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", }, @@ -115801,11 +118653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(840), + Line: int(864), Column: int(12), }, End: ast.Location{ - Line: int(842), + Line: int(866), Column: int(13), }, }, @@ -115829,7 +118681,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", }, @@ -115837,11 +118689,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(838), + Line: int(862), Column: int(7), }, End: ast.Location{ - Line: int(842), + Line: int(866), Column: int(13), }, }, @@ -115865,7 +118717,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8829, + Ctx: p9043, FreeVars: ast.Identifiers{ "n", "std", @@ -115874,11 +118726,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(835), + Line: int(859), Column: int(5), }, End: ast.Location{ - Line: int(842), + Line: int(866), Column: int(13), }, }, @@ -115895,11 +118747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(834), + Line: int(858), Column: int(8), }, End: ast.Location{ - Line: int(834), + Line: int(858), Column: int(9), }, }, @@ -115930,11 +118782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(834), + Line: int(858), Column: int(3), }, End: ast.Location{ - Line: int(842), + Line: int(866), Column: int(13), }, }, @@ -115984,11 +118836,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(845), + Line: int(869), Column: int(9), }, End: ast.Location{ - Line: int(845), + Line: int(869), Column: int(12), }, }, @@ -116022,7 +118874,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "std", }, @@ -116030,11 +118882,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(845), + Line: int(869), Column: int(9), }, End: ast.Location{ - Line: int(845), + Line: int(869), Column: int(21), }, }, @@ -116048,7 +118900,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8895, + Ctx: p9109, FreeVars: ast.Identifiers{ "a", }, @@ -116056,11 +118908,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(845), + Line: int(869), Column: int(22), }, End: ast.Location{ - Line: int(845), + Line: int(869), Column: int(23), }, }, @@ -116075,7 +118927,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "std", @@ -116084,11 +118936,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(845), + Line: int(869), Column: int(9), }, End: ast.Location{ - Line: int(845), + Line: int(869), Column: int(24), }, }, @@ -116098,7 +118950,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "std", @@ -116107,11 +118959,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(845), + Line: int(869), Column: int(8), }, End: ast.Location{ - Line: int(845), + Line: int(869), Column: int(24), }, }, @@ -116134,11 +118986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(846), + Line: int(870), Column: int(59), }, End: ast.Location{ - Line: int(846), + Line: int(870), Column: int(62), }, }, @@ -116172,7 +119024,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "std", }, @@ -116180,11 +119032,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(846), + Line: int(870), Column: int(59), }, End: ast.Location{ - Line: int(846), + Line: int(870), Column: int(67), }, }, @@ -116198,7 +119050,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8909, + Ctx: p9123, FreeVars: ast.Identifiers{ "a", }, @@ -116206,11 +119058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(846), + Line: int(870), Column: int(68), }, End: ast.Location{ - Line: int(846), + Line: int(870), Column: int(69), }, }, @@ -116225,7 +119077,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "std", @@ -116234,11 +119086,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(846), + Line: int(870), Column: int(59), }, End: ast.Location{ - Line: int(846), + Line: int(870), Column: int(70), }, }, @@ -116252,17 +119104,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(846), + Line: int(870), Column: int(13), }, End: ast.Location{ - Line: int(846), + Line: int(870), Column: int(56), }, }, @@ -116272,7 +119124,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "std", @@ -116281,11 +119133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(846), + Line: int(870), Column: int(13), }, End: ast.Location{ - Line: int(846), + Line: int(870), Column: int(70), }, }, @@ -116301,7 +119153,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "std", @@ -116310,11 +119162,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(846), + Line: int(870), Column: int(7), }, End: ast.Location{ - Line: int(846), + Line: int(870), Column: int(70), }, }, @@ -116336,11 +119188,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(847), + Line: int(871), Column: int(14), }, End: ast.Location{ - Line: int(847), + Line: int(871), Column: int(17), }, }, @@ -116374,7 +119226,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "std", }, @@ -116382,11 +119234,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(847), + Line: int(871), Column: int(14), }, End: ast.Location{ - Line: int(847), + Line: int(871), Column: int(26), }, }, @@ -116400,7 +119252,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8926, + Ctx: p9140, FreeVars: ast.Identifiers{ "b", }, @@ -116408,11 +119260,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(847), + Line: int(871), Column: int(27), }, End: ast.Location{ - Line: int(847), + Line: int(871), Column: int(28), }, }, @@ -116427,7 +119279,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "b", "std", @@ -116436,11 +119288,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(847), + Line: int(871), Column: int(14), }, End: ast.Location{ - Line: int(847), + Line: int(871), Column: int(29), }, }, @@ -116450,7 +119302,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "b", "std", @@ -116459,11 +119311,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(847), + Line: int(871), Column: int(13), }, End: ast.Location{ - Line: int(847), + Line: int(871), Column: int(29), }, }, @@ -116486,11 +119338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(848), + Line: int(872), Column: int(60), }, End: ast.Location{ - Line: int(848), + Line: int(872), Column: int(63), }, }, @@ -116524,7 +119376,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "std", }, @@ -116532,11 +119384,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(848), + Line: int(872), Column: int(60), }, End: ast.Location{ - Line: int(848), + Line: int(872), Column: int(68), }, }, @@ -116550,7 +119402,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8940, + Ctx: p9154, FreeVars: ast.Identifiers{ "b", }, @@ -116558,11 +119410,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(848), + Line: int(872), Column: int(69), }, End: ast.Location{ - Line: int(848), + Line: int(872), Column: int(70), }, }, @@ -116577,7 +119429,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "b", "std", @@ -116586,11 +119438,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(848), + Line: int(872), Column: int(60), }, End: ast.Location{ - Line: int(848), + Line: int(872), Column: int(71), }, }, @@ -116604,17 +119456,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(848), + Line: int(872), Column: int(13), }, End: ast.Location{ - Line: int(848), + Line: int(872), Column: int(57), }, }, @@ -116624,7 +119476,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "b", "std", @@ -116633,11 +119485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(848), + Line: int(872), Column: int(13), }, End: ast.Location{ - Line: int(848), + Line: int(872), Column: int(71), }, }, @@ -116653,7 +119505,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "b", "std", @@ -116662,11 +119514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(848), + Line: int(872), Column: int(7), }, End: ast.Location{ - Line: int(848), + Line: int(872), Column: int(71), }, }, @@ -116678,7 +119530,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "b", }, @@ -116686,11 +119538,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(850), + Line: int(874), Column: int(14), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(15), }, }, @@ -116700,7 +119552,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", }, @@ -116708,11 +119560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(850), + Line: int(874), Column: int(10), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(11), }, }, @@ -116721,7 +119573,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "b", @@ -116730,11 +119582,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(850), + Line: int(874), Column: int(10), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(15), }, }, @@ -116745,7 +119597,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", }, @@ -116753,11 +119605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(850), + Line: int(874), Column: int(21), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(22), }, }, @@ -116767,7 +119619,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "b", }, @@ -116775,11 +119627,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(850), + Line: int(874), Column: int(28), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(29), }, }, @@ -116796,7 +119648,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "b", @@ -116805,11 +119657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(850), + Line: int(874), Column: int(7), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(29), }, }, @@ -116826,7 +119678,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "b", @@ -116836,11 +119688,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(847), + Line: int(871), Column: int(10), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(29), }, }, @@ -116864,7 +119716,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8891, + Ctx: p9105, FreeVars: ast.Identifiers{ "a", "b", @@ -116874,11 +119726,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(845), + Line: int(869), Column: int(5), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(29), }, }, @@ -116895,11 +119747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(844), + Line: int(868), Column: int(7), }, End: ast.Location{ - Line: int(844), + Line: int(868), Column: int(8), }, }, @@ -116914,11 +119766,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(844), + Line: int(868), Column: int(10), }, End: ast.Location{ - Line: int(844), + Line: int(868), Column: int(11), }, }, @@ -116949,11 +119801,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(844), + Line: int(868), Column: int(3), }, End: ast.Location{ - Line: int(850), + Line: int(874), Column: int(29), }, }, @@ -117003,11 +119855,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(853), + Line: int(877), Column: int(9), }, End: ast.Location{ - Line: int(853), + Line: int(877), Column: int(12), }, }, @@ -117041,7 +119893,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "std", }, @@ -117049,11 +119901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(853), + Line: int(877), Column: int(9), }, End: ast.Location{ - Line: int(853), + Line: int(877), Column: int(21), }, }, @@ -117067,7 +119919,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8980, + Ctx: p9194, FreeVars: ast.Identifiers{ "a", }, @@ -117075,11 +119927,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(853), + Line: int(877), Column: int(22), }, End: ast.Location{ - Line: int(853), + Line: int(877), Column: int(23), }, }, @@ -117094,7 +119946,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "std", @@ -117103,11 +119955,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(853), + Line: int(877), Column: int(9), }, End: ast.Location{ - Line: int(853), + Line: int(877), Column: int(24), }, }, @@ -117117,7 +119969,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "std", @@ -117126,11 +119978,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(853), + Line: int(877), Column: int(8), }, End: ast.Location{ - Line: int(853), + Line: int(877), Column: int(24), }, }, @@ -117153,11 +120005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(854), + Line: int(878), Column: int(59), }, End: ast.Location{ - Line: int(854), + Line: int(878), Column: int(62), }, }, @@ -117191,7 +120043,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "std", }, @@ -117199,11 +120051,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(854), + Line: int(878), Column: int(59), }, End: ast.Location{ - Line: int(854), + Line: int(878), Column: int(67), }, }, @@ -117217,7 +120069,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8994, + Ctx: p9208, FreeVars: ast.Identifiers{ "a", }, @@ -117225,11 +120077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(854), + Line: int(878), Column: int(68), }, End: ast.Location{ - Line: int(854), + Line: int(878), Column: int(69), }, }, @@ -117244,7 +120096,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "std", @@ -117253,11 +120105,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(854), + Line: int(878), Column: int(59), }, End: ast.Location{ - Line: int(854), + Line: int(878), Column: int(70), }, }, @@ -117271,17 +120123,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(854), + Line: int(878), Column: int(13), }, End: ast.Location{ - Line: int(854), + Line: int(878), Column: int(56), }, }, @@ -117291,7 +120143,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "std", @@ -117300,11 +120152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(854), + Line: int(878), Column: int(13), }, End: ast.Location{ - Line: int(854), + Line: int(878), Column: int(70), }, }, @@ -117320,7 +120172,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "std", @@ -117329,11 +120181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(854), + Line: int(878), Column: int(7), }, End: ast.Location{ - Line: int(854), + Line: int(878), Column: int(70), }, }, @@ -117355,11 +120207,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(855), + Line: int(879), Column: int(14), }, End: ast.Location{ - Line: int(855), + Line: int(879), Column: int(17), }, }, @@ -117393,7 +120245,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "std", }, @@ -117401,11 +120253,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(855), + Line: int(879), Column: int(14), }, End: ast.Location{ - Line: int(855), + Line: int(879), Column: int(26), }, }, @@ -117419,7 +120271,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9011, + Ctx: p9225, FreeVars: ast.Identifiers{ "b", }, @@ -117427,11 +120279,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(855), + Line: int(879), Column: int(27), }, End: ast.Location{ - Line: int(855), + Line: int(879), Column: int(28), }, }, @@ -117446,7 +120298,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "b", "std", @@ -117455,11 +120307,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(855), + Line: int(879), Column: int(14), }, End: ast.Location{ - Line: int(855), + Line: int(879), Column: int(29), }, }, @@ -117469,7 +120321,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "b", "std", @@ -117478,11 +120330,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(855), + Line: int(879), Column: int(13), }, End: ast.Location{ - Line: int(855), + Line: int(879), Column: int(29), }, }, @@ -117505,11 +120357,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(856), + Line: int(880), Column: int(60), }, End: ast.Location{ - Line: int(856), + Line: int(880), Column: int(63), }, }, @@ -117543,7 +120395,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "std", }, @@ -117551,11 +120403,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(856), + Line: int(880), Column: int(60), }, End: ast.Location{ - Line: int(856), + Line: int(880), Column: int(68), }, }, @@ -117569,7 +120421,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9025, + Ctx: p9239, FreeVars: ast.Identifiers{ "b", }, @@ -117577,11 +120429,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(856), + Line: int(880), Column: int(69), }, End: ast.Location{ - Line: int(856), + Line: int(880), Column: int(70), }, }, @@ -117596,7 +120448,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "b", "std", @@ -117605,11 +120457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(856), + Line: int(880), Column: int(60), }, End: ast.Location{ - Line: int(856), + Line: int(880), Column: int(71), }, }, @@ -117623,17 +120475,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(856), + Line: int(880), Column: int(13), }, End: ast.Location{ - Line: int(856), + Line: int(880), Column: int(57), }, }, @@ -117643,7 +120495,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "b", "std", @@ -117652,11 +120504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(856), + Line: int(880), Column: int(13), }, End: ast.Location{ - Line: int(856), + Line: int(880), Column: int(71), }, }, @@ -117672,7 +120524,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "b", "std", @@ -117681,11 +120533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(856), + Line: int(880), Column: int(7), }, End: ast.Location{ - Line: int(856), + Line: int(880), Column: int(71), }, }, @@ -117697,7 +120549,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "b", }, @@ -117705,11 +120557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(858), + Line: int(882), Column: int(14), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(15), }, }, @@ -117719,7 +120571,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", }, @@ -117727,11 +120579,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(858), + Line: int(882), Column: int(10), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(11), }, }, @@ -117740,7 +120592,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "b", @@ -117749,11 +120601,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(858), + Line: int(882), Column: int(10), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(15), }, }, @@ -117764,7 +120616,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", }, @@ -117772,11 +120624,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(858), + Line: int(882), Column: int(21), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(22), }, }, @@ -117786,7 +120638,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "b", }, @@ -117794,11 +120646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(858), + Line: int(882), Column: int(28), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(29), }, }, @@ -117815,7 +120667,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "b", @@ -117824,11 +120676,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(858), + Line: int(882), Column: int(7), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(29), }, }, @@ -117845,7 +120697,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "b", @@ -117855,11 +120707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(855), + Line: int(879), Column: int(10), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(29), }, }, @@ -117883,7 +120735,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p8976, + Ctx: p9190, FreeVars: ast.Identifiers{ "a", "b", @@ -117893,11 +120745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(853), + Line: int(877), Column: int(5), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(29), }, }, @@ -117914,11 +120766,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(852), + Line: int(876), Column: int(7), }, End: ast.Location{ - Line: int(852), + Line: int(876), Column: int(8), }, }, @@ -117933,11 +120785,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(852), + Line: int(876), Column: int(10), }, End: ast.Location{ - Line: int(852), + Line: int(876), Column: int(11), }, }, @@ -117968,11 +120820,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(852), + Line: int(876), Column: int(3), }, End: ast.Location{ - Line: int(858), + Line: int(882), Column: int(29), }, }, @@ -118012,7 +120864,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "minVal", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "minVal", }, @@ -118020,11 +120872,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(861), + Line: int(885), Column: int(12), }, End: ast.Location{ - Line: int(861), + Line: int(885), Column: int(18), }, }, @@ -118034,7 +120886,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "x", }, @@ -118042,11 +120894,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(861), + Line: int(885), Column: int(8), }, End: ast.Location{ - Line: int(861), + Line: int(885), Column: int(9), }, }, @@ -118055,7 +120907,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "minVal", "x", @@ -118064,11 +120916,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(861), + Line: int(885), Column: int(8), }, End: ast.Location{ - Line: int(861), + Line: int(885), Column: int(18), }, }, @@ -118079,7 +120931,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "minVal", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "minVal", }, @@ -118087,11 +120939,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(861), + Line: int(885), Column: int(24), }, End: ast.Location{ - Line: int(861), + Line: int(885), Column: int(30), }, }, @@ -118103,7 +120955,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "maxVal", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "maxVal", }, @@ -118111,11 +120963,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(862), + Line: int(886), Column: int(17), }, End: ast.Location{ - Line: int(862), + Line: int(886), Column: int(23), }, }, @@ -118125,7 +120977,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "x", }, @@ -118133,11 +120985,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(862), + Line: int(886), Column: int(13), }, End: ast.Location{ - Line: int(862), + Line: int(886), Column: int(14), }, }, @@ -118146,7 +120998,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "maxVal", "x", @@ -118155,11 +121007,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(862), + Line: int(886), Column: int(13), }, End: ast.Location{ - Line: int(862), + Line: int(886), Column: int(23), }, }, @@ -118170,7 +121022,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "maxVal", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "maxVal", }, @@ -118178,11 +121030,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(862), + Line: int(886), Column: int(29), }, End: ast.Location{ - Line: int(862), + Line: int(886), Column: int(35), }, }, @@ -118192,7 +121044,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "x", }, @@ -118200,11 +121052,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(863), + Line: int(887), Column: int(10), }, End: ast.Location{ - Line: int(863), + Line: int(887), Column: int(11), }, }, @@ -118221,7 +121073,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "maxVal", "x", @@ -118230,11 +121082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(862), + Line: int(886), Column: int(10), }, End: ast.Location{ - Line: int(863), + Line: int(887), Column: int(11), }, }, @@ -118258,7 +121110,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p9057, + Ctx: p9271, FreeVars: ast.Identifiers{ "maxVal", "minVal", @@ -118268,11 +121120,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(861), + Line: int(885), Column: int(5), }, End: ast.Location{ - Line: int(863), + Line: int(887), Column: int(11), }, }, @@ -118289,11 +121141,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(860), + Line: int(884), Column: int(9), }, End: ast.Location{ - Line: int(860), + Line: int(884), Column: int(10), }, }, @@ -118308,11 +121160,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(860), + Line: int(884), Column: int(12), }, End: ast.Location{ - Line: int(860), + Line: int(884), Column: int(18), }, }, @@ -118327,11 +121179,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(860), + Line: int(884), Column: int(20), }, End: ast.Location{ - Line: int(860), + Line: int(884), Column: int(26), }, }, @@ -118360,11 +121212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(860), + Line: int(884), Column: int(3), }, End: ast.Location{ - Line: int(863), + Line: int(887), Column: int(11), }, }, @@ -118419,11 +121271,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(5), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(8), }, }, @@ -118457,7 +121309,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9089, + Ctx: p9303, FreeVars: ast.Identifiers{ "std", }, @@ -118465,11 +121317,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(5), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(14), }, }, @@ -118487,7 +121339,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9095, + Ctx: p9309, FreeVars: ast.Identifiers{ "b", }, @@ -118495,11 +121347,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(34), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(35), }, }, @@ -118509,7 +121361,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9095, + Ctx: p9309, FreeVars: ast.Identifiers{ "a", }, @@ -118517,11 +121369,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(30), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(31), }, }, @@ -118530,7 +121382,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9095, + Ctx: p9309, FreeVars: ast.Identifiers{ "a", "b", @@ -118539,11 +121391,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(30), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(35), }, }, @@ -118561,11 +121413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(24), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(25), }, }, @@ -118580,11 +121432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(27), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(28), }, }, @@ -118592,17 +121444,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9101, + Ctx: p9315, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(15), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(35), }, }, @@ -118616,7 +121468,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arrs", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9101, + Ctx: p9315, FreeVars: ast.Identifiers{ "arrs", }, @@ -118624,11 +121476,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(37), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(41), }, }, @@ -118642,17 +121494,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9101, + Ctx: p9315, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(43), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(45), }, }, @@ -118668,7 +121520,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9089, + Ctx: p9303, FreeVars: ast.Identifiers{ "arrs", "std", @@ -118677,11 +121529,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(866), + Line: int(890), Column: int(5), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(46), }, }, @@ -118700,11 +121552,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(865), + Line: int(889), Column: int(17), }, End: ast.Location{ - Line: int(865), + Line: int(889), Column: int(21), }, }, @@ -118735,17 +121587,827 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(865), + Line: int(889), Column: int(3), }, End: ast.Location{ - Line: int(866), + Line: int(890), Column: int(46), }, }, Hide: ast.ObjectFieldHide(0), PlusSuper: false, }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "flattenDeepArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(893), + Column: int(8), + }, + End: ast.Location{ + Line: int(893), + Column: int(11), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "isArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9330, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(893), + Column: int(8), + }, + End: ast.Location{ + Line: int(893), + Column: int(19), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "value", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9334, + FreeVars: ast.Identifiers{ + "value", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(893), + Column: int(20), + }, + End: ast.Location{ + Line: int(893), + Column: int(25), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9330, + FreeVars: ast.Identifiers{ + "std", + "value", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(893), + Column: int(8), + }, + End: ast.Location{ + Line: int(893), + Column: int(26), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchTrue: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "$flatMapArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: nil, + ParenRightFodder: nil, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "$flatMapArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: nil, + ParenRightFodder: nil, + Body: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "y", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9356, + FreeVars: ast.Identifiers{ + "y", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(894), + Column: int(8), + }, + End: ast.Location{ + Line: int(894), + Column: int(9), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + CloseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "y", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: nil, + Name: "y", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + CommaFodder: nil, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(894), + Column: int(34), + }, + End: ast.Location{ + Line: int(894), + Column: int(37), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "flattenDeepArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9330, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(894), + Column: int(34), + }, + End: ast.Location{ + Line: int(894), + Column: int(54), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9368, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(894), + Column: int(55), + }, + End: ast.Location{ + Line: int(894), + Column: int(56), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9330, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(894), + Column: int(34), + }, + End: ast.Location{ + Line: int(894), + Column: int(57), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: nil, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(894), + Column: int(7), + }, + End: ast.Location{ + Line: int(894), + Column: int(58), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: nil, + Name: "x", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + CommaFodder: nil, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "value", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9330, + FreeVars: ast.Identifiers{ + "value", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(894), + Column: int(19), + }, + End: ast.Location{ + Line: int(894), + Column: int(24), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: nil, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + "std", + "value", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(894), + Column: int(7), + }, + End: ast.Location{ + Line: int(894), + Column: int(58), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + BranchFalse: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "value", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p9380, + FreeVars: ast.Identifiers{ + "value", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(896), + Column: int(8), + }, + End: ast.Location{ + Line: int(896), + Column: int(13), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + CloseFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p9330, + FreeVars: ast.Identifiers{ + "value", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(896), + Column: int(7), + }, + End: ast.Location{ + Line: int(896), + Column: int(14), + }, + }, + }, + TrailingComma: false, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p9330, + FreeVars: ast.Identifiers{ + "$std", + "std", + "value", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(893), + Column: int(5), + }, + End: ast.Location{ + Line: int(896), + Column: int(14), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "value", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(892), + Column: int(20), + }, + End: ast.Location{ + Line: int(892), + Column: int(25), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "$std", + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(892), + Column: int(3), + }, + End: ast.Location{ + Line: int(896), + Column: int(14), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ Value: "manifestIni", @@ -118801,11 +122463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(870), + Line: int(900), Column: int(7), }, End: ast.Location{ - Line: int(870), + Line: int(900), Column: int(10), }, }, @@ -118839,7 +122501,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9119, + Ctx: p9400, FreeVars: ast.Identifiers{ "std", }, @@ -118847,11 +122509,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(870), + Line: int(900), Column: int(7), }, End: ast.Location{ - Line: int(870), + Line: int(900), Column: int(15), }, }, @@ -118866,17 +122528,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9123, + Ctx: p9404, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(870), + Line: int(900), Column: int(16), }, End: ast.Location{ - Line: int(870), + Line: int(900), Column: int(18), }, }, @@ -118911,7 +122573,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -118975,7 +122637,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "body", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9138, + Ctx: p9419, FreeVars: ast.Identifiers{ "body", }, @@ -118983,11 +122645,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(871), + Line: int(901), Column: int(33), }, End: ast.Location{ - Line: int(871), + Line: int(901), Column: int(37), }, }, @@ -118997,7 +122659,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9138, + Ctx: p9419, FreeVars: ast.Identifiers{ "k", }, @@ -119005,11 +122667,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(871), + Line: int(901), Column: int(38), }, End: ast.Location{ - Line: int(871), + Line: int(901), Column: int(39), }, }, @@ -119020,7 +122682,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9138, + Ctx: p9419, FreeVars: ast.Identifiers{ "body", "k", @@ -119029,11 +122691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(871), + Line: int(901), Column: int(33), }, End: ast.Location{ - Line: int(871), + Line: int(901), Column: int(40), }, }, @@ -119047,11 +122709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(871), + Line: int(901), Column: int(15), }, End: ast.Location{ - Line: int(871), + Line: int(901), Column: int(40), }, }, @@ -119072,11 +122734,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(872), + Line: int(902), Column: int(12), }, End: ast.Location{ - Line: int(872), + Line: int(902), Column: int(15), }, }, @@ -119110,7 +122772,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9149, + Ctx: p9430, FreeVars: ast.Identifiers{ "std", }, @@ -119118,11 +122780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(872), + Line: int(902), Column: int(12), }, End: ast.Location{ - Line: int(872), + Line: int(902), Column: int(23), }, }, @@ -119136,7 +122798,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value_or_values", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9153, + Ctx: p9434, FreeVars: ast.Identifiers{ "value_or_values", }, @@ -119144,11 +122806,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(872), + Line: int(902), Column: int(24), }, End: ast.Location{ - Line: int(872), + Line: int(902), Column: int(39), }, }, @@ -119163,7 +122825,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9149, + Ctx: p9430, FreeVars: ast.Identifiers{ "std", "value_or_values", @@ -119172,11 +122834,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(872), + Line: int(902), Column: int(12), }, End: ast.Location{ - Line: int(872), + Line: int(902), Column: int(40), }, }, @@ -119209,7 +122871,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -119344,17 +123006,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9174, + Ctx: p9455, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(873), + Line: int(903), Column: int(12), }, End: ast.Location{ - Line: int(873), + Line: int(903), Column: int(21), }, }, @@ -119371,7 +123033,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9178, + Ctx: p9459, FreeVars: ast.Identifiers{ "k", }, @@ -119379,11 +123041,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(873), + Line: int(903), Column: int(25), }, End: ast.Location{ - Line: int(873), + Line: int(903), Column: int(26), }, }, @@ -119396,7 +123058,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9178, + Ctx: p9459, FreeVars: ast.Identifiers{ "value", }, @@ -119404,11 +123066,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(873), + Line: int(903), Column: int(28), }, End: ast.Location{ - Line: int(873), + Line: int(903), Column: int(33), }, }, @@ -119420,7 +123082,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9174, + Ctx: p9455, FreeVars: ast.Identifiers{ "k", "value", @@ -119429,11 +123091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(873), + Line: int(903), Column: int(24), }, End: ast.Location{ - Line: int(873), + Line: int(903), Column: int(34), }, }, @@ -119459,11 +123121,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(873), + Line: int(903), Column: int(12), }, End: ast.Location{ - Line: int(873), + Line: int(903), Column: int(34), }, }, @@ -119548,7 +123210,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value_or_values", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9149, + Ctx: p9430, FreeVars: ast.Identifiers{ "value_or_values", }, @@ -119556,11 +123218,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(873), + Line: int(903), Column: int(48), }, End: ast.Location{ - Line: int(873), + Line: int(903), Column: int(63), }, }, @@ -119585,11 +123247,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(873), + Line: int(903), Column: int(11), }, End: ast.Location{ - Line: int(873), + Line: int(903), Column: int(64), }, }, @@ -119680,17 +123342,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9200, + Ctx: p9481, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(875), + Line: int(905), Column: int(12), }, End: ast.Location{ - Line: int(875), + Line: int(905), Column: int(21), }, }, @@ -119707,7 +123369,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9204, + Ctx: p9485, FreeVars: ast.Identifiers{ "k", }, @@ -119715,11 +123377,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(875), + Line: int(905), Column: int(25), }, End: ast.Location{ - Line: int(875), + Line: int(905), Column: int(26), }, }, @@ -119732,7 +123394,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value_or_values", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9204, + Ctx: p9485, FreeVars: ast.Identifiers{ "value_or_values", }, @@ -119740,11 +123402,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(875), + Line: int(905), Column: int(28), }, End: ast.Location{ - Line: int(875), + Line: int(905), Column: int(43), }, }, @@ -119756,7 +123418,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9200, + Ctx: p9481, FreeVars: ast.Identifiers{ "k", "value_or_values", @@ -119765,11 +123427,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(875), + Line: int(905), Column: int(24), }, End: ast.Location{ - Line: int(875), + Line: int(905), Column: int(44), }, }, @@ -119795,11 +123457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(875), + Line: int(905), Column: int(12), }, End: ast.Location{ - Line: int(875), + Line: int(905), Column: int(44), }, }, @@ -119820,7 +123482,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9149, + Ctx: p9430, FreeVars: ast.Identifiers{ "$std", "k", @@ -119830,11 +123492,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(875), + Line: int(905), Column: int(11), }, End: ast.Location{ - Line: int(875), + Line: int(905), Column: int(45), }, }, @@ -119859,7 +123521,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p9149, + Ctx: p9430, FreeVars: ast.Identifiers{ "$std", "k", @@ -119870,11 +123532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(872), + Line: int(902), Column: int(9), }, End: ast.Location{ - Line: int(875), + Line: int(905), Column: int(45), }, }, @@ -119889,7 +123551,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p9149, + Ctx: p9430, FreeVars: ast.Identifiers{ "$std", "body", @@ -119900,11 +123562,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(871), + Line: int(901), Column: int(9), }, End: ast.Location{ - Line: int(875), + Line: int(905), Column: int(45), }, }, @@ -119999,11 +123661,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(877), + Line: int(907), Column: int(18), }, End: ast.Location{ - Line: int(877), + Line: int(907), Column: int(21), }, }, @@ -120037,7 +123699,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9123, + Ctx: p9404, FreeVars: ast.Identifiers{ "std", }, @@ -120045,11 +123707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(877), + Line: int(907), Column: int(18), }, End: ast.Location{ - Line: int(877), + Line: int(907), Column: int(34), }, }, @@ -120063,7 +123725,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "body", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9228, + Ctx: p9509, FreeVars: ast.Identifiers{ "body", }, @@ -120071,11 +123733,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(877), + Line: int(907), Column: int(35), }, End: ast.Location{ - Line: int(877), + Line: int(907), Column: int(39), }, }, @@ -120090,7 +123752,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9123, + Ctx: p9404, FreeVars: ast.Identifiers{ "body", "std", @@ -120099,11 +123761,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(877), + Line: int(907), Column: int(18), }, End: ast.Location{ - Line: int(877), + Line: int(907), Column: int(40), }, }, @@ -120130,11 +123792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(870), + Line: int(900), Column: int(20), }, End: ast.Location{ - Line: int(878), + Line: int(908), Column: int(8), }, }, @@ -120151,7 +123813,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9119, + Ctx: p9400, FreeVars: ast.Identifiers{ "$std", "body", @@ -120161,11 +123823,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(870), + Line: int(900), Column: int(7), }, End: ast.Location{ - Line: int(878), + Line: int(908), Column: int(9), }, }, @@ -120184,11 +123846,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(869), + Line: int(899), Column: int(22), }, End: ast.Location{ - Line: int(869), + Line: int(899), Column: int(26), }, }, @@ -120196,7 +123858,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p9234, + Ctx: p9515, FreeVars: ast.Identifiers{ "$std", "std", @@ -120205,11 +123867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(869), + Line: int(899), Column: int(11), }, End: ast.Location{ - Line: int(878), + Line: int(908), Column: int(9), }, }, @@ -120247,7 +123909,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "body_lines", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9242, + Ctx: p9523, FreeVars: ast.Identifiers{ "body_lines", }, @@ -120255,11 +123917,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(62), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(72), }, }, @@ -120273,7 +123935,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sbody", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9246, + Ctx: p9527, FreeVars: ast.Identifiers{ "sbody", }, @@ -120281,11 +123943,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(73), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(78), }, }, @@ -120300,7 +123962,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9242, + Ctx: p9523, FreeVars: ast.Identifiers{ "body_lines", "sbody", @@ -120309,11 +123971,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(62), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(79), }, }, @@ -120404,17 +124066,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9259, + Ctx: p9540, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(42), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(48), }, }, @@ -120431,7 +124093,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sname", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9263, + Ctx: p9544, FreeVars: ast.Identifiers{ "sname", }, @@ -120439,11 +124101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(52), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(57), }, }, @@ -120455,7 +124117,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9259, + Ctx: p9540, FreeVars: ast.Identifiers{ "sname", }, @@ -120463,11 +124125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(51), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(58), }, }, @@ -120492,11 +124154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(42), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(58), }, }, @@ -120510,7 +124172,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9242, + Ctx: p9523, FreeVars: ast.Identifiers{ "$std", "sname", @@ -120519,11 +124181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(41), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(59), }, }, @@ -120533,7 +124195,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9242, + Ctx: p9523, FreeVars: ast.Identifiers{ "$std", "body_lines", @@ -120544,11 +124206,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(41), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(79), }, }, @@ -120566,11 +124228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(25), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(30), }, }, @@ -120585,11 +124247,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(32), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(37), }, }, @@ -120597,7 +124259,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p9270, + Ctx: p9551, FreeVars: ast.Identifiers{ "$std", "body_lines", @@ -120606,11 +124268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(11), }, End: ast.Location{ - Line: int(880), + Line: int(910), Column: int(79), }, }, @@ -120658,11 +124320,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(26), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(29), }, }, @@ -120696,7 +124358,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9279, + Ctx: p9560, FreeVars: ast.Identifiers{ "std", }, @@ -120704,11 +124366,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(26), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(39), }, }, @@ -120722,7 +124384,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ini", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9283, + Ctx: p9564, FreeVars: ast.Identifiers{ "ini", }, @@ -120730,11 +124392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(40), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(43), }, }, @@ -120749,17 +124411,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9283, + Ctx: p9564, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(45), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(51), }, }, @@ -120775,7 +124437,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9279, + Ctx: p9560, FreeVars: ast.Identifiers{ "ini", "std", @@ -120784,11 +124446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(26), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(52), }, }, @@ -120801,7 +124463,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "body_lines", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9279, + Ctx: p9560, FreeVars: ast.Identifiers{ "body_lines", }, @@ -120809,11 +124471,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(58), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(68), }, }, @@ -120836,11 +124498,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(69), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(72), }, }, @@ -120874,7 +124536,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9295, + Ctx: p9576, FreeVars: ast.Identifiers{ "ini", }, @@ -120882,11 +124544,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(69), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(77), }, }, @@ -120901,7 +124563,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9279, + Ctx: p9560, FreeVars: ast.Identifiers{ "body_lines", "ini", @@ -120910,11 +124572,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(58), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(78), }, }, @@ -120927,17 +124589,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9279, + Ctx: p9560, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(84), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(86), }, }, @@ -120948,7 +124610,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9279, + Ctx: p9560, FreeVars: ast.Identifiers{ "body_lines", "ini", @@ -120958,11 +124620,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(23), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(86), }, }, @@ -120976,11 +124638,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(881), + Line: int(911), Column: int(11), }, End: ast.Location{ - Line: int(881), + Line: int(911), Column: int(86), }, }, @@ -121019,7 +124681,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -121086,7 +124748,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p9314, + Ctx: p9595, FreeVars: ast.Identifiers{ "section_lines", }, @@ -121094,11 +124756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(883), + Line: int(913), Column: int(7), }, End: ast.Location{ - Line: int(883), + Line: int(913), Column: int(20), }, }, @@ -121112,7 +124774,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9318, + Ctx: p9599, FreeVars: ast.Identifiers{ "k", }, @@ -121120,11 +124782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(883), + Line: int(913), Column: int(21), }, End: ast.Location{ - Line: int(883), + Line: int(913), Column: int(22), }, }, @@ -121147,11 +124809,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(883), + Line: int(913), Column: int(24), }, End: ast.Location{ - Line: int(883), + Line: int(913), Column: int(27), }, }, @@ -121185,7 +124847,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9318, + Ctx: p9599, FreeVars: ast.Identifiers{ "ini", }, @@ -121193,11 +124855,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(883), + Line: int(913), Column: int(24), }, End: ast.Location{ - Line: int(883), + Line: int(913), Column: int(36), }, }, @@ -121207,7 +124869,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9318, + Ctx: p9599, FreeVars: ast.Identifiers{ "k", }, @@ -121215,11 +124877,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(883), + Line: int(913), Column: int(37), }, End: ast.Location{ - Line: int(883), + Line: int(913), Column: int(38), }, }, @@ -121230,7 +124892,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9318, + Ctx: p9599, FreeVars: ast.Identifiers{ "ini", "k", @@ -121239,11 +124901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(883), + Line: int(913), Column: int(24), }, End: ast.Location{ - Line: int(883), + Line: int(913), Column: int(39), }, }, @@ -121258,7 +124920,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9314, + Ctx: p9595, FreeVars: ast.Identifiers{ "ini", "k", @@ -121268,11 +124930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(883), + Line: int(913), Column: int(7), }, End: ast.Location{ - Line: int(883), + Line: int(913), Column: int(40), }, }, @@ -121367,11 +125029,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(884), + Line: int(914), Column: int(16), }, End: ast.Location{ - Line: int(884), + Line: int(914), Column: int(19), }, }, @@ -121405,7 +125067,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9338, + Ctx: p9619, FreeVars: ast.Identifiers{ "std", }, @@ -121413,11 +125075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(884), + Line: int(914), Column: int(16), }, End: ast.Location{ - Line: int(884), + Line: int(914), Column: int(32), }, }, @@ -121440,11 +125102,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(884), + Line: int(914), Column: int(33), }, End: ast.Location{ - Line: int(884), + Line: int(914), Column: int(36), }, }, @@ -121478,7 +125140,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9345, + Ctx: p9626, FreeVars: ast.Identifiers{ "ini", }, @@ -121486,11 +125148,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(884), + Line: int(914), Column: int(33), }, End: ast.Location{ - Line: int(884), + Line: int(914), Column: int(45), }, }, @@ -121505,7 +125167,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9338, + Ctx: p9619, FreeVars: ast.Identifiers{ "ini", "std", @@ -121514,11 +125176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(884), + Line: int(914), Column: int(16), }, End: ast.Location{ - Line: int(884), + Line: int(914), Column: int(46), }, }, @@ -121546,11 +125208,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(882), + Line: int(912), Column: int(26), }, End: ast.Location{ - Line: int(885), + Line: int(915), Column: int(6), }, }, @@ -121566,11 +125228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(882), + Line: int(912), Column: int(11), }, End: ast.Location{ - Line: int(885), + Line: int(915), Column: int(6), }, }, @@ -121597,11 +125259,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(5), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(8), }, }, @@ -121635,7 +125297,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9355, + Ctx: p9636, FreeVars: ast.Identifiers{ "std", }, @@ -121643,11 +125305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(5), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(13), }, }, @@ -121663,17 +125325,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9359, + Ctx: p9640, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(14), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(18), }, }, @@ -121693,17 +125355,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9364, + Ctx: p9645, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(67), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(69), }, }, @@ -121716,17 +125378,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9359, + Ctx: p9640, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(66), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(70), }, }, @@ -121748,11 +125410,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(32), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(35), }, }, @@ -121786,7 +125448,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9359, + Ctx: p9640, FreeVars: ast.Identifiers{ "std", }, @@ -121794,11 +125456,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(32), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(49), }, }, @@ -121812,7 +125474,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "all_sections", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9374, + Ctx: p9655, FreeVars: ast.Identifiers{ "all_sections", }, @@ -121820,11 +125482,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(50), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(62), }, }, @@ -121839,7 +125501,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9359, + Ctx: p9640, FreeVars: ast.Identifiers{ "all_sections", "std", @@ -121848,11 +125510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(32), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(63), }, }, @@ -121864,7 +125526,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "main_body", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9359, + Ctx: p9640, FreeVars: ast.Identifiers{ "main_body", }, @@ -121872,11 +125534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(20), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(29), }, }, @@ -121885,7 +125547,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9359, + Ctx: p9640, FreeVars: ast.Identifiers{ "all_sections", "main_body", @@ -121895,11 +125557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(20), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(63), }, }, @@ -121909,7 +125571,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9359, + Ctx: p9640, FreeVars: ast.Identifiers{ "all_sections", "main_body", @@ -121919,11 +125581,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(20), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(70), }, }, @@ -121939,7 +125601,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9355, + Ctx: p9636, FreeVars: ast.Identifiers{ "all_sections", "main_body", @@ -121949,11 +125611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(886), + Line: int(916), Column: int(5), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(71), }, }, @@ -121970,7 +125632,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p9355, + Ctx: p9636, FreeVars: ast.Identifiers{ "$std", "body_lines", @@ -121981,11 +125643,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(880), + Line: int(910), Column: int(5), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(71), }, }, @@ -122000,7 +125662,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p9355, + Ctx: p9636, FreeVars: ast.Identifiers{ "$std", "ini", @@ -122010,11 +125672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(869), + Line: int(899), Column: int(5), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(71), }, }, @@ -122031,11 +125693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(868), + Line: int(898), Column: int(15), }, End: ast.Location{ - Line: int(868), + Line: int(898), Column: int(18), }, }, @@ -122067,11 +125729,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(868), + Line: int(898), Column: int(3), }, End: ast.Location{ - Line: int(886), + Line: int(916), Column: int(71), }, }, @@ -122119,11 +125781,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(888), + Line: int(918), Column: int(25), }, End: ast.Location{ - Line: int(888), + Line: int(918), Column: int(28), }, }, @@ -122157,7 +125819,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9395, + Ctx: p9676, FreeVars: ast.Identifiers{ "std", }, @@ -122165,11 +125827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(888), + Line: int(918), Column: int(25), }, End: ast.Location{ - Line: int(888), + Line: int(918), Column: int(43), }, }, @@ -122183,7 +125845,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9399, + Ctx: p9680, FreeVars: ast.Identifiers{ "value", }, @@ -122191,11 +125853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(888), + Line: int(918), Column: int(44), }, End: ast.Location{ - Line: int(888), + Line: int(918), Column: int(49), }, }, @@ -122210,17 +125872,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9399, + Ctx: p9680, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(888), + Line: int(918), Column: int(51), }, End: ast.Location{ - Line: int(888), + Line: int(918), Column: int(55), }, }, @@ -122236,7 +125898,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9395, + Ctx: p9676, FreeVars: ast.Identifiers{ "std", "value", @@ -122245,11 +125907,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(888), + Line: int(918), Column: int(25), }, End: ast.Location{ - Line: int(888), + Line: int(918), Column: int(56), }, }, @@ -122268,11 +125930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(888), + Line: int(918), Column: int(16), }, End: ast.Location{ - Line: int(888), + Line: int(918), Column: int(21), }, }, @@ -122303,11 +125965,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(888), + Line: int(918), Column: int(3), }, End: ast.Location{ - Line: int(888), + Line: int(918), Column: int(56), }, }, @@ -122365,11 +126027,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(892), + Line: int(922), Column: int(26), }, End: ast.Location{ - Line: int(892), + Line: int(922), Column: int(29), }, }, @@ -122403,7 +126065,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9414, + Ctx: p9695, FreeVars: ast.Identifiers{ "std", }, @@ -122411,11 +126073,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(892), + Line: int(922), Column: int(26), }, End: ast.Location{ - Line: int(892), + Line: int(922), Column: int(46), }, }, @@ -122429,11 +126091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(892), + Line: int(922), Column: int(7), }, End: ast.Location{ - Line: int(892), + Line: int(922), Column: int(46), }, }, @@ -122461,11 +126123,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(30), }, End: ast.Location{ - Line: int(894), + Line: int(924), Column: int(33), }, }, @@ -122499,7 +126161,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9424, + Ctx: p9705, FreeVars: ast.Identifiers{ "std", }, @@ -122507,11 +126169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(30), }, End: ast.Location{ - Line: int(894), + Line: int(924), Column: int(37), }, }, @@ -122535,11 +126197,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(38), }, End: ast.Location{ - Line: int(894), + Line: int(924), Column: int(41), }, }, @@ -122573,7 +126235,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9432, + Ctx: p9713, FreeVars: ast.Identifiers{ "std", }, @@ -122581,11 +126243,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(38), }, End: ast.Location{ - Line: int(894), + Line: int(924), Column: int(53), }, }, @@ -122601,17 +126263,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9436, + Ctx: p9717, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(54), }, End: ast.Location{ - Line: int(894), + Line: int(924), Column: int(120), }, }, @@ -122627,7 +126289,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9432, + Ctx: p9713, FreeVars: ast.Identifiers{ "std", }, @@ -122635,11 +126297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(38), }, End: ast.Location{ - Line: int(894), + Line: int(924), Column: int(121), }, }, @@ -122656,7 +126318,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9424, + Ctx: p9705, FreeVars: ast.Identifiers{ "std", }, @@ -122664,11 +126326,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(30), }, End: ast.Location{ - Line: int(894), + Line: int(924), Column: int(122), }, }, @@ -122684,11 +126346,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(15), }, End: ast.Location{ - Line: int(894), + Line: int(924), Column: int(122), }, }, @@ -122700,7 +126362,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bare_allowed", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "bare_allowed", }, @@ -122708,11 +126370,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(73), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(85), }, }, @@ -122732,11 +126394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(12), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(15), }, }, @@ -122770,7 +126432,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "std", }, @@ -122778,11 +126440,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(12), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(24), }, }, @@ -122806,11 +126468,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(25), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(28), }, }, @@ -122844,7 +126506,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9456, + Ctx: p9737, FreeVars: ast.Identifiers{ "std", }, @@ -122852,11 +126514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(25), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(32), }, }, @@ -122880,11 +126542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(33), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(36), }, }, @@ -122918,7 +126580,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9464, + Ctx: p9745, FreeVars: ast.Identifiers{ "std", }, @@ -122926,11 +126588,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(33), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(48), }, }, @@ -122944,7 +126606,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9468, + Ctx: p9749, FreeVars: ast.Identifiers{ "key", }, @@ -122952,11 +126614,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(49), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(52), }, }, @@ -122971,7 +126633,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9464, + Ctx: p9745, FreeVars: ast.Identifiers{ "key", "std", @@ -122980,11 +126642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(33), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(53), }, }, @@ -123001,7 +126663,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9456, + Ctx: p9737, FreeVars: ast.Identifiers{ "key", "std", @@ -123010,11 +126672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(25), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(54), }, }, @@ -123029,7 +126691,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bare_allowed", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9456, + Ctx: p9737, FreeVars: ast.Identifiers{ "bare_allowed", }, @@ -123037,11 +126699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(56), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(68), }, }, @@ -123056,7 +126718,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "bare_allowed", "key", @@ -123066,11 +126728,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(12), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(69), }, }, @@ -123081,7 +126743,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "bare_allowed", "key", @@ -123091,11 +126753,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(12), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(85), }, }, @@ -123106,7 +126768,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "key", }, @@ -123114,11 +126776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(91), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(94), }, }, @@ -123129,7 +126791,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "escapeStringToml", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "escapeStringToml", }, @@ -123137,11 +126799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(100), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(116), }, }, @@ -123155,7 +126817,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9483, + Ctx: p9764, FreeVars: ast.Identifiers{ "key", }, @@ -123163,11 +126825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(117), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(120), }, }, @@ -123182,7 +126844,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "escapeStringToml", "key", @@ -123191,11 +126853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(100), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(121), }, }, @@ -123214,7 +126876,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "bare_allowed", "escapeStringToml", @@ -123225,11 +126887,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(895), + Line: int(925), Column: int(9), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(121), }, }, @@ -123244,7 +126906,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p9442, + Ctx: p9723, FreeVars: ast.Identifiers{ "escapeStringToml", "key", @@ -123254,11 +126916,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(894), + Line: int(924), Column: int(9), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(121), }, }, @@ -123275,11 +126937,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(893), + Line: int(923), Column: int(21), }, End: ast.Location{ - Line: int(893), + Line: int(923), Column: int(24), }, }, @@ -123287,7 +126949,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p9491, + Ctx: p9772, FreeVars: ast.Identifiers{ "escapeStringToml", "std", @@ -123296,11 +126958,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(893), + Line: int(923), Column: int(7), }, End: ast.Location{ - Line: int(895), + Line: int(925), Column: int(121), }, }, @@ -123344,11 +127006,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(64), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(67), }, }, @@ -123382,7 +127044,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", }, @@ -123390,11 +127052,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(64), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(71), }, }, @@ -123418,11 +127080,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(72), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(75), }, }, @@ -123456,7 +127118,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9508, + Ctx: p9789, FreeVars: ast.Identifiers{ "std", }, @@ -123464,11 +127126,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(72), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(79), }, }, @@ -123491,11 +127153,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(80), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(83), }, }, @@ -123529,7 +127191,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9515, + Ctx: p9796, FreeVars: ast.Identifiers{ "std", }, @@ -123537,11 +127199,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(80), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(92), }, }, @@ -123554,7 +127216,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9515, + Ctx: p9796, FreeVars: ast.Identifiers{ "v", }, @@ -123562,11 +127224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(94), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(95), }, }, @@ -123581,7 +127243,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9508, + Ctx: p9789, FreeVars: ast.Identifiers{ "std", "v", @@ -123590,11 +127252,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(72), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(96), }, }, @@ -123611,7 +127273,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", "v", @@ -123620,11 +127282,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(64), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(97), }, }, @@ -123638,17 +127300,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(59), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(60), }, }, @@ -123668,11 +127330,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(43), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(46), }, }, @@ -123706,7 +127368,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", }, @@ -123714,11 +127376,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(43), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(53), }, }, @@ -123732,7 +127394,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9532, + Ctx: p9813, FreeVars: ast.Identifiers{ "v", }, @@ -123740,11 +127402,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(54), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(55), }, }, @@ -123759,7 +127421,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", "v", @@ -123768,11 +127430,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(43), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(56), }, }, @@ -123783,7 +127445,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", "v", @@ -123792,11 +127454,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(43), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(60), }, }, @@ -123817,11 +127479,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(25), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(28), }, }, @@ -123855,7 +127517,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", }, @@ -123863,11 +127525,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(25), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(36), }, }, @@ -123881,7 +127543,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9544, + Ctx: p9825, FreeVars: ast.Identifiers{ "v", }, @@ -123889,11 +127551,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(37), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(38), }, }, @@ -123908,7 +127570,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", "v", @@ -123917,11 +127579,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(25), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(39), }, }, @@ -123932,7 +127594,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", "v", @@ -123941,11 +127603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(25), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(60), }, }, @@ -123955,7 +127617,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9500, + Ctx: p9781, FreeVars: ast.Identifiers{ "std", "v", @@ -123964,11 +127626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(25), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(97), }, }, @@ -123986,11 +127648,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(20), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(21), }, }, @@ -123998,7 +127660,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p9550, + Ctx: p9831, FreeVars: ast.Identifiers{ "std", }, @@ -124006,11 +127668,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(896), + Line: int(926), Column: int(7), }, End: ast.Location{ - Line: int(896), + Line: int(926), Column: int(97), }, }, @@ -124045,7 +127707,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "isTableArray", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9556, + Ctx: p9837, FreeVars: ast.Identifiers{ "isTableArray", }, @@ -124053,11 +127715,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(41), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(53), }, }, @@ -124071,7 +127733,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9560, + Ctx: p9841, FreeVars: ast.Identifiers{ "v", }, @@ -124079,11 +127741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(54), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(55), }, }, @@ -124098,7 +127760,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9556, + Ctx: p9837, FreeVars: ast.Identifiers{ "isTableArray", "v", @@ -124107,11 +127769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(41), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(56), }, }, @@ -124133,11 +127795,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(22), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(25), }, }, @@ -124171,7 +127833,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9556, + Ctx: p9837, FreeVars: ast.Identifiers{ "std", }, @@ -124179,11 +127841,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(22), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(34), }, }, @@ -124197,7 +127859,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9571, + Ctx: p9852, FreeVars: ast.Identifiers{ "v", }, @@ -124205,11 +127867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(35), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(36), }, }, @@ -124224,7 +127886,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9556, + Ctx: p9837, FreeVars: ast.Identifiers{ "std", "v", @@ -124233,11 +127895,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(22), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(37), }, }, @@ -124248,7 +127910,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9556, + Ctx: p9837, FreeVars: ast.Identifiers{ "isTableArray", "std", @@ -124258,11 +127920,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(22), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(56), }, }, @@ -124280,11 +127942,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(17), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(18), }, }, @@ -124292,7 +127954,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p9576, + Ctx: p9857, FreeVars: ast.Identifiers{ "isTableArray", "std", @@ -124301,11 +127963,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(897), + Line: int(927), Column: int(7), }, End: ast.Location{ - Line: int(897), + Line: int(927), Column: int(56), }, }, @@ -124339,17 +128001,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(899), + Line: int(929), Column: int(17), }, End: ast.Location{ - Line: int(899), + Line: int(929), Column: int(21), }, }, @@ -124360,7 +128022,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "v", }, @@ -124368,11 +128030,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(899), + Line: int(929), Column: int(12), }, End: ast.Location{ - Line: int(899), + Line: int(929), Column: int(13), }, }, @@ -124381,7 +128043,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "v", }, @@ -124389,11 +128051,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(899), + Line: int(929), Column: int(12), }, End: ast.Location{ - Line: int(899), + Line: int(929), Column: int(21), }, }, @@ -124413,17 +128075,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(900), + Line: int(930), Column: int(11), }, End: ast.Location{ - Line: int(900), + Line: int(930), Column: int(17), }, }, @@ -124435,17 +128097,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(901), + Line: int(931), Column: int(22), }, End: ast.Location{ - Line: int(901), + Line: int(931), Column: int(27), }, }, @@ -124456,7 +128118,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "v", }, @@ -124464,11 +128126,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(901), + Line: int(931), Column: int(17), }, End: ast.Location{ - Line: int(901), + Line: int(931), Column: int(18), }, }, @@ -124477,7 +128139,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "v", }, @@ -124485,11 +128147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(901), + Line: int(931), Column: int(17), }, End: ast.Location{ - Line: int(901), + Line: int(931), Column: int(27), }, }, @@ -124509,17 +128171,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(902), + Line: int(932), Column: int(11), }, End: ast.Location{ - Line: int(902), + Line: int(932), Column: int(18), }, }, @@ -124531,17 +128193,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(903), + Line: int(933), Column: int(22), }, End: ast.Location{ - Line: int(903), + Line: int(933), Column: int(26), }, }, @@ -124551,7 +128213,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "v", }, @@ -124559,11 +128221,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(903), + Line: int(933), Column: int(17), }, End: ast.Location{ - Line: int(903), + Line: int(933), Column: int(18), }, }, @@ -124572,7 +128234,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "v", }, @@ -124580,11 +128242,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(903), + Line: int(933), Column: int(17), }, End: ast.Location{ - Line: int(903), + Line: int(933), Column: int(26), }, }, @@ -124597,7 +128259,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -124605,11 +128267,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(904), + Line: int(934), Column: int(50), }, End: ast.Location{ - Line: int(904), + Line: int(934), Column: int(61), }, }, @@ -124621,17 +128283,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(904), + Line: int(934), Column: int(17), }, End: ast.Location{ - Line: int(904), + Line: int(934), Column: int(47), }, }, @@ -124641,7 +128303,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -124649,11 +128311,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(904), + Line: int(934), Column: int(17), }, End: ast.Location{ - Line: int(904), + Line: int(934), Column: int(61), }, }, @@ -124669,7 +128331,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -124677,11 +128339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(904), + Line: int(934), Column: int(11), }, End: ast.Location{ - Line: int(904), + Line: int(934), Column: int(61), }, }, @@ -124702,11 +128364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(905), + Line: int(935), Column: int(17), }, End: ast.Location{ - Line: int(905), + Line: int(935), Column: int(20), }, }, @@ -124740,7 +128402,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", }, @@ -124748,11 +128410,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(905), + Line: int(935), Column: int(17), }, End: ast.Location{ - Line: int(905), + Line: int(935), Column: int(29), }, }, @@ -124766,7 +128428,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9619, + Ctx: p9900, FreeVars: ast.Identifiers{ "v", }, @@ -124774,11 +128436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(905), + Line: int(935), Column: int(30), }, End: ast.Location{ - Line: int(905), + Line: int(935), Column: int(31), }, }, @@ -124793,7 +128455,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", "v", @@ -124802,11 +128464,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(905), + Line: int(935), Column: int(17), }, End: ast.Location{ - Line: int(905), + Line: int(935), Column: int(32), }, }, @@ -124819,7 +128481,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "v", }, @@ -124827,11 +128489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(906), + Line: int(936), Column: int(16), }, End: ast.Location{ - Line: int(906), + Line: int(936), Column: int(17), }, }, @@ -124850,17 +128512,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(906), + Line: int(936), Column: int(11), }, End: ast.Location{ - Line: int(906), + Line: int(936), Column: int(13), }, }, @@ -124870,7 +128532,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "v", }, @@ -124878,11 +128540,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(906), + Line: int(936), Column: int(11), }, End: ast.Location{ - Line: int(906), + Line: int(936), Column: int(17), }, }, @@ -124904,11 +128566,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(907), + Line: int(937), Column: int(17), }, End: ast.Location{ - Line: int(907), + Line: int(937), Column: int(20), }, }, @@ -124942,7 +128604,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", }, @@ -124950,11 +128612,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(907), + Line: int(937), Column: int(17), }, End: ast.Location{ - Line: int(907), + Line: int(937), Column: int(29), }, }, @@ -124968,7 +128630,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9637, + Ctx: p9918, FreeVars: ast.Identifiers{ "v", }, @@ -124976,11 +128638,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(907), + Line: int(937), Column: int(30), }, End: ast.Location{ - Line: int(907), + Line: int(937), Column: int(31), }, }, @@ -124995,7 +128657,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", "v", @@ -125004,11 +128666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(907), + Line: int(937), Column: int(17), }, End: ast.Location{ - Line: int(907), + Line: int(937), Column: int(32), }, }, @@ -125028,7 +128690,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "escapeStringToml", }, @@ -125036,11 +128698,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(908), + Line: int(938), Column: int(11), }, End: ast.Location{ - Line: int(908), + Line: int(938), Column: int(27), }, }, @@ -125054,7 +128716,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9646, + Ctx: p9927, FreeVars: ast.Identifiers{ "v", }, @@ -125062,11 +128724,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(908), + Line: int(938), Column: int(28), }, End: ast.Location{ - Line: int(908), + Line: int(938), Column: int(29), }, }, @@ -125081,7 +128743,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "escapeStringToml", "v", @@ -125090,11 +128752,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(908), + Line: int(938), Column: int(11), }, End: ast.Location{ - Line: int(908), + Line: int(938), Column: int(30), }, }, @@ -125117,11 +128779,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(909), + Line: int(939), Column: int(17), }, End: ast.Location{ - Line: int(909), + Line: int(939), Column: int(20), }, }, @@ -125155,7 +128817,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", }, @@ -125163,11 +128825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(909), + Line: int(939), Column: int(17), }, End: ast.Location{ - Line: int(909), + Line: int(939), Column: int(31), }, }, @@ -125181,7 +128843,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9658, + Ctx: p9939, FreeVars: ast.Identifiers{ "v", }, @@ -125189,11 +128851,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(909), + Line: int(939), Column: int(32), }, End: ast.Location{ - Line: int(909), + Line: int(939), Column: int(33), }, }, @@ -125208,7 +128870,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", "v", @@ -125217,11 +128879,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(909), + Line: int(939), Column: int(17), }, End: ast.Location{ - Line: int(909), + Line: int(939), Column: int(34), }, }, @@ -125235,7 +128897,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -125243,11 +128905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(910), + Line: int(940), Column: int(52), }, End: ast.Location{ - Line: int(910), + Line: int(940), Column: int(63), }, }, @@ -125259,17 +128921,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(910), + Line: int(940), Column: int(17), }, End: ast.Location{ - Line: int(910), + Line: int(940), Column: int(49), }, }, @@ -125279,7 +128941,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -125287,11 +128949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(910), + Line: int(940), Column: int(17), }, End: ast.Location{ - Line: int(910), + Line: int(940), Column: int(63), }, }, @@ -125307,7 +128969,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -125315,11 +128977,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(910), + Line: int(940), Column: int(11), }, End: ast.Location{ - Line: int(910), + Line: int(940), Column: int(63), }, }, @@ -125340,11 +129002,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(911), + Line: int(941), Column: int(17), }, End: ast.Location{ - Line: int(911), + Line: int(941), Column: int(20), }, }, @@ -125378,7 +129040,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", }, @@ -125386,11 +129048,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(911), + Line: int(941), Column: int(17), }, End: ast.Location{ - Line: int(911), + Line: int(941), Column: int(28), }, }, @@ -125404,7 +129066,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9678, + Ctx: p9959, FreeVars: ast.Identifiers{ "v", }, @@ -125412,11 +129074,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(911), + Line: int(941), Column: int(29), }, End: ast.Location{ - Line: int(911), + Line: int(941), Column: int(30), }, }, @@ -125431,7 +129093,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", "v", @@ -125440,11 +129102,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(911), + Line: int(941), Column: int(17), }, End: ast.Location{ - Line: int(911), + Line: int(941), Column: int(31), }, }, @@ -125458,17 +129120,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(912), + Line: int(942), Column: int(31), }, End: ast.Location{ - Line: int(912), + Line: int(942), Column: int(32), }, }, @@ -125488,11 +129150,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(912), + Line: int(942), Column: int(14), }, End: ast.Location{ - Line: int(912), + Line: int(942), Column: int(17), }, }, @@ -125526,7 +129188,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", }, @@ -125534,11 +129196,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(912), + Line: int(942), Column: int(14), }, End: ast.Location{ - Line: int(912), + Line: int(942), Column: int(24), }, }, @@ -125552,7 +129214,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9692, + Ctx: p9973, FreeVars: ast.Identifiers{ "v", }, @@ -125560,11 +129222,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(912), + Line: int(942), Column: int(25), }, End: ast.Location{ - Line: int(912), + Line: int(942), Column: int(26), }, }, @@ -125579,7 +129241,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", "v", @@ -125588,11 +129250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(912), + Line: int(942), Column: int(14), }, End: ast.Location{ - Line: int(912), + Line: int(942), Column: int(27), }, }, @@ -125603,7 +129265,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", "v", @@ -125612,11 +129274,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(912), + Line: int(942), Column: int(14), }, End: ast.Location{ - Line: int(912), + Line: int(942), Column: int(32), }, }, @@ -125636,17 +129298,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(913), + Line: int(943), Column: int(13), }, End: ast.Location{ - Line: int(913), + Line: int(943), Column: int(17), }, }, @@ -125671,11 +129333,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(27), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(30), }, }, @@ -125709,7 +129371,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9705, + Ctx: p9986, FreeVars: ast.Identifiers{ "std", }, @@ -125717,11 +129379,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(27), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(36), }, }, @@ -125735,17 +129397,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9709, + Ctx: p9990, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(37), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(38), }, }, @@ -125759,17 +129421,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9709, + Ctx: p9990, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(56), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(57), }, }, @@ -125789,11 +129451,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(40), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(43), }, }, @@ -125827,7 +129489,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9709, + Ctx: p9990, FreeVars: ast.Identifiers{ "std", }, @@ -125835,11 +129497,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(40), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(50), }, }, @@ -125853,7 +129515,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9720, + Ctx: p10001, FreeVars: ast.Identifiers{ "v", }, @@ -125861,11 +129523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(51), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(52), }, }, @@ -125880,7 +129542,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9709, + Ctx: p9990, FreeVars: ast.Identifiers{ "std", "v", @@ -125889,11 +129551,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(40), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(53), }, }, @@ -125904,7 +129566,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9709, + Ctx: p9990, FreeVars: ast.Identifiers{ "std", "v", @@ -125913,11 +129575,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(40), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(57), }, }, @@ -125933,7 +129595,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9705, + Ctx: p9986, FreeVars: ast.Identifiers{ "std", "v", @@ -125942,11 +129604,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(27), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(58), }, }, @@ -125962,11 +129624,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(19), }, End: ast.Location{ - Line: int(915), + Line: int(945), Column: int(58), }, }, @@ -125981,7 +129643,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "inline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9729, + Ctx: p10010, FreeVars: ast.Identifiers{ "inline", }, @@ -125989,11 +129651,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(916), + Line: int(946), Column: int(35), }, End: ast.Location{ - Line: int(916), + Line: int(946), Column: int(41), }, }, @@ -126005,17 +129667,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9729, + Ctx: p10010, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(916), + Line: int(946), Column: int(47), }, End: ast.Location{ - Line: int(916), + Line: int(946), Column: int(49), }, }, @@ -126027,7 +129689,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9729, + Ctx: p10010, FreeVars: ast.Identifiers{ "indent", }, @@ -126035,11 +129697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(916), + Line: int(946), Column: int(65), }, End: ast.Location{ - Line: int(916), + Line: int(946), Column: int(71), }, }, @@ -126049,7 +129711,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9729, + Ctx: p10010, FreeVars: ast.Identifiers{ "cindent", }, @@ -126057,11 +129719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(916), + Line: int(946), Column: int(55), }, End: ast.Location{ - Line: int(916), + Line: int(946), Column: int(62), }, }, @@ -126070,7 +129732,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9729, + Ctx: p10010, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -126079,11 +129741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(916), + Line: int(946), Column: int(55), }, End: ast.Location{ - Line: int(916), + Line: int(946), Column: int(71), }, }, @@ -126094,7 +129756,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9729, + Ctx: p10010, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -126104,11 +129766,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(916), + Line: int(946), Column: int(32), }, End: ast.Location{ - Line: int(916), + Line: int(946), Column: int(71), }, }, @@ -126122,11 +129784,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(916), + Line: int(946), Column: int(19), }, End: ast.Location{ - Line: int(916), + Line: int(946), Column: int(71), }, }, @@ -126141,7 +129803,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "inline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9743, + Ctx: p10024, FreeVars: ast.Identifiers{ "inline", }, @@ -126149,11 +129811,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(917), + Line: int(947), Column: int(34), }, End: ast.Location{ - Line: int(917), + Line: int(947), Column: int(40), }, }, @@ -126165,17 +129827,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9743, + Ctx: p10024, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(917), + Line: int(947), Column: int(46), }, End: ast.Location{ - Line: int(917), + Line: int(947), Column: int(49), }, }, @@ -126188,17 +129850,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9743, + Ctx: p10024, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(917), + Line: int(947), Column: int(55), }, End: ast.Location{ - Line: int(917), + Line: int(947), Column: int(59), }, }, @@ -126209,7 +129871,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9743, + Ctx: p10024, FreeVars: ast.Identifiers{ "inline", }, @@ -126217,11 +129879,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(917), + Line: int(947), Column: int(31), }, End: ast.Location{ - Line: int(917), + Line: int(947), Column: int(59), }, }, @@ -126235,11 +129897,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(917), + Line: int(947), Column: int(19), }, End: ast.Location{ - Line: int(917), + Line: int(947), Column: int(59), }, }, @@ -126260,17 +129922,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9755, + Ctx: p10036, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(77), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(80), }, }, @@ -126283,7 +129945,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "inline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9755, + Ctx: p10036, FreeVars: ast.Identifiers{ "inline", }, @@ -126291,11 +129953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(46), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(52), }, }, @@ -126307,17 +129969,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9755, + Ctx: p10036, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(58), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(60), }, }, @@ -126328,7 +129990,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9755, + Ctx: p10036, FreeVars: ast.Identifiers{ "cindent", }, @@ -126336,11 +129998,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(66), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(73), }, }, @@ -126350,7 +130012,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9755, + Ctx: p10036, FreeVars: ast.Identifiers{ "cindent", "inline", @@ -126359,11 +130021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(43), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(73), }, }, @@ -126373,7 +130035,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "separator", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9755, + Ctx: p10036, FreeVars: ast.Identifiers{ "separator", }, @@ -126381,11 +130043,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(30), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(39), }, }, @@ -126394,7 +130056,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9755, + Ctx: p10036, FreeVars: ast.Identifiers{ "cindent", "inline", @@ -126404,11 +130066,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(30), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(74), }, }, @@ -126418,7 +130080,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9755, + Ctx: p10036, FreeVars: ast.Identifiers{ "cindent", "inline", @@ -126428,11 +130090,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(30), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(80), }, }, @@ -126445,7 +130107,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9768, + Ctx: p10049, FreeVars: ast.Identifiers{ "cindent", "inline", @@ -126455,11 +130117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(924), + Line: int(954), Column: int(29), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(81), }, }, @@ -126481,11 +130143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(919), + Line: int(949), Column: int(29), }, End: ast.Location{ - Line: int(919), + Line: int(949), Column: int(32), }, }, @@ -126519,7 +130181,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9768, + Ctx: p10049, FreeVars: ast.Identifiers{ "std", }, @@ -126527,11 +130189,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(919), + Line: int(949), Column: int(29), }, End: ast.Location{ - Line: int(919), + Line: int(949), Column: int(37), }, }, @@ -126549,7 +130211,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "separator", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9782, + Ctx: p10063, FreeVars: ast.Identifiers{ "separator", }, @@ -126557,11 +130219,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(919), + Line: int(949), Column: int(45), }, End: ast.Location{ - Line: int(919), + Line: int(949), Column: int(54), }, }, @@ -126573,17 +130235,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9782, + Ctx: p10063, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(919), + Line: int(949), Column: int(39), }, End: ast.Location{ - Line: int(919), + Line: int(949), Column: int(42), }, }, @@ -126593,7 +130255,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9782, + Ctx: p10063, FreeVars: ast.Identifiers{ "separator", }, @@ -126601,11 +130263,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(919), + Line: int(949), Column: int(39), }, End: ast.Location{ - Line: int(919), + Line: int(949), Column: int(54), }, }, @@ -126618,7 +130280,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9786, + Ctx: p10067, FreeVars: ast.Identifiers{ "separator", }, @@ -126626,11 +130288,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(919), + Line: int(949), Column: int(38), }, End: ast.Location{ - Line: int(919), + Line: int(949), Column: int(55), }, }, @@ -126665,7 +130327,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -126729,7 +130391,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "renderValue", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9803, + Ctx: p10084, FreeVars: ast.Identifiers{ "renderValue", }, @@ -126737,11 +130399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(54), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(65), }, }, @@ -126756,7 +130418,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9808, + Ctx: p10089, FreeVars: ast.Identifiers{ "v", }, @@ -126764,11 +130426,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(66), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(67), }, }, @@ -126778,7 +130440,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9808, + Ctx: p10089, FreeVars: ast.Identifiers{ "i", }, @@ -126786,11 +130448,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(68), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(69), }, }, @@ -126801,7 +130463,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9808, + Ctx: p10089, FreeVars: ast.Identifiers{ "i", "v", @@ -126810,11 +130472,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(66), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(70), }, }, @@ -126831,7 +130493,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9817, + Ctx: p10098, FreeVars: ast.Identifiers{ "i", }, @@ -126839,11 +130501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(87), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(88), }, }, @@ -126855,7 +130517,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9808, + Ctx: p10089, FreeVars: ast.Identifiers{ "i", }, @@ -126863,11 +130525,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(86), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(89), }, }, @@ -126878,7 +130540,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9808, + Ctx: p10089, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -126886,11 +130548,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(72), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(83), }, }, @@ -126899,7 +130561,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9808, + Ctx: p10089, FreeVars: ast.Identifiers{ "i", "indexedPath", @@ -126908,11 +130570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(72), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(89), }, }, @@ -126925,17 +130587,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9808, + Ctx: p10089, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(91), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(95), }, }, @@ -126951,17 +130613,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9808, + Ctx: p10089, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(97), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(99), }, }, @@ -126977,7 +130639,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9803, + Ctx: p10084, FreeVars: ast.Identifiers{ "i", "indexedPath", @@ -126988,11 +130650,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(54), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(100), }, }, @@ -127004,7 +130666,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "new_indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9803, + Ctx: p10084, FreeVars: ast.Identifiers{ "new_indent", }, @@ -127012,11 +130674,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(41), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(51), }, }, @@ -127025,7 +130687,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9803, + Ctx: p10084, FreeVars: ast.Identifiers{ "i", "indexedPath", @@ -127037,11 +130699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(41), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(100), }, }, @@ -127061,7 +130723,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(39), }, }, - Ctx: p9830, + Ctx: p10111, FreeVars: ast.Identifiers{ "i", "indexedPath", @@ -127073,11 +130735,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(921), + Line: int(951), Column: int(40), }, End: ast.Location{ - Line: int(921), + Line: int(951), Column: int(101), }, }, @@ -127165,7 +130827,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "range", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9786, + Ctx: p10067, FreeVars: ast.Identifiers{ "range", }, @@ -127173,11 +130835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(922), + Line: int(952), Column: int(49), }, End: ast.Location{ - Line: int(922), + Line: int(952), Column: int(54), }, }, @@ -127205,11 +130867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(920), + Line: int(950), Column: int(38), }, End: ast.Location{ - Line: int(923), + Line: int(953), Column: int(39), }, }, @@ -127226,7 +130888,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9768, + Ctx: p10049, FreeVars: ast.Identifiers{ "$std", "indexedPath", @@ -127241,11 +130903,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(919), + Line: int(949), Column: int(29), }, End: ast.Location{ - Line: int(923), + Line: int(953), Column: int(40), }, }, @@ -127261,7 +130923,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "separator", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9843, + Ctx: p10124, FreeVars: ast.Identifiers{ "separator", }, @@ -127269,11 +130931,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(918), + Line: int(948), Column: int(34), }, End: ast.Location{ - Line: int(918), + Line: int(948), Column: int(43), }, }, @@ -127285,17 +130947,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9843, + Ctx: p10124, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(918), + Line: int(948), Column: int(28), }, End: ast.Location{ - Line: int(918), + Line: int(948), Column: int(31), }, }, @@ -127305,7 +130967,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9843, + Ctx: p10124, FreeVars: ast.Identifiers{ "separator", }, @@ -127313,11 +130975,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(918), + Line: int(948), Column: int(28), }, End: ast.Location{ - Line: int(918), + Line: int(948), Column: int(43), }, }, @@ -127330,7 +130992,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9768, + Ctx: p10049, FreeVars: ast.Identifiers{ "separator", }, @@ -127338,11 +131000,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(918), + Line: int(948), Column: int(27), }, End: ast.Location{ - Line: int(918), + Line: int(948), Column: int(44), }, }, @@ -127359,7 +131021,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9768, + Ctx: p10049, FreeVars: ast.Identifiers{ "$std", "indexedPath", @@ -127374,11 +131036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(918), + Line: int(948), Column: int(27), }, End: ast.Location{ - Line: int(923), + Line: int(953), Column: int(40), }, }, @@ -127395,7 +131057,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9768, + Ctx: p10049, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -127412,11 +131074,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(918), + Line: int(948), Column: int(27), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(81), }, }, @@ -127431,11 +131093,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(918), + Line: int(948), Column: int(19), }, End: ast.Location{ - Line: int(924), + Line: int(954), Column: int(81), }, }, @@ -127462,11 +131124,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(925), + Line: int(955), Column: int(13), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(16), }, }, @@ -127500,7 +131162,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", }, @@ -127508,11 +131170,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(925), + Line: int(955), Column: int(13), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(21), }, }, @@ -127528,17 +131190,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9861, + Ctx: p10142, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(925), + Line: int(955), Column: int(22), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(24), }, }, @@ -127552,7 +131214,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lines", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9861, + Ctx: p10142, FreeVars: ast.Identifiers{ "lines", }, @@ -127560,11 +131222,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(925), + Line: int(955), Column: int(26), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(31), }, }, @@ -127579,7 +131241,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "lines", "std", @@ -127588,11 +131250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(925), + Line: int(955), Column: int(13), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(32), }, }, @@ -127609,7 +131271,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -127626,11 +131288,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(918), + Line: int(948), Column: int(13), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(32), }, }, @@ -127645,7 +131307,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -127661,11 +131323,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(917), + Line: int(947), Column: int(13), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(32), }, }, @@ -127680,7 +131342,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -127696,11 +131358,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(916), + Line: int(946), Column: int(13), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(32), }, }, @@ -127715,7 +131377,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -127730,11 +131392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(915), + Line: int(945), Column: int(13), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(32), }, }, @@ -127758,7 +131420,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -127773,11 +131435,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(912), + Line: int(942), Column: int(11), }, End: ast.Location{ - Line: int(925), + Line: int(955), Column: int(32), }, }, @@ -127798,11 +131460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(926), + Line: int(956), Column: int(17), }, End: ast.Location{ - Line: int(926), + Line: int(956), Column: int(20), }, }, @@ -127836,7 +131498,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", }, @@ -127844,11 +131506,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(926), + Line: int(956), Column: int(17), }, End: ast.Location{ - Line: int(926), + Line: int(956), Column: int(29), }, }, @@ -127862,7 +131524,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9885, + Ctx: p10166, FreeVars: ast.Identifiers{ "v", }, @@ -127870,11 +131532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(926), + Line: int(956), Column: int(30), }, End: ast.Location{ - Line: int(926), + Line: int(956), Column: int(31), }, }, @@ -127889,7 +131551,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", "v", @@ -127898,11 +131560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(926), + Line: int(956), Column: int(17), }, End: ast.Location{ - Line: int(926), + Line: int(956), Column: int(32), }, }, @@ -127924,17 +131586,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9894, + Ctx: p10175, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(933), + Line: int(963), Column: int(28), }, End: ast.Location{ - Line: int(933), + Line: int(963), Column: int(32), }, }, @@ -127947,17 +131609,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9895, + Ctx: p10176, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(933), + Line: int(963), Column: int(27), }, End: ast.Location{ - Line: int(933), + Line: int(963), Column: int(33), }, }, @@ -127979,11 +131641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(928), + Line: int(958), Column: int(27), }, End: ast.Location{ - Line: int(928), + Line: int(958), Column: int(30), }, }, @@ -128017,7 +131679,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9895, + Ctx: p10176, FreeVars: ast.Identifiers{ "std", }, @@ -128025,11 +131687,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(928), + Line: int(958), Column: int(27), }, End: ast.Location{ - Line: int(928), + Line: int(958), Column: int(35), }, }, @@ -128048,17 +131710,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9907, + Ctx: p10188, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(928), + Line: int(958), Column: int(37), }, End: ast.Location{ - Line: int(928), + Line: int(958), Column: int(41), }, }, @@ -128071,17 +131733,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9908, + Ctx: p10189, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(928), + Line: int(958), Column: int(36), }, End: ast.Location{ - Line: int(928), + Line: int(958), Column: int(42), }, }, @@ -128116,7 +131778,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -128180,7 +131842,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "renderValue", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9924, + Ctx: p10205, FreeVars: ast.Identifiers{ "renderValue", }, @@ -128188,11 +131850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(66), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(77), }, }, @@ -128207,7 +131869,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9929, + Ctx: p10210, FreeVars: ast.Identifiers{ "v", }, @@ -128215,11 +131877,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(78), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(79), }, }, @@ -128229,7 +131891,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9929, + Ctx: p10210, FreeVars: ast.Identifiers{ "k", }, @@ -128237,11 +131899,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(80), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(81), }, }, @@ -128252,7 +131914,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9929, + Ctx: p10210, FreeVars: ast.Identifiers{ "k", "v", @@ -128261,11 +131923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(78), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(82), }, }, @@ -128282,7 +131944,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9938, + Ctx: p10219, FreeVars: ast.Identifiers{ "k", }, @@ -128290,11 +131952,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(99), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(100), }, }, @@ -128306,7 +131968,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9929, + Ctx: p10210, FreeVars: ast.Identifiers{ "k", }, @@ -128314,11 +131976,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(98), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(101), }, }, @@ -128329,7 +131991,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9929, + Ctx: p10210, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -128337,11 +131999,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(84), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(95), }, }, @@ -128350,7 +132012,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9929, + Ctx: p10210, FreeVars: ast.Identifiers{ "indexedPath", "k", @@ -128359,11 +132021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(84), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(101), }, }, @@ -128376,17 +132038,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9929, + Ctx: p10210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(103), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(107), }, }, @@ -128402,17 +132064,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9929, + Ctx: p10210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(109), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(111), }, }, @@ -128428,7 +132090,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9924, + Ctx: p10205, FreeVars: ast.Identifiers{ "indexedPath", "k", @@ -128439,11 +132101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(66), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(112), }, }, @@ -128458,17 +132120,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9924, + Ctx: p10205, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(58), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(63), }, }, @@ -128480,7 +132142,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "escapeKeyToml", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9924, + Ctx: p10205, FreeVars: ast.Identifiers{ "escapeKeyToml", }, @@ -128488,11 +132150,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(39), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(52), }, }, @@ -128506,7 +132168,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9954, + Ctx: p10235, FreeVars: ast.Identifiers{ "k", }, @@ -128514,11 +132176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(53), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(54), }, }, @@ -128533,7 +132195,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9924, + Ctx: p10205, FreeVars: ast.Identifiers{ "escapeKeyToml", "k", @@ -128542,11 +132204,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(39), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(55), }, }, @@ -128557,7 +132219,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9924, + Ctx: p10205, FreeVars: ast.Identifiers{ "escapeKeyToml", "k", @@ -128566,11 +132228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(39), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(63), }, }, @@ -128580,7 +132242,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9924, + Ctx: p10205, FreeVars: ast.Identifiers{ "escapeKeyToml", "indexedPath", @@ -128592,11 +132254,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(39), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(112), }, }, @@ -128616,7 +132278,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(37), }, }, - Ctx: p9960, + Ctx: p10241, FreeVars: ast.Identifiers{ "escapeKeyToml", "indexedPath", @@ -128628,11 +132290,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(930), + Line: int(960), Column: int(38), }, End: ast.Location{ - Line: int(930), + Line: int(960), Column: int(113), }, }, @@ -128730,11 +132392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(931), + Line: int(961), Column: int(47), }, End: ast.Location{ - Line: int(931), + Line: int(961), Column: int(50), }, }, @@ -128768,7 +132430,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9908, + Ctx: p10189, FreeVars: ast.Identifiers{ "std", }, @@ -128776,11 +132438,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(931), + Line: int(961), Column: int(47), }, End: ast.Location{ - Line: int(931), + Line: int(961), Column: int(63), }, }, @@ -128794,7 +132456,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9973, + Ctx: p10254, FreeVars: ast.Identifiers{ "v", }, @@ -128802,11 +132464,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(931), + Line: int(961), Column: int(64), }, End: ast.Location{ - Line: int(931), + Line: int(961), Column: int(65), }, }, @@ -128821,7 +132483,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9908, + Ctx: p10189, FreeVars: ast.Identifiers{ "std", "v", @@ -128830,11 +132492,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(931), + Line: int(961), Column: int(47), }, End: ast.Location{ - Line: int(931), + Line: int(961), Column: int(66), }, }, @@ -128864,11 +132526,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(929), + Line: int(959), Column: int(36), }, End: ast.Location{ - Line: int(932), + Line: int(962), Column: int(37), }, }, @@ -128885,7 +132547,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9895, + Ctx: p10176, FreeVars: ast.Identifiers{ "$std", "escapeKeyToml", @@ -128898,11 +132560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(928), + Line: int(958), Column: int(27), }, End: ast.Location{ - Line: int(932), + Line: int(962), Column: int(38), }, }, @@ -128919,17 +132581,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9981, + Ctx: p10262, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(927), + Line: int(957), Column: int(26), }, End: ast.Location{ - Line: int(927), + Line: int(957), Column: int(30), }, }, @@ -128942,17 +132604,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9895, + Ctx: p10176, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(927), + Line: int(957), Column: int(25), }, End: ast.Location{ - Line: int(927), + Line: int(957), Column: int(31), }, }, @@ -128969,7 +132631,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9895, + Ctx: p10176, FreeVars: ast.Identifiers{ "$std", "escapeKeyToml", @@ -128982,11 +132644,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(927), + Line: int(957), Column: int(25), }, End: ast.Location{ - Line: int(932), + Line: int(962), Column: int(38), }, }, @@ -129003,7 +132665,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9895, + Ctx: p10176, FreeVars: ast.Identifiers{ "$std", "escapeKeyToml", @@ -129016,11 +132678,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(927), + Line: int(957), Column: int(25), }, End: ast.Location{ - Line: int(933), + Line: int(963), Column: int(33), }, }, @@ -129035,11 +132697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(927), + Line: int(957), Column: int(17), }, End: ast.Location{ - Line: int(933), + Line: int(963), Column: int(33), }, }, @@ -129066,11 +132728,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(934), + Line: int(964), Column: int(11), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(14), }, }, @@ -129104,7 +132766,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "std", }, @@ -129112,11 +132774,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(934), + Line: int(964), Column: int(11), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(19), }, }, @@ -129132,17 +132794,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9995, + Ctx: p10276, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(934), + Line: int(964), Column: int(20), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(22), }, }, @@ -129156,7 +132818,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lines", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9995, + Ctx: p10276, FreeVars: ast.Identifiers{ "lines", }, @@ -129164,11 +132826,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(934), + Line: int(964), Column: int(24), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(29), }, }, @@ -129183,7 +132845,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "lines", "std", @@ -129192,11 +132854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(934), + Line: int(964), Column: int(11), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129213,7 +132875,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "escapeKeyToml", @@ -129226,11 +132888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(927), + Line: int(957), Column: int(11), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129259,7 +132921,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "escapeKeyToml", @@ -129272,11 +132934,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(926), + Line: int(956), Column: int(14), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129293,7 +132955,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -129309,11 +132971,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(911), + Line: int(941), Column: int(14), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129330,7 +132992,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -129346,11 +133008,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(909), + Line: int(939), Column: int(14), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129367,7 +133029,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -129384,11 +133046,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(907), + Line: int(937), Column: int(14), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129405,7 +133067,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -129422,11 +133084,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(905), + Line: int(935), Column: int(14), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129443,7 +133105,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -129460,11 +133122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(903), + Line: int(933), Column: int(14), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129481,7 +133143,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -129498,11 +133160,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(901), + Line: int(931), Column: int(14), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129526,7 +133188,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p9582, + Ctx: p9863, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -129543,11 +133205,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(899), + Line: int(929), Column: int(9), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129564,11 +133226,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(898), + Line: int(928), Column: int(19), }, End: ast.Location{ - Line: int(898), + Line: int(928), Column: int(20), }, }, @@ -129583,11 +133245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(898), + Line: int(928), Column: int(22), }, End: ast.Location{ - Line: int(898), + Line: int(928), Column: int(33), }, }, @@ -129602,11 +133264,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(898), + Line: int(928), Column: int(35), }, End: ast.Location{ - Line: int(898), + Line: int(928), Column: int(41), }, }, @@ -129621,11 +133283,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(898), + Line: int(928), Column: int(43), }, End: ast.Location{ - Line: int(898), + Line: int(928), Column: int(50), }, }, @@ -129633,7 +133295,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p10019, + Ctx: p10300, FreeVars: ast.Identifiers{ "$std", "escapeKeyToml", @@ -129646,11 +133308,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(898), + Line: int(928), Column: int(7), }, End: ast.Location{ - Line: int(934), + Line: int(964), Column: int(30), }, }, @@ -129697,11 +133359,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(936), + Line: int(966), Column: int(21), }, End: ast.Location{ - Line: int(936), + Line: int(966), Column: int(24), }, }, @@ -129735,7 +133397,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10029, + Ctx: p10310, FreeVars: ast.Identifiers{ "std", }, @@ -129743,11 +133405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(936), + Line: int(966), Column: int(21), }, End: ast.Location{ - Line: int(936), + Line: int(966), Column: int(38), }, }, @@ -129782,7 +133444,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -129841,7 +133503,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "isSection", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10044, + Ctx: p10325, FreeVars: ast.Identifiers{ "isSection", }, @@ -129849,11 +133511,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(939), + Line: int(969), Column: int(15), }, End: ast.Location{ - Line: int(939), + Line: int(969), Column: int(24), }, }, @@ -129868,7 +133530,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10049, + Ctx: p10330, FreeVars: ast.Identifiers{ "v", }, @@ -129876,11 +133538,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(939), + Line: int(969), Column: int(25), }, End: ast.Location{ - Line: int(939), + Line: int(969), Column: int(26), }, }, @@ -129890,7 +133552,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10049, + Ctx: p10330, FreeVars: ast.Identifiers{ "k", }, @@ -129898,11 +133560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(939), + Line: int(969), Column: int(27), }, End: ast.Location{ - Line: int(939), + Line: int(969), Column: int(28), }, }, @@ -129913,7 +133575,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10049, + Ctx: p10330, FreeVars: ast.Identifiers{ "k", "v", @@ -129922,11 +133584,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(939), + Line: int(969), Column: int(25), }, End: ast.Location{ - Line: int(939), + Line: int(969), Column: int(29), }, }, @@ -129941,7 +133603,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10044, + Ctx: p10325, FreeVars: ast.Identifiers{ "isSection", "k", @@ -129951,11 +133613,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(939), + Line: int(969), Column: int(15), }, End: ast.Location{ - Line: int(939), + Line: int(969), Column: int(30), }, }, @@ -129965,7 +133627,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10044, + Ctx: p10325, FreeVars: ast.Identifiers{ "isSection", "k", @@ -129975,11 +133637,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(939), + Line: int(969), Column: int(14), }, End: ast.Location{ - Line: int(939), + Line: int(969), Column: int(30), }, }, @@ -129998,7 +133660,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "renderValue", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{ "renderValue", }, @@ -130006,11 +133668,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(49), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(60), }, }, @@ -130025,7 +133687,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10068, + Ctx: p10349, FreeVars: ast.Identifiers{ "v", }, @@ -130033,11 +133695,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(61), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(62), }, }, @@ -130047,7 +133709,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10068, + Ctx: p10349, FreeVars: ast.Identifiers{ "k", }, @@ -130055,11 +133717,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(63), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(64), }, }, @@ -130070,7 +133732,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10068, + Ctx: p10349, FreeVars: ast.Identifiers{ "k", "v", @@ -130079,11 +133741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(61), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(65), }, }, @@ -130100,7 +133762,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10077, + Ctx: p10358, FreeVars: ast.Identifiers{ "k", }, @@ -130108,11 +133770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(82), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(83), }, }, @@ -130124,7 +133786,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10068, + Ctx: p10349, FreeVars: ast.Identifiers{ "k", }, @@ -130132,11 +133794,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(81), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(84), }, }, @@ -130147,7 +133809,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10068, + Ctx: p10349, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -130155,11 +133817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(67), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(78), }, }, @@ -130168,7 +133830,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10068, + Ctx: p10349, FreeVars: ast.Identifiers{ "indexedPath", "k", @@ -130177,11 +133839,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(67), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(84), }, }, @@ -130194,17 +133856,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10068, + Ctx: p10349, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(86), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(91), }, }, @@ -130218,7 +133880,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10068, + Ctx: p10349, FreeVars: ast.Identifiers{ "cindent", }, @@ -130226,11 +133888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(93), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(100), }, }, @@ -130245,7 +133907,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{ "cindent", "indexedPath", @@ -130257,11 +133919,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(49), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(101), }, }, @@ -130276,17 +133938,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(41), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(46), }, }, @@ -130299,7 +133961,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "escapeKeyToml", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{ "escapeKeyToml", }, @@ -130307,11 +133969,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(22), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(35), }, }, @@ -130325,7 +133987,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10095, + Ctx: p10376, FreeVars: ast.Identifiers{ "k", }, @@ -130333,11 +133995,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(36), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(37), }, }, @@ -130352,7 +134014,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{ "escapeKeyToml", "k", @@ -130361,11 +134023,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(22), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(38), }, }, @@ -130377,7 +134039,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{ "cindent", }, @@ -130385,11 +134047,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(12), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(19), }, }, @@ -130398,7 +134060,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -130408,11 +134070,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(12), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(38), }, }, @@ -130422,7 +134084,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -130432,11 +134094,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(12), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(46), }, }, @@ -130446,7 +134108,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10063, + Ctx: p10344, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -130459,11 +134121,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(12), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(101), }, }, @@ -130483,7 +134145,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p10104, + Ctx: p10385, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -130496,11 +134158,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(937), + Line: int(967), Column: int(11), }, End: ast.Location{ - Line: int(937), + Line: int(967), Column: int(102), }, }, @@ -130651,11 +134313,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(938), + Line: int(968), Column: int(20), }, End: ast.Location{ - Line: int(938), + Line: int(968), Column: int(23), }, }, @@ -130689,7 +134351,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10044, + Ctx: p10325, FreeVars: ast.Identifiers{ "std", }, @@ -130697,11 +134359,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(938), + Line: int(968), Column: int(20), }, End: ast.Location{ - Line: int(938), + Line: int(968), Column: int(36), }, }, @@ -130715,7 +134377,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10119, + Ctx: p10400, FreeVars: ast.Identifiers{ "v", }, @@ -130723,11 +134385,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(938), + Line: int(968), Column: int(37), }, End: ast.Location{ - Line: int(938), + Line: int(968), Column: int(38), }, }, @@ -130742,7 +134404,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10044, + Ctx: p10325, FreeVars: ast.Identifiers{ "std", "v", @@ -130751,11 +134413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(938), + Line: int(968), Column: int(20), }, End: ast.Location{ - Line: int(938), + Line: int(968), Column: int(39), }, }, @@ -130787,11 +134449,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(936), + Line: int(966), Column: int(39), }, End: ast.Location{ - Line: int(940), + Line: int(970), Column: int(10), }, }, @@ -130808,7 +134470,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10029, + Ctx: p10310, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -130823,11 +134485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(936), + Line: int(966), Column: int(21), }, End: ast.Location{ - Line: int(940), + Line: int(970), Column: int(11), }, }, @@ -130843,11 +134505,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(936), + Line: int(966), Column: int(15), }, End: ast.Location{ - Line: int(940), + Line: int(970), Column: int(11), }, }, @@ -130883,7 +134545,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -130941,7 +134603,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "isSection", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10138, + Ctx: p10419, FreeVars: ast.Identifiers{ "isSection", }, @@ -130949,11 +134611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(949), + Line: int(979), Column: int(14), }, End: ast.Location{ - Line: int(949), + Line: int(979), Column: int(23), }, }, @@ -130968,7 +134630,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10143, + Ctx: p10424, FreeVars: ast.Identifiers{ "v", }, @@ -130976,11 +134638,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(949), + Line: int(979), Column: int(24), }, End: ast.Location{ - Line: int(949), + Line: int(979), Column: int(25), }, }, @@ -130990,7 +134652,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10143, + Ctx: p10424, FreeVars: ast.Identifiers{ "k", }, @@ -130998,11 +134660,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(949), + Line: int(979), Column: int(26), }, End: ast.Location{ - Line: int(949), + Line: int(979), Column: int(27), }, }, @@ -131013,7 +134675,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10143, + Ctx: p10424, FreeVars: ast.Identifiers{ "k", "v", @@ -131022,11 +134684,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(949), + Line: int(979), Column: int(24), }, End: ast.Location{ - Line: int(949), + Line: int(979), Column: int(28), }, }, @@ -131041,7 +134703,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10138, + Ctx: p10419, FreeVars: ast.Identifiers{ "isSection", "k", @@ -131051,11 +134713,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(949), + Line: int(979), Column: int(14), }, End: ast.Location{ - Line: int(949), + Line: int(979), Column: int(29), }, }, @@ -131081,11 +134743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(943), + Line: int(973), Column: int(16), }, End: ast.Location{ - Line: int(943), + Line: int(973), Column: int(19), }, }, @@ -131119,7 +134781,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10157, + Ctx: p10438, FreeVars: ast.Identifiers{ "std", }, @@ -131127,11 +134789,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(943), + Line: int(973), Column: int(16), }, End: ast.Location{ - Line: int(943), + Line: int(973), Column: int(28), }, }, @@ -131146,7 +134808,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10162, + Ctx: p10443, FreeVars: ast.Identifiers{ "v", }, @@ -131154,11 +134816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(943), + Line: int(973), Column: int(29), }, End: ast.Location{ - Line: int(943), + Line: int(973), Column: int(30), }, }, @@ -131168,7 +134830,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10162, + Ctx: p10443, FreeVars: ast.Identifiers{ "k", }, @@ -131176,11 +134838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(943), + Line: int(973), Column: int(31), }, End: ast.Location{ - Line: int(943), + Line: int(973), Column: int(32), }, }, @@ -131191,7 +134853,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10162, + Ctx: p10443, FreeVars: ast.Identifiers{ "k", "v", @@ -131200,11 +134862,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(943), + Line: int(973), Column: int(29), }, End: ast.Location{ - Line: int(943), + Line: int(973), Column: int(33), }, }, @@ -131219,7 +134881,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10157, + Ctx: p10438, FreeVars: ast.Identifiers{ "k", "std", @@ -131229,11 +134891,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(943), + Line: int(973), Column: int(16), }, End: ast.Location{ - Line: int(943), + Line: int(973), Column: int(34), }, }, @@ -131253,7 +134915,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p10157, + Ctx: p10438, FreeVars: ast.Identifiers{ "renderTable", }, @@ -131261,11 +134923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(15), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(26), }, }, @@ -131280,7 +134942,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "v", }, @@ -131288,11 +134950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(27), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(28), }, }, @@ -131302,7 +134964,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "k", }, @@ -131310,11 +134972,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(29), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(30), }, }, @@ -131325,7 +134987,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "k", "v", @@ -131334,11 +134996,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(27), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(31), }, }, @@ -131355,7 +135017,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10184, + Ctx: p10465, FreeVars: ast.Identifiers{ "k", }, @@ -131363,11 +135025,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(41), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(42), }, }, @@ -131379,7 +135041,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "k", }, @@ -131387,11 +135049,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(40), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(43), }, }, @@ -131402,7 +135064,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "path", }, @@ -131410,11 +135072,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(33), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(37), }, }, @@ -131423,7 +135085,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "k", "path", @@ -131432,11 +135094,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(33), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(43), }, }, @@ -131454,7 +135116,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10194, + Ctx: p10475, FreeVars: ast.Identifiers{ "k", }, @@ -131462,11 +135124,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(60), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(61), }, }, @@ -131478,7 +135140,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "k", }, @@ -131486,11 +135148,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(59), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(62), }, }, @@ -131501,7 +135163,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -131509,11 +135171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(45), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(56), }, }, @@ -131522,7 +135184,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "indexedPath", "k", @@ -131531,11 +135193,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(45), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(62), }, }, @@ -131549,7 +135211,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10175, + Ctx: p10456, FreeVars: ast.Identifiers{ "cindent", }, @@ -131557,11 +135219,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(64), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(71), }, }, @@ -131576,7 +135238,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10157, + Ctx: p10438, FreeVars: ast.Identifiers{ "cindent", "indexedPath", @@ -131589,11 +135251,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(944), + Line: int(974), Column: int(15), }, End: ast.Location{ - Line: int(944), + Line: int(974), Column: int(72), }, }, @@ -131613,7 +135275,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p10157, + Ctx: p10438, FreeVars: ast.Identifiers{ "renderTableArray", }, @@ -131621,11 +135283,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(15), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(31), }, }, @@ -131640,7 +135302,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "v", }, @@ -131648,11 +135310,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(32), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(33), }, }, @@ -131662,7 +135324,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "k", }, @@ -131670,11 +135332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(34), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(35), }, }, @@ -131685,7 +135347,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "k", "v", @@ -131694,11 +135356,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(32), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(36), }, }, @@ -131715,7 +135377,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10219, + Ctx: p10500, FreeVars: ast.Identifiers{ "k", }, @@ -131723,11 +135385,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(46), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(47), }, }, @@ -131739,7 +135401,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "k", }, @@ -131747,11 +135409,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(45), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(48), }, }, @@ -131762,7 +135424,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "path", }, @@ -131770,11 +135432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(38), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(42), }, }, @@ -131783,7 +135445,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "k", "path", @@ -131792,11 +135454,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(38), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(48), }, }, @@ -131814,7 +135476,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10229, + Ctx: p10510, FreeVars: ast.Identifiers{ "k", }, @@ -131822,11 +135484,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(65), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(66), }, }, @@ -131838,7 +135500,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "k", }, @@ -131846,11 +135508,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(64), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(67), }, }, @@ -131861,7 +135523,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -131869,11 +135531,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(50), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(61), }, }, @@ -131882,7 +135544,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "indexedPath", "k", @@ -131891,11 +135553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(50), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(67), }, }, @@ -131909,7 +135571,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10210, + Ctx: p10491, FreeVars: ast.Identifiers{ "cindent", }, @@ -131917,11 +135579,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(69), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(76), }, }, @@ -131936,7 +135598,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10157, + Ctx: p10438, FreeVars: ast.Identifiers{ "cindent", "indexedPath", @@ -131949,11 +135611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(946), + Line: int(976), Column: int(15), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(77), }, }, @@ -131979,7 +135641,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p10157, + Ctx: p10438, FreeVars: ast.Identifiers{ "cindent", "indexedPath", @@ -131994,11 +135656,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(943), + Line: int(973), Column: int(13), }, End: ast.Location{ - Line: int(946), + Line: int(976), Column: int(77), }, }, @@ -132154,11 +135816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(948), + Line: int(978), Column: int(20), }, End: ast.Location{ - Line: int(948), + Line: int(978), Column: int(23), }, }, @@ -132192,7 +135854,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10138, + Ctx: p10419, FreeVars: ast.Identifiers{ "std", }, @@ -132200,11 +135862,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(948), + Line: int(978), Column: int(20), }, End: ast.Location{ - Line: int(948), + Line: int(978), Column: int(36), }, }, @@ -132218,7 +135880,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10254, + Ctx: p10535, FreeVars: ast.Identifiers{ "v", }, @@ -132226,11 +135888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(948), + Line: int(978), Column: int(37), }, End: ast.Location{ - Line: int(948), + Line: int(978), Column: int(38), }, }, @@ -132245,7 +135907,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10138, + Ctx: p10419, FreeVars: ast.Identifiers{ "std", "v", @@ -132254,11 +135916,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(948), + Line: int(978), Column: int(20), }, End: ast.Location{ - Line: int(948), + Line: int(978), Column: int(39), }, }, @@ -132291,11 +135953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(50), }, End: ast.Location{ - Line: int(950), + Line: int(980), Column: int(10), }, }, @@ -132320,11 +135982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(27), }, End: ast.Location{ - Line: int(941), + Line: int(971), Column: int(30), }, }, @@ -132358,7 +136020,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10265, + Ctx: p10546, FreeVars: ast.Identifiers{ "std", }, @@ -132366,11 +136028,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(27), }, End: ast.Location{ - Line: int(941), + Line: int(971), Column: int(35), }, }, @@ -132386,17 +136048,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10269, + Ctx: p10550, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(36), }, End: ast.Location{ - Line: int(941), + Line: int(971), Column: int(40), }, }, @@ -132410,7 +136072,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "kvp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10269, + Ctx: p10550, FreeVars: ast.Identifiers{ "kvp", }, @@ -132418,11 +136080,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(42), }, End: ast.Location{ - Line: int(941), + Line: int(971), Column: int(45), }, }, @@ -132437,7 +136099,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10265, + Ctx: p10546, FreeVars: ast.Identifiers{ "kvp", "std", @@ -132446,11 +136108,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(27), }, End: ast.Location{ - Line: int(941), + Line: int(971), Column: int(46), }, }, @@ -132464,7 +136126,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10138, + Ctx: p10419, FreeVars: ast.Identifiers{ "kvp", "std", @@ -132473,11 +136135,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(26), }, End: ast.Location{ - Line: int(941), + Line: int(971), Column: int(47), }, }, @@ -132487,7 +136149,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10138, + Ctx: p10419, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -132504,11 +136166,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(26), }, End: ast.Location{ - Line: int(950), + Line: int(980), Column: int(10), }, }, @@ -132523,11 +136185,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(15), }, End: ast.Location{ - Line: int(950), + Line: int(980), Column: int(10), }, }, @@ -132554,11 +136216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(951), + Line: int(981), Column: int(9), }, End: ast.Location{ - Line: int(951), + Line: int(981), Column: int(12), }, }, @@ -132592,7 +136254,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10281, + Ctx: p10562, FreeVars: ast.Identifiers{ "std", }, @@ -132600,11 +136262,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(951), + Line: int(981), Column: int(9), }, End: ast.Location{ - Line: int(951), + Line: int(981), Column: int(17), }, }, @@ -132620,17 +136282,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10285, + Ctx: p10566, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(951), + Line: int(981), Column: int(18), }, End: ast.Location{ - Line: int(951), + Line: int(981), Column: int(24), }, }, @@ -132644,7 +136306,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sections", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10285, + Ctx: p10566, FreeVars: ast.Identifiers{ "sections", }, @@ -132652,11 +136314,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(951), + Line: int(981), Column: int(26), }, End: ast.Location{ - Line: int(951), + Line: int(981), Column: int(34), }, }, @@ -132671,7 +136333,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10281, + Ctx: p10562, FreeVars: ast.Identifiers{ "sections", "std", @@ -132680,11 +136342,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(951), + Line: int(981), Column: int(9), }, End: ast.Location{ - Line: int(951), + Line: int(981), Column: int(35), }, }, @@ -132701,7 +136363,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10281, + Ctx: p10562, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -132718,11 +136380,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(941), + Line: int(971), Column: int(9), }, End: ast.Location{ - Line: int(951), + Line: int(981), Column: int(35), }, }, @@ -132737,7 +136399,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10281, + Ctx: p10562, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -132755,11 +136417,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(936), + Line: int(966), Column: int(9), }, End: ast.Location{ - Line: int(951), + Line: int(981), Column: int(35), }, }, @@ -132776,11 +136438,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(935), + Line: int(965), Column: int(27), }, End: ast.Location{ - Line: int(935), + Line: int(965), Column: int(28), }, }, @@ -132795,11 +136457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(935), + Line: int(965), Column: int(30), }, End: ast.Location{ - Line: int(935), + Line: int(965), Column: int(34), }, }, @@ -132814,11 +136476,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(935), + Line: int(965), Column: int(36), }, End: ast.Location{ - Line: int(935), + Line: int(965), Column: int(47), }, }, @@ -132833,11 +136495,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(935), + Line: int(965), Column: int(49), }, End: ast.Location{ - Line: int(935), + Line: int(965), Column: int(56), }, }, @@ -132845,7 +136507,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p10294, + Ctx: p10575, FreeVars: ast.Identifiers{ "$std", "escapeKeyToml", @@ -132859,11 +136521,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(935), + Line: int(965), Column: int(7), }, End: ast.Location{ - Line: int(951), + Line: int(981), Column: int(35), }, }, @@ -132898,7 +136560,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "renderTableInternal", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "renderTableInternal", }, @@ -132906,11 +136568,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(955), + Line: int(985), Column: int(11), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(30), }, }, @@ -132924,7 +136586,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10304, + Ctx: p10585, FreeVars: ast.Identifiers{ "v", }, @@ -132932,11 +136594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(955), + Line: int(985), Column: int(31), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(32), }, }, @@ -132949,7 +136611,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10304, + Ctx: p10585, FreeVars: ast.Identifiers{ "path", }, @@ -132957,11 +136619,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(955), + Line: int(985), Column: int(34), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(38), }, }, @@ -132974,7 +136636,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10304, + Ctx: p10585, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -132982,11 +136644,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(955), + Line: int(985), Column: int(40), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(51), }, }, @@ -133000,7 +136662,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10304, + Ctx: p10585, FreeVars: ast.Identifiers{ "indent", }, @@ -133008,11 +136670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(955), + Line: int(985), Column: int(63), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(69), }, }, @@ -133022,7 +136684,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10304, + Ctx: p10585, FreeVars: ast.Identifiers{ "cindent", }, @@ -133030,11 +136692,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(955), + Line: int(985), Column: int(53), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(60), }, }, @@ -133043,7 +136705,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10304, + Ctx: p10585, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -133052,11 +136714,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(955), + Line: int(985), Column: int(53), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(69), }, }, @@ -133072,7 +136734,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -133085,11 +136747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(955), + Line: int(985), Column: int(11), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(70), }, }, @@ -133106,17 +136768,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(954), + Line: int(984), Column: int(20), }, End: ast.Location{ - Line: int(954), + Line: int(984), Column: int(22), }, }, @@ -133126,7 +136788,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "v", }, @@ -133134,11 +136796,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(954), + Line: int(984), Column: int(15), }, End: ast.Location{ - Line: int(954), + Line: int(984), Column: int(16), }, }, @@ -133147,7 +136809,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "v", }, @@ -133155,11 +136817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(954), + Line: int(984), Column: int(15), }, End: ast.Location{ - Line: int(954), + Line: int(984), Column: int(22), }, }, @@ -133172,17 +136834,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(954), + Line: int(984), Column: int(28), }, End: ast.Location{ - Line: int(954), + Line: int(984), Column: int(30), }, }, @@ -133195,17 +136857,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(954), + Line: int(984), Column: int(36), }, End: ast.Location{ - Line: int(954), + Line: int(984), Column: int(40), }, }, @@ -133216,7 +136878,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "v", }, @@ -133224,11 +136886,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(954), + Line: int(984), Column: int(12), }, End: ast.Location{ - Line: int(954), + Line: int(984), Column: int(40), }, }, @@ -133241,17 +136903,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(71), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(74), }, }, @@ -133273,11 +136935,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(25), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(28), }, }, @@ -133311,7 +136973,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "std", }, @@ -133319,11 +136981,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(25), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(33), }, }, @@ -133339,17 +137001,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10338, + Ctx: p10619, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(34), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(37), }, }, @@ -133373,11 +137035,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(39), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(42), }, }, @@ -133411,7 +137073,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10338, + Ctx: p10619, FreeVars: ast.Identifiers{ "std", }, @@ -133419,11 +137081,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(39), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(46), }, }, @@ -133437,7 +137099,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "escapeKeyToml", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10347, + Ctx: p10628, FreeVars: ast.Identifiers{ "escapeKeyToml", }, @@ -133445,11 +137107,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(47), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(60), }, }, @@ -133462,7 +137124,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10347, + Ctx: p10628, FreeVars: ast.Identifiers{ "path", }, @@ -133470,11 +137132,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(62), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(66), }, }, @@ -133489,7 +137151,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10338, + Ctx: p10619, FreeVars: ast.Identifiers{ "escapeKeyToml", "path", @@ -133499,11 +137161,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(39), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(67), }, }, @@ -133520,7 +137182,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "escapeKeyToml", "path", @@ -133530,11 +137192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(25), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(68), }, }, @@ -133549,17 +137211,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(19), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(22), }, }, @@ -133577,7 +137239,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "cindent", }, @@ -133585,11 +137247,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(9), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(16), }, }, @@ -133598,7 +137260,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "cindent", }, @@ -133606,11 +137268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(9), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(22), }, }, @@ -133620,7 +137282,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -133631,11 +137293,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(9), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(68), }, }, @@ -133645,7 +137307,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -133656,11 +137318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(9), }, End: ast.Location{ - Line: int(953), + Line: int(983), Column: int(74), }, }, @@ -133677,7 +137339,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -133689,11 +137351,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(9), }, End: ast.Location{ - Line: int(954), + Line: int(984), Column: int(41), }, }, @@ -133710,7 +137372,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10300, + Ctx: p10581, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -133725,11 +137387,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(953), + Line: int(983), Column: int(9), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(70), }, }, @@ -133747,11 +137409,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(952), + Line: int(982), Column: int(19), }, End: ast.Location{ - Line: int(952), + Line: int(982), Column: int(20), }, }, @@ -133766,11 +137428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(952), + Line: int(982), Column: int(22), }, End: ast.Location{ - Line: int(952), + Line: int(982), Column: int(26), }, }, @@ -133785,11 +137447,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(952), + Line: int(982), Column: int(28), }, End: ast.Location{ - Line: int(952), + Line: int(982), Column: int(39), }, }, @@ -133804,11 +137466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(952), + Line: int(982), Column: int(41), }, End: ast.Location{ - Line: int(952), + Line: int(982), Column: int(48), }, }, @@ -133816,7 +137478,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p10366, + Ctx: p10647, FreeVars: ast.Identifiers{ "escapeKeyToml", "indent", @@ -133827,11 +137489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(952), + Line: int(982), Column: int(7), }, End: ast.Location{ - Line: int(955), + Line: int(985), Column: int(70), }, }, @@ -133878,11 +137540,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(23), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(26), }, }, @@ -133916,7 +137578,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10376, + Ctx: p10657, FreeVars: ast.Identifiers{ "std", }, @@ -133924,11 +137586,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(23), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(32), }, }, @@ -133942,17 +137604,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10380, + Ctx: p10661, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(33), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(34), }, }, @@ -133966,17 +137628,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10380, + Ctx: p10661, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(52), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(53), }, }, @@ -133996,11 +137658,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(36), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(39), }, }, @@ -134034,7 +137696,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10380, + Ctx: p10661, FreeVars: ast.Identifiers{ "std", }, @@ -134042,11 +137704,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(36), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(46), }, }, @@ -134060,7 +137722,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10391, + Ctx: p10672, FreeVars: ast.Identifiers{ "v", }, @@ -134068,11 +137730,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(47), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(48), }, }, @@ -134087,7 +137749,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10380, + Ctx: p10661, FreeVars: ast.Identifiers{ "std", "v", @@ -134096,11 +137758,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(36), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(49), }, }, @@ -134111,7 +137773,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10380, + Ctx: p10661, FreeVars: ast.Identifiers{ "std", "v", @@ -134120,11 +137782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(36), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(53), }, }, @@ -134140,7 +137802,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10376, + Ctx: p10657, FreeVars: ast.Identifiers{ "std", "v", @@ -134149,11 +137811,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(23), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(54), }, }, @@ -134169,11 +137831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(15), }, End: ast.Location{ - Line: int(957), + Line: int(987), Column: int(54), }, }, @@ -134208,7 +137870,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -134269,7 +137931,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "renderTableInternal", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "renderTableInternal", }, @@ -134277,11 +137939,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(14), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(33), }, }, @@ -134296,7 +137958,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "v", }, @@ -134304,11 +137966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(34), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(35), }, }, @@ -134318,7 +137980,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "i", }, @@ -134326,11 +137988,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(36), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(37), }, }, @@ -134341,7 +138003,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "i", "v", @@ -134350,11 +138012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(34), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(38), }, }, @@ -134367,7 +138029,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "path", }, @@ -134375,11 +138037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(40), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(44), }, }, @@ -134396,7 +138058,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10427, + Ctx: p10708, FreeVars: ast.Identifiers{ "i", }, @@ -134404,11 +138066,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(61), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(62), }, }, @@ -134420,7 +138082,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "i", }, @@ -134428,11 +138090,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(60), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(63), }, }, @@ -134443,7 +138105,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indexedPath", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "indexedPath", }, @@ -134451,11 +138113,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(46), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(57), }, }, @@ -134464,7 +138126,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "i", "indexedPath", @@ -134473,11 +138135,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(46), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(63), }, }, @@ -134492,7 +138154,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "indent", }, @@ -134500,11 +138162,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(75), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(81), }, }, @@ -134514,7 +138176,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "cindent", }, @@ -134522,11 +138184,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(65), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(72), }, }, @@ -134535,7 +138197,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10416, + Ctx: p10697, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -134544,11 +138206,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(65), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(81), }, }, @@ -134564,7 +138226,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "cindent", "i", @@ -134578,11 +138240,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(961), + Line: int(991), Column: int(14), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(82), }, }, @@ -134599,17 +138261,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(960), + Line: int(990), Column: int(26), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(28), }, }, @@ -134620,7 +138282,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "v", }, @@ -134628,11 +138290,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(960), + Line: int(990), Column: int(18), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(19), }, }, @@ -134642,7 +138304,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "i", }, @@ -134650,11 +138312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(960), + Line: int(990), Column: int(20), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(21), }, }, @@ -134665,7 +138327,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "i", "v", @@ -134674,11 +138336,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(960), + Line: int(990), Column: int(18), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(22), }, }, @@ -134687,7 +138349,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "i", "v", @@ -134696,11 +138358,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(960), + Line: int(990), Column: int(18), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(28), }, }, @@ -134713,17 +138375,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(960), + Line: int(990), Column: int(34), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(36), }, }, @@ -134736,17 +138398,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(960), + Line: int(990), Column: int(42), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(46), }, }, @@ -134757,7 +138419,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "i", "v", @@ -134766,11 +138428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(960), + Line: int(990), Column: int(15), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(46), }, }, @@ -134783,17 +138445,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(75), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(79), }, }, @@ -134815,11 +138477,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(29), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(32), }, }, @@ -134853,7 +138515,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "std", }, @@ -134861,11 +138523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(29), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(37), }, }, @@ -134881,17 +138543,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10465, + Ctx: p10746, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(38), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(41), }, }, @@ -134915,11 +138577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(43), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(46), }, }, @@ -134953,7 +138615,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10465, + Ctx: p10746, FreeVars: ast.Identifiers{ "std", }, @@ -134961,11 +138623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(43), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(50), }, }, @@ -134979,7 +138641,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "escapeKeyToml", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10474, + Ctx: p10755, FreeVars: ast.Identifiers{ "escapeKeyToml", }, @@ -134987,11 +138649,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(51), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(64), }, }, @@ -135004,7 +138666,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10474, + Ctx: p10755, FreeVars: ast.Identifiers{ "path", }, @@ -135012,11 +138674,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(66), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(70), }, }, @@ -135031,7 +138693,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10465, + Ctx: p10746, FreeVars: ast.Identifiers{ "escapeKeyToml", "path", @@ -135041,11 +138703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(43), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(71), }, }, @@ -135062,7 +138724,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "escapeKeyToml", "path", @@ -135072,11 +138734,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(29), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(72), }, }, @@ -135091,17 +138753,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(22), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(26), }, }, @@ -135112,7 +138774,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "cindent", }, @@ -135120,11 +138782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(12), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(19), }, }, @@ -135133,7 +138795,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "cindent", }, @@ -135141,11 +138803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(12), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(26), }, }, @@ -135155,7 +138817,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -135166,11 +138828,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(12), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(72), }, }, @@ -135180,7 +138842,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -135191,11 +138853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(12), }, End: ast.Location{ - Line: int(959), + Line: int(989), Column: int(79), }, }, @@ -135212,7 +138874,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -135225,11 +138887,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(12), }, End: ast.Location{ - Line: int(960), + Line: int(990), Column: int(47), }, }, @@ -135246,7 +138908,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10411, + Ctx: p10692, FreeVars: ast.Identifiers{ "cindent", "escapeKeyToml", @@ -135262,11 +138924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(959), + Line: int(989), Column: int(12), }, End: ast.Location{ - Line: int(961), + Line: int(991), Column: int(82), }, }, @@ -135362,7 +139024,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "range", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10495, + Ctx: p10776, FreeVars: ast.Identifiers{ "range", }, @@ -135370,11 +139032,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(962), + Line: int(992), Column: int(20), }, End: ast.Location{ - Line: int(962), + Line: int(992), Column: int(25), }, }, @@ -135406,11 +139068,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(958), + Line: int(988), Column: int(26), }, End: ast.Location{ - Line: int(963), + Line: int(993), Column: int(10), }, }, @@ -135426,11 +139088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(958), + Line: int(988), Column: int(15), }, End: ast.Location{ - Line: int(963), + Line: int(993), Column: int(10), }, }, @@ -135457,11 +139119,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(964), + Line: int(994), Column: int(9), }, End: ast.Location{ - Line: int(964), + Line: int(994), Column: int(12), }, }, @@ -135495,7 +139157,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10504, + Ctx: p10785, FreeVars: ast.Identifiers{ "std", }, @@ -135503,11 +139165,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(964), + Line: int(994), Column: int(9), }, End: ast.Location{ - Line: int(964), + Line: int(994), Column: int(17), }, }, @@ -135523,17 +139185,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10508, + Ctx: p10789, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(964), + Line: int(994), Column: int(18), }, End: ast.Location{ - Line: int(964), + Line: int(994), Column: int(24), }, }, @@ -135547,7 +139209,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sections", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10508, + Ctx: p10789, FreeVars: ast.Identifiers{ "sections", }, @@ -135555,11 +139217,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(964), + Line: int(994), Column: int(26), }, End: ast.Location{ - Line: int(964), + Line: int(994), Column: int(34), }, }, @@ -135574,7 +139236,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10504, + Ctx: p10785, FreeVars: ast.Identifiers{ "sections", "std", @@ -135583,11 +139245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(964), + Line: int(994), Column: int(9), }, End: ast.Location{ - Line: int(964), + Line: int(994), Column: int(35), }, }, @@ -135604,7 +139266,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10504, + Ctx: p10785, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -135621,11 +139283,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(958), + Line: int(988), Column: int(9), }, End: ast.Location{ - Line: int(964), + Line: int(994), Column: int(35), }, }, @@ -135640,7 +139302,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10504, + Ctx: p10785, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -135656,11 +139318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(957), + Line: int(987), Column: int(9), }, End: ast.Location{ - Line: int(964), + Line: int(994), Column: int(35), }, }, @@ -135677,11 +139339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(956), + Line: int(986), Column: int(24), }, End: ast.Location{ - Line: int(956), + Line: int(986), Column: int(25), }, }, @@ -135696,11 +139358,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(956), + Line: int(986), Column: int(27), }, End: ast.Location{ - Line: int(956), + Line: int(986), Column: int(31), }, }, @@ -135715,11 +139377,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(956), + Line: int(986), Column: int(33), }, End: ast.Location{ - Line: int(956), + Line: int(986), Column: int(44), }, }, @@ -135734,11 +139396,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(956), + Line: int(986), Column: int(46), }, End: ast.Location{ - Line: int(956), + Line: int(986), Column: int(53), }, }, @@ -135746,7 +139408,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p10517, + Ctx: p10798, FreeVars: ast.Identifiers{ "$std", "escapeKeyToml", @@ -135758,11 +139420,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(956), + Line: int(986), Column: int(7), }, End: ast.Location{ - Line: int(964), + Line: int(994), Column: int(35), }, }, @@ -135802,11 +139464,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(965), + Line: int(995), Column: int(8), }, End: ast.Location{ - Line: int(965), + Line: int(995), Column: int(11), }, }, @@ -135840,7 +139502,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "std", }, @@ -135848,11 +139510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(965), + Line: int(995), Column: int(8), }, End: ast.Location{ - Line: int(965), + Line: int(995), Column: int(20), }, }, @@ -135866,7 +139528,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10529, + Ctx: p10810, FreeVars: ast.Identifiers{ "value", }, @@ -135874,11 +139536,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(965), + Line: int(995), Column: int(21), }, End: ast.Location{ - Line: int(965), + Line: int(995), Column: int(26), }, }, @@ -135893,7 +139555,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "std", "value", @@ -135902,11 +139564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(965), + Line: int(995), Column: int(8), }, End: ast.Location{ - Line: int(965), + Line: int(995), Column: int(27), }, }, @@ -135926,7 +139588,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "renderTableInternal", }, @@ -135934,11 +139596,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(966), + Line: int(996), Column: int(7), }, End: ast.Location{ - Line: int(966), + Line: int(996), Column: int(26), }, }, @@ -135952,7 +139614,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10538, + Ctx: p10819, FreeVars: ast.Identifiers{ "value", }, @@ -135960,11 +139622,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(966), + Line: int(996), Column: int(27), }, End: ast.Location{ - Line: int(966), + Line: int(996), Column: int(32), }, }, @@ -135978,17 +139640,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10538, + Ctx: p10819, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(966), + Line: int(996), Column: int(34), }, End: ast.Location{ - Line: int(966), + Line: int(996), Column: int(36), }, }, @@ -136003,17 +139665,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10538, + Ctx: p10819, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(966), + Line: int(996), Column: int(38), }, End: ast.Location{ - Line: int(966), + Line: int(996), Column: int(40), }, }, @@ -136029,17 +139691,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10538, + Ctx: p10819, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(966), + Line: int(996), Column: int(42), }, End: ast.Location{ - Line: int(966), + Line: int(996), Column: int(44), }, }, @@ -136055,7 +139717,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "renderTableInternal", "value", @@ -136064,11 +139726,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(966), + Line: int(996), Column: int(7), }, End: ast.Location{ - Line: int(966), + Line: int(996), Column: int(45), }, }, @@ -136092,11 +139754,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(968), + Line: int(998), Column: int(51), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(54), }, }, @@ -136130,7 +139792,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "std", }, @@ -136138,11 +139800,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(968), + Line: int(998), Column: int(51), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(59), }, }, @@ -136156,7 +139818,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10554, + Ctx: p10835, FreeVars: ast.Identifiers{ "value", }, @@ -136164,11 +139826,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(968), + Line: int(998), Column: int(60), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(65), }, }, @@ -136183,7 +139845,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "std", "value", @@ -136192,11 +139854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(968), + Line: int(998), Column: int(51), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(66), }, }, @@ -136210,17 +139872,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(968), + Line: int(998), Column: int(13), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(48), }, }, @@ -136230,7 +139892,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "std", "value", @@ -136239,11 +139901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(968), + Line: int(998), Column: int(13), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(66), }, }, @@ -136259,7 +139921,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "std", "value", @@ -136268,11 +139930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(968), + Line: int(998), Column: int(7), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(66), }, }, @@ -136296,7 +139958,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "renderTableInternal", "std", @@ -136306,11 +139968,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(965), + Line: int(995), Column: int(5), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(66), }, }, @@ -136325,7 +139987,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p10525, + Ctx: p10806, FreeVars: ast.Identifiers{ "$std", "indent", @@ -136336,11 +139998,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(891), + Line: int(921), Column: int(5), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(66), }, }, @@ -136357,11 +140019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(890), + Line: int(920), Column: int(18), }, End: ast.Location{ - Line: int(890), + Line: int(920), Column: int(23), }, }, @@ -136376,11 +140038,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(890), + Line: int(920), Column: int(25), }, End: ast.Location{ - Line: int(890), + Line: int(920), Column: int(31), }, }, @@ -136412,11 +140074,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(890), + Line: int(920), Column: int(3), }, End: ast.Location{ - Line: int(968), + Line: int(998), Column: int(66), }, }, @@ -136468,11 +140130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(17), }, End: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(20), }, }, @@ -136506,7 +140168,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10577, + Ctx: p10858, FreeVars: ast.Identifiers{ "std", }, @@ -136514,11 +140176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(17), }, End: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(29), }, }, @@ -136532,7 +140194,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10581, + Ctx: p10862, FreeVars: ast.Identifiers{ "str_", }, @@ -136540,11 +140202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(30), }, End: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(34), }, }, @@ -136559,7 +140221,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10577, + Ctx: p10858, FreeVars: ast.Identifiers{ "std", "str_", @@ -136568,11 +140230,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(17), }, End: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(35), }, }, @@ -136588,11 +140250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(11), }, End: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(35), }, }, @@ -136613,17 +140275,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(973), + Line: int(1003), Column: int(16), }, End: ast.Location{ - Line: int(973), + Line: int(1003), Column: int(19), }, }, @@ -136634,7 +140296,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -136642,11 +140304,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(973), + Line: int(1003), Column: int(10), }, End: ast.Location{ - Line: int(973), + Line: int(1003), Column: int(12), }, }, @@ -136655,7 +140317,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -136663,11 +140325,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(973), + Line: int(1003), Column: int(10), }, End: ast.Location{ - Line: int(973), + Line: int(1003), Column: int(19), }, }, @@ -136687,17 +140349,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(974), + Line: int(1004), Column: int(9), }, End: ast.Location{ - Line: int(974), + Line: int(1004), Column: int(14), }, }, @@ -136712,17 +140374,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(975), + Line: int(1005), Column: int(21), }, End: ast.Location{ - Line: int(975), + Line: int(1005), Column: int(25), }, }, @@ -136733,7 +140395,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -136741,11 +140403,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(975), + Line: int(1005), Column: int(15), }, End: ast.Location{ - Line: int(975), + Line: int(1005), Column: int(17), }, }, @@ -136754,7 +140416,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -136762,11 +140424,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(975), + Line: int(1005), Column: int(15), }, End: ast.Location{ - Line: int(975), + Line: int(1005), Column: int(25), }, }, @@ -136786,17 +140448,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(976), + Line: int(1006), Column: int(9), }, End: ast.Location{ - Line: int(976), + Line: int(1006), Column: int(15), }, }, @@ -136811,17 +140473,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(977), + Line: int(1007), Column: int(21), }, End: ast.Location{ - Line: int(977), + Line: int(1007), Column: int(25), }, }, @@ -136832,7 +140494,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -136840,11 +140502,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(977), + Line: int(1007), Column: int(15), }, End: ast.Location{ - Line: int(977), + Line: int(1007), Column: int(17), }, }, @@ -136853,7 +140515,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -136861,11 +140523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(977), + Line: int(1007), Column: int(15), }, End: ast.Location{ - Line: int(977), + Line: int(1007), Column: int(25), }, }, @@ -136885,17 +140547,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(978), + Line: int(1008), Column: int(9), }, End: ast.Location{ - Line: int(978), + Line: int(1008), Column: int(14), }, }, @@ -136910,17 +140572,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(979), + Line: int(1009), Column: int(21), }, End: ast.Location{ - Line: int(979), + Line: int(1009), Column: int(25), }, }, @@ -136931,7 +140593,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -136939,11 +140601,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(979), + Line: int(1009), Column: int(15), }, End: ast.Location{ - Line: int(979), + Line: int(1009), Column: int(17), }, }, @@ -136952,7 +140614,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -136960,11 +140622,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(979), + Line: int(1009), Column: int(15), }, End: ast.Location{ - Line: int(979), + Line: int(1009), Column: int(25), }, }, @@ -136984,17 +140646,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(980), + Line: int(1010), Column: int(9), }, End: ast.Location{ - Line: int(980), + Line: int(1010), Column: int(14), }, }, @@ -137009,17 +140671,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(981), + Line: int(1011), Column: int(21), }, End: ast.Location{ - Line: int(981), + Line: int(1011), Column: int(25), }, }, @@ -137030,7 +140692,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -137038,11 +140700,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(981), + Line: int(1011), Column: int(15), }, End: ast.Location{ - Line: int(981), + Line: int(1011), Column: int(17), }, }, @@ -137051,7 +140713,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -137059,11 +140721,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(981), + Line: int(1011), Column: int(15), }, End: ast.Location{ - Line: int(981), + Line: int(1011), Column: int(25), }, }, @@ -137083,17 +140745,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(982), + Line: int(1012), Column: int(9), }, End: ast.Location{ - Line: int(982), + Line: int(1012), Column: int(14), }, }, @@ -137108,17 +140770,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(983), + Line: int(1013), Column: int(21), }, End: ast.Location{ - Line: int(983), + Line: int(1013), Column: int(25), }, }, @@ -137129,7 +140791,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -137137,11 +140799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(983), + Line: int(1013), Column: int(15), }, End: ast.Location{ - Line: int(983), + Line: int(1013), Column: int(17), }, }, @@ -137150,7 +140812,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -137158,11 +140820,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(983), + Line: int(1013), Column: int(15), }, End: ast.Location{ - Line: int(983), + Line: int(1013), Column: int(25), }, }, @@ -137182,17 +140844,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(984), + Line: int(1014), Column: int(9), }, End: ast.Location{ - Line: int(984), + Line: int(1014), Column: int(14), }, }, @@ -137207,17 +140869,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(985), + Line: int(1015), Column: int(21), }, End: ast.Location{ - Line: int(985), + Line: int(1015), Column: int(25), }, }, @@ -137228,7 +140890,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -137236,11 +140898,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(985), + Line: int(1015), Column: int(15), }, End: ast.Location{ - Line: int(985), + Line: int(1015), Column: int(17), }, }, @@ -137249,7 +140911,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -137257,11 +140919,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(985), + Line: int(1015), Column: int(15), }, End: ast.Location{ - Line: int(985), + Line: int(1015), Column: int(25), }, }, @@ -137281,17 +140943,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(986), + Line: int(1016), Column: int(9), }, End: ast.Location{ - Line: int(986), + Line: int(1016), Column: int(14), }, }, @@ -137316,11 +140978,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(20), }, End: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(23), }, }, @@ -137354,7 +141016,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10651, + Ctx: p10932, FreeVars: ast.Identifiers{ "std", }, @@ -137362,11 +141024,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(20), }, End: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(33), }, }, @@ -137380,7 +141042,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10655, + Ctx: p10936, FreeVars: ast.Identifiers{ "ch", }, @@ -137388,11 +141050,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(34), }, End: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(36), }, }, @@ -137407,7 +141069,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10651, + Ctx: p10932, FreeVars: ast.Identifiers{ "ch", "std", @@ -137416,11 +141078,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(20), }, End: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(37), }, }, @@ -137436,11 +141098,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(15), }, End: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(37), }, }, @@ -137454,17 +141116,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "159", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(43), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(46), }, }, @@ -137474,7 +141136,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137482,11 +141144,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(37), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(39), }, }, @@ -137495,7 +141157,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137503,11 +141165,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(37), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(46), }, }, @@ -137519,17 +141181,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "127", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(30), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(33), }, }, @@ -137539,7 +141201,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137547,11 +141209,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(24), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(26), }, }, @@ -137560,7 +141222,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137568,11 +141230,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(24), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(33), }, }, @@ -137582,7 +141244,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137590,11 +141252,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(24), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(46), }, }, @@ -137606,17 +141268,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "32", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(17), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(19), }, }, @@ -137626,7 +141288,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137634,11 +141296,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(12), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(14), }, }, @@ -137647,7 +141309,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137655,11 +141317,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(12), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(19), }, }, @@ -137669,7 +141331,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137677,11 +141339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(12), }, End: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(47), }, }, @@ -137775,17 +141437,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(990), + Line: int(1020), Column: int(11), }, End: ast.Location{ - Line: int(990), + Line: int(1020), Column: int(20), }, }, @@ -137802,7 +141464,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cp", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10690, + Ctx: p10971, FreeVars: ast.Identifiers{ "cp", }, @@ -137810,11 +141472,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(990), + Line: int(1020), Column: int(24), }, End: ast.Location{ - Line: int(990), + Line: int(1020), Column: int(26), }, }, @@ -137826,7 +141488,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "cp", }, @@ -137834,11 +141496,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(990), + Line: int(1020), Column: int(23), }, End: ast.Location{ - Line: int(990), + Line: int(1020), Column: int(27), }, }, @@ -137863,11 +141525,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(990), + Line: int(1020), Column: int(11), }, End: ast.Location{ - Line: int(990), + Line: int(1020), Column: int(27), }, }, @@ -137886,7 +141548,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "ch", }, @@ -137894,11 +141556,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(11), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -137922,7 +141584,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -137932,11 +141594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(989), + Line: int(1019), Column: int(9), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -137951,7 +141613,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -137961,11 +141623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(988), + Line: int(1018), Column: int(9), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -137982,7 +141644,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -137992,11 +141654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(985), + Line: int(1015), Column: int(12), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -138013,7 +141675,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -138023,11 +141685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(983), + Line: int(1013), Column: int(12), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -138044,7 +141706,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -138054,11 +141716,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(981), + Line: int(1011), Column: int(12), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -138075,7 +141737,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -138085,11 +141747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(979), + Line: int(1009), Column: int(12), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -138106,7 +141768,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -138116,11 +141778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(977), + Line: int(1007), Column: int(12), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -138137,7 +141799,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -138147,11 +141809,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(975), + Line: int(1005), Column: int(12), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -138175,7 +141837,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p10590, + Ctx: p10871, FreeVars: ast.Identifiers{ "$std", "ch", @@ -138185,11 +141847,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(973), + Line: int(1003), Column: int(7), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -138206,11 +141868,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(972), + Line: int(1002), Column: int(17), }, End: ast.Location{ - Line: int(972), + Line: int(1002), Column: int(19), }, }, @@ -138218,7 +141880,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p10718, + Ctx: p10999, FreeVars: ast.Identifiers{ "$std", "std", @@ -138227,11 +141889,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(972), + Line: int(1002), Column: int(11), }, End: ast.Location{ - Line: int(992), + Line: int(1022), Column: int(13), }, }, @@ -138343,17 +142005,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p10729, + Ctx: p11010, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(5), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(11), }, }, @@ -138377,11 +142039,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(14), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(17), }, }, @@ -138415,7 +142077,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10729, + Ctx: p11010, FreeVars: ast.Identifiers{ "std", }, @@ -138423,11 +142085,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(14), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(22), }, }, @@ -138443,17 +142105,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10738, + Ctx: p11019, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(23), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(25), }, }, @@ -138488,7 +142150,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -138548,7 +142210,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "trans", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10751, + Ctx: p11032, FreeVars: ast.Identifiers{ "trans", }, @@ -138556,11 +142218,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(28), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(33), }, }, @@ -138574,7 +142236,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10755, + Ctx: p11036, FreeVars: ast.Identifiers{ "ch", }, @@ -138582,11 +142244,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(34), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(36), }, }, @@ -138601,7 +142263,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10751, + Ctx: p11032, FreeVars: ast.Identifiers{ "ch", "trans", @@ -138610,11 +142272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(28), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(37), }, }, @@ -138707,11 +142369,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(48), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(51), }, }, @@ -138745,7 +142407,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10738, + Ctx: p11019, FreeVars: ast.Identifiers{ "std", }, @@ -138753,11 +142415,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(48), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(63), }, }, @@ -138771,7 +142433,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10769, + Ctx: p11050, FreeVars: ast.Identifiers{ "str", }, @@ -138779,11 +142441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(64), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(67), }, }, @@ -138798,7 +142460,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10738, + Ctx: p11019, FreeVars: ast.Identifiers{ "std", "str", @@ -138807,11 +142469,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(48), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(68), }, }, @@ -138839,11 +142501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(27), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(69), }, }, @@ -138860,7 +142522,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10729, + Ctx: p11010, FreeVars: ast.Identifiers{ "$std", "std", @@ -138871,11 +142533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(14), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(70), }, }, @@ -138903,11 +142565,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(5), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(70), }, }, @@ -138924,7 +142586,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p10729, + Ctx: p11010, FreeVars: ast.Identifiers{ "$std", "std", @@ -138934,11 +142596,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(972), + Line: int(1002), Column: int(5), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(70), }, }, @@ -138953,7 +142615,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p10729, + Ctx: p11010, FreeVars: ast.Identifiers{ "$std", "std", @@ -138963,11 +142625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(971), + Line: int(1001), Column: int(5), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(70), }, }, @@ -138984,11 +142646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(970), + Line: int(1000), Column: int(20), }, End: ast.Location{ - Line: int(970), + Line: int(1000), Column: int(24), }, }, @@ -139020,11 +142682,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(970), + Line: int(1000), Column: int(3), }, End: ast.Location{ - Line: int(993), + Line: int(1023), Column: int(70), }, }, @@ -139079,11 +142741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(5), }, End: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(8), }, }, @@ -139117,7 +142779,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10789, + Ctx: p11070, FreeVars: ast.Identifiers{ "std", }, @@ -139125,11 +142787,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(5), }, End: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(25), }, }, @@ -139143,7 +142805,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10793, + Ctx: p11074, FreeVars: ast.Identifiers{ "str", }, @@ -139151,11 +142813,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(26), }, End: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(29), }, }, @@ -139170,7 +142832,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10789, + Ctx: p11070, FreeVars: ast.Identifiers{ "std", "str", @@ -139179,11 +142841,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(5), }, End: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(30), }, }, @@ -139202,11 +142864,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(995), + Line: int(1025), Column: int(22), }, End: ast.Location{ - Line: int(995), + Line: int(1025), Column: int(25), }, }, @@ -139237,11 +142899,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(995), + Line: int(1025), Column: int(3), }, End: ast.Location{ - Line: int(996), + Line: int(1026), Column: int(30), }, }, @@ -139293,11 +142955,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(17), }, End: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(20), }, }, @@ -139331,7 +142993,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10807, + Ctx: p11088, FreeVars: ast.Identifiers{ "std", }, @@ -139339,11 +143001,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(17), }, End: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(29), }, }, @@ -139357,7 +143019,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10811, + Ctx: p11092, FreeVars: ast.Identifiers{ "str_", }, @@ -139365,11 +143027,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(30), }, End: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(34), }, }, @@ -139384,7 +143046,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10807, + Ctx: p11088, FreeVars: ast.Identifiers{ "std", "str_", @@ -139393,11 +143055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(17), }, End: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(35), }, }, @@ -139413,301 +143075,48 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(11), }, End: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(35), }, }, }, }, - Body: &ast.Local{ - Binds: ast.LocalBinds{ - ast.LocalBind{ - VarFodder: nil, - Body: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Conditional{ - Cond: &ast.Binary{ - Right: &ast.LiteralString{ - Value: "'", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10820, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1001), - Column: int(16), - }, - End: ast.Location{ - Line: int(1001), - Column: int(19), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - Left: &ast.Var{ - Id: "ch", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10820, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1001), - Column: int(10), - }, - End: ast.Location{ - Line: int(1001), - Column: int(12), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10820, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1001), - Column: int(10), - }, - End: ast.Location{ - Line: int(1001), - Column: int(19), - }, - }, - }, - Op: ast.BinaryOp(12), - }, - BranchTrue: &ast.LiteralString{ - Value: "'\"'\"'", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), - }, - }, - Ctx: p10820, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1002), - Column: int(9), - }, - End: ast.Location{ - Line: int(1002), - Column: int(18), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - BranchFalse: &ast.Var{ - Id: "ch", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), - }, - }, - Ctx: p10820, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1004), - Column: int(9), - }, - End: ast.Location{ - Line: int(1004), - Column: int(11), - }, - }, - }, - }, - ThenFodder: ast.Fodder{}, - ElseFodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - Ctx: p10820, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1001), - Column: int(7), - }, - End: ast.Location{ - Line: int(1004), - Column: int(11), - }, - }, - }, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "ch", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1000), - Column: int(17), - }, - End: ast.Location{ - Line: int(1000), - Column: int(19), - }, - }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), }, - }, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: p10833, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1000), - Column: int(11), - }, - End: ast.Location{ - Line: int(1004), - Column: int(11), - }, + End: ast.Location{ + Line: int(0), + Column: int(0), }, }, - TrailingComma: false, - }, - EqFodder: nil, - Variable: "trans", - CloseFodder: nil, - Fun: nil, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, }, }, - }, - Body: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "$std", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "mod", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: nil, - LeftBracketFodder: nil, - Id: nil, + Index: &ast.LiteralString{ + Value: "mod", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: nil, Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - }, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: nil, FileName: "", @@ -139721,97 +143130,75 @@ var _StdAst = &ast.DesugaredObject{ }, }, }, + Kind: ast.LiteralStringKind(1), }, - FodderLeft: nil, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.LiteralString{ - Value: "'%s'", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralString{ + Value: "'%s'", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), }, - Ctx: p10843, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(5), - }, - End: ast.Location{ - Line: int(1005), - Column: int(11), - }, + }, + Ctx: p11104, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1030), + Column: int(5), + }, + End: ast.Location{ + Line: int(1030), + Column: int(11), }, }, - Kind: ast.LiteralStringKind(1), }, - CommaFodder: nil, + Kind: ast.LiteralStringKind(1), }, - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(14), - }, - End: ast.Location{ - Line: int(1005), - Column: int(17), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "join", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + CommaFodder: nil, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10843, + Ctx: nil, FreeVars: ast.Identifiers{ "std", }, @@ -139819,508 +143206,180 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1005), + Line: int(1030), Column: int(14), }, End: ast.Location{ - Line: int(1005), - Column: int(22), + Line: int(1030), + Column: int(17), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.LiteralString{ - Value: "", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10852, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(23), - }, - End: ast.Location{ - Line: int(1005), - Column: int(25), - }, - }, - }, - Kind: ast.LiteralStringKind(1), + Index: &ast.LiteralString{ + Value: "strReplace", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "$std", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "flatMap", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: nil, - LeftBracketFodder: nil, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - }, - FodderLeft: nil, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Function{ - ParenLeftFodder: nil, - ParenRightFodder: nil, - Body: &ast.Array{ - Elements: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Var{ - Id: "trans", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10865, - FreeVars: ast.Identifiers{ - "trans", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(28), - }, - End: ast.Location{ - Line: int(1005), - Column: int(33), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "ch", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10869, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(34), - }, - End: ast.Location{ - Line: int(1005), - Column: int(36), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10865, - FreeVars: ast.Identifiers{ - "ch", - "trans", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(28), - }, - End: ast.Location{ - Line: int(1005), - Column: int(37), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - CommaFodder: nil, - }, - }, - CloseFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "ch", - "trans", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - TrailingComma: false, - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: nil, - Name: "ch", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "trans", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - TrailingComma: false, - }, - CommaFodder: nil, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(48), - }, - End: ast.Location{ - Line: int(1005), - Column: int(51), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "stringChars", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10852, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(48), - }, - End: ast.Location{ - Line: int(1005), - Column: int(63), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "str", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10883, - FreeVars: ast.Identifiers{ - "str", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(64), - }, - End: ast.Location{ - Line: int(1005), - Column: int(67), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10852, - FreeVars: ast.Identifiers{ - "std", - "str", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(48), - }, - End: ast.Location{ - Line: int(1005), - Column: int(68), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: nil, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - "std", - "str", - "trans", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(27), - }, - End: ast.Location{ - Line: int(1005), - Column: int(69), - }, - }, - }, - TrailingComma: false, - TailStrict: false, + End: ast.Location{ + Line: int(0), + Column: int(0), }, - CommaFodder: nil, }, }, - Named: nil, + Kind: ast.LiteralStringKind(1), }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10843, + Ctx: p11104, FreeVars: ast.Identifiers{ - "$std", "std", - "str", - "trans", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1005), + Line: int(1030), Column: int(14), }, End: ast.Location{ - Line: int(1005), - Column: int(70), + Line: int(1030), + Column: int(28), }, }, }, - TrailingComma: false, - TailStrict: false, }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: nil, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{ - "$std", - "std", - "str", - "trans", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1005), - Column: int(5), - }, - End: ast.Location{ - Line: int(1005), - Column: int(70), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "str", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p11113, + FreeVars: ast.Identifiers{ + "str", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1030), + Column: int(29), + }, + End: ast.Location{ + Line: int(1030), + Column: int(32), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralString{ + Value: "'", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p11113, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1030), + Column: int(34), + }, + End: ast.Location{ + Line: int(1030), + Column: int(37), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralString{ + Value: "'\"'\"'", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p11113, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1030), + Column: int(39), + }, + End: ast.Location{ + Line: int(1030), + Column: int(48), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p11104, + FreeVars: ast.Identifiers{ + "std", + "str", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1030), + Column: int(14), + }, + End: ast.Location{ + Line: int(1030), + Column: int(49), + }, + }, + }, + TrailingComma: false, + TailStrict: false, }, + CommaFodder: nil, }, }, - TrailingComma: false, - TailStrict: false, + Named: nil, }, + FodderRight: nil, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - Ctx: p10843, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ "$std", "std", @@ -140330,15 +143389,17 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1000), + Line: int(1030), Column: int(5), }, End: ast.Location{ - Line: int(1005), - Column: int(70), + Line: int(1030), + Column: int(49), }, }, }, + TrailingComma: false, + TailStrict: false, }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{ @@ -140349,7 +143410,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p10843, + Ctx: p11104, FreeVars: ast.Identifiers{ "$std", "std", @@ -140359,12 +143420,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(999), + Line: int(1029), Column: int(5), }, End: ast.Location{ - Line: int(1005), - Column: int(70), + Line: int(1030), + Column: int(49), }, }, }, @@ -140380,11 +143441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(998), + Line: int(1028), Column: int(20), }, End: ast.Location{ - Line: int(998), + Line: int(1028), Column: int(24), }, }, @@ -140416,12 +143477,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(998), + Line: int(1028), Column: int(3), }, End: ast.Location{ - Line: int(1005), - Column: int(70), + Line: int(1030), + Column: int(49), }, }, Hide: ast.ObjectFieldHide(0), @@ -140472,11 +143533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(17), }, End: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(20), }, }, @@ -140510,7 +143571,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10904, + Ctx: p11132, FreeVars: ast.Identifiers{ "std", }, @@ -140518,11 +143579,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(17), }, End: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(29), }, }, @@ -140536,7 +143597,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10908, + Ctx: p11136, FreeVars: ast.Identifiers{ "str_", }, @@ -140544,11 +143605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(30), }, End: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(34), }, }, @@ -140563,7 +143624,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10904, + Ctx: p11132, FreeVars: ast.Identifiers{ "std", "str_", @@ -140572,11 +143633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(17), }, End: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(35), }, }, @@ -140592,305 +143653,30 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(11), }, End: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(35), }, }, }, }, - Body: &ast.Local{ - Binds: ast.LocalBinds{ - ast.LocalBind{ - VarFodder: nil, - Body: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Conditional{ - Cond: &ast.Binary{ - Right: &ast.LiteralString{ - Value: "$", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10917, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1010), - Column: int(16), - }, - End: ast.Location{ - Line: int(1010), - Column: int(19), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - Left: &ast.Var{ - Id: "ch", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10917, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1010), - Column: int(10), - }, - End: ast.Location{ - Line: int(1010), - Column: int(12), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10917, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1010), - Column: int(10), - }, - End: ast.Location{ - Line: int(1010), - Column: int(19), - }, - }, - }, - Op: ast.BinaryOp(12), - }, - BranchTrue: &ast.LiteralString{ - Value: "$$", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), - }, - }, - Ctx: p10917, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1011), - Column: int(9), - }, - End: ast.Location{ - Line: int(1011), - Column: int(13), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - BranchFalse: &ast.Var{ - Id: "ch", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(8), - }, - }, - Ctx: p10917, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1013), - Column: int(9), - }, - End: ast.Location{ - Line: int(1013), - Column: int(11), - }, - }, - }, - }, - ThenFodder: ast.Fodder{}, - ElseFodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(6), - }, - }, - Ctx: p10917, - FreeVars: ast.Identifiers{ - "ch", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1010), - Column: int(7), - }, - End: ast.Location{ - Line: int(1013), - Column: int(11), - }, - }, - }, - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "ch", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1009), - Column: int(17), - }, - End: ast.Location{ - Line: int(1009), - Column: int(19), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: p10930, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1009), - Column: int(11), - }, - End: ast.Location{ - Line: int(1013), - Column: int(11), - }, - }, - }, - TrailingComma: false, - }, - EqFodder: nil, - Variable: "trans", - CloseFodder: nil, - Fun: nil, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - }, - Body: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(5), - }, - End: ast.Location{ - Line: int(1014), - Column: int(8), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "foldl", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), }, }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10937, + Ctx: nil, FreeVars: ast.Identifiers{ "std", }, @@ -140898,406 +143684,150 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1014), + Line: int(1034), Column: int(5), }, End: ast.Location{ - Line: int(1014), - Column: int(14), + Line: int(1034), + Column: int(8), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Binary{ - Right: &ast.Apply{ - Target: &ast.Var{ - Id: "trans", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10944, - FreeVars: ast.Identifiers{ - "trans", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(34), - }, - End: ast.Location{ - Line: int(1014), - Column: int(39), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "b", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10948, - FreeVars: ast.Identifiers{ - "b", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(40), - }, - End: ast.Location{ - Line: int(1014), - Column: int(41), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10944, - FreeVars: ast.Identifiers{ - "b", - "trans", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(34), - }, - End: ast.Location{ - Line: int(1014), - Column: int(42), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - Left: &ast.Var{ - Id: "a", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10944, - FreeVars: ast.Identifiers{ - "a", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(30), - }, - End: ast.Location{ - Line: int(1014), - Column: int(31), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10944, - FreeVars: ast.Identifiers{ - "a", - "b", - "trans", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(30), - }, - End: ast.Location{ - Line: int(1014), - Column: int(42), - }, - }, - }, - Op: ast.BinaryOp(3), - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "a", - CommaFodder: ast.Fodder{}, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(24), - }, - End: ast.Location{ - Line: int(1014), - Column: int(25), - }, - }, - }, - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "b", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(27), - }, - End: ast.Location{ - Line: int(1014), - Column: int(28), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10955, - FreeVars: ast.Identifiers{ - "trans", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(15), - }, - End: ast.Location{ - Line: int(1014), - Column: int(42), - }, - }, - }, - TrailingComma: false, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(44), - }, - End: ast.Location{ - Line: int(1014), - Column: int(47), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "stringChars", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10955, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(44), - }, - End: ast.Location{ - Line: int(1014), - Column: int(59), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "str", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10965, - FreeVars: ast.Identifiers{ - "str", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(60), - }, - End: ast.Location{ - Line: int(1014), - Column: int(63), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10955, - FreeVars: ast.Identifiers{ - "std", - "str", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(44), - }, - End: ast.Location{ - Line: int(1014), - Column: int(64), - }, - }, - }, - TrailingComma: false, - TailStrict: false, + Index: &ast.LiteralString{ + Value: "strReplace", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.LiteralString{ - Value: "", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p10955, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1014), - Column: int(66), - }, - End: ast.Location{ - Line: int(1014), - Column: int(68), - }, - }, - }, - Kind: ast.LiteralStringKind(1), + End: ast.Location{ + Line: int(0), + Column: int(0), }, - CommaFodder: nil, }, }, - Named: nil, + Kind: ast.LiteralStringKind(1), }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10937, + Ctx: p11145, FreeVars: ast.Identifiers{ "std", - "str", - "trans", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1014), + Line: int(1034), Column: int(5), }, End: ast.Location{ - Line: int(1014), - Column: int(69), + Line: int(1034), + Column: int(19), }, }, }, - TrailingComma: false, - TailStrict: false, }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "str", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p11149, + FreeVars: ast.Identifiers{ + "str", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1034), + Column: int(20), + }, + End: ast.Location{ + Line: int(1034), + Column: int(23), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralString{ + Value: "$", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p11149, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1034), + Column: int(25), + }, + End: ast.Location{ + Line: int(1034), + Column: int(28), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralString{ + Value: "$$", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p11149, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1034), + Column: int(30), + }, + End: ast.Location{ + Line: int(1034), + Column: int(34), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + CommaFodder: nil, }, }, - Ctx: p10937, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p11145, FreeVars: ast.Identifiers{ "std", "str", @@ -141306,15 +143836,17 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1009), + Line: int(1034), Column: int(5), }, End: ast.Location{ - Line: int(1014), - Column: int(69), + Line: int(1034), + Column: int(35), }, }, }, + TrailingComma: false, + TailStrict: false, }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{ @@ -141325,7 +143857,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p10937, + Ctx: p11145, FreeVars: ast.Identifiers{ "std", "str_", @@ -141334,12 +143866,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1008), + Line: int(1033), Column: int(5), }, End: ast.Location{ - Line: int(1014), - Column: int(69), + Line: int(1034), + Column: int(35), }, }, }, @@ -141355,11 +143887,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1007), + Line: int(1032), Column: int(23), }, End: ast.Location{ - Line: int(1007), + Line: int(1032), Column: int(27), }, }, @@ -141390,12 +143922,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1007), + Line: int(1032), Column: int(3), }, End: ast.Location{ - Line: int(1014), - Column: int(69), + Line: int(1034), + Column: int(35), }, }, Hide: ast.ObjectFieldHide(0), @@ -141446,11 +143978,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(17), }, End: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(20), }, }, @@ -141484,7 +144016,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10985, + Ctx: p11167, FreeVars: ast.Identifiers{ "std", }, @@ -141492,11 +144024,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(17), }, End: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(29), }, }, @@ -141510,7 +144042,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str_", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10989, + Ctx: p11171, FreeVars: ast.Identifiers{ "str_", }, @@ -141518,11 +144050,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(30), }, End: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(34), }, }, @@ -141537,7 +144069,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10985, + Ctx: p11167, FreeVars: ast.Identifiers{ "std", "str_", @@ -141546,11 +144078,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(17), }, End: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(35), }, }, @@ -141566,11 +144098,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(11), }, End: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(35), }, }, @@ -141597,11 +144129,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(5), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(8), }, }, @@ -141635,7 +144167,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10998, + Ctx: p11180, FreeVars: ast.Identifiers{ "std", }, @@ -141643,11 +144175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(5), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(13), }, }, @@ -141663,17 +144195,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11002, + Ctx: p11184, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(14), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(16), }, }, @@ -141708,7 +144240,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -141777,11 +144309,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(19), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(22), }, }, @@ -141815,7 +144347,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11018, + Ctx: p11200, FreeVars: ast.Identifiers{ "std", }, @@ -141823,11 +144355,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(19), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(26), }, }, @@ -141841,7 +144373,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "xml_escapes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11022, + Ctx: p11204, FreeVars: ast.Identifiers{ "xml_escapes", }, @@ -141849,11 +144381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(27), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(38), }, }, @@ -141866,7 +144398,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11022, + Ctx: p11204, FreeVars: ast.Identifiers{ "ch", }, @@ -141874,11 +144406,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(40), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(42), }, }, @@ -141891,7 +144423,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11022, + Ctx: p11204, FreeVars: ast.Identifiers{ "ch", }, @@ -141899,11 +144431,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(44), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(46), }, }, @@ -141918,7 +144450,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11018, + Ctx: p11200, FreeVars: ast.Identifiers{ "ch", "std", @@ -141928,11 +144460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(19), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(47), }, }, @@ -142027,11 +144559,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(58), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(61), }, }, @@ -142065,7 +144597,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11002, + Ctx: p11184, FreeVars: ast.Identifiers{ "std", }, @@ -142073,11 +144605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(58), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(73), }, }, @@ -142091,7 +144623,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11040, + Ctx: p11222, FreeVars: ast.Identifiers{ "str", }, @@ -142099,11 +144631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(74), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(77), }, }, @@ -142118,7 +144650,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11002, + Ctx: p11184, FreeVars: ast.Identifiers{ "std", "str", @@ -142127,11 +144659,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(58), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(78), }, }, @@ -142159,11 +144691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(18), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(79), }, }, @@ -142180,7 +144712,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p10998, + Ctx: p11180, FreeVars: ast.Identifiers{ "$std", "std", @@ -142191,11 +144723,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(5), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(80), }, }, @@ -142212,7 +144744,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p10998, + Ctx: p11180, FreeVars: ast.Identifiers{ "$std", "std", @@ -142223,11 +144755,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1025), + Line: int(1045), Column: int(5), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(80), }, }, @@ -142244,11 +144776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1024), + Line: int(1044), Column: int(19), }, End: ast.Location{ - Line: int(1024), + Line: int(1044), Column: int(23), }, }, @@ -142281,11 +144813,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1024), + Line: int(1044), Column: int(3), }, End: ast.Location{ - Line: int(1026), + Line: int(1046), Column: int(80), }, }, @@ -142333,11 +144865,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(25), }, End: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(28), }, }, @@ -142371,7 +144903,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11056, + Ctx: p11238, FreeVars: ast.Identifiers{ "std", }, @@ -142379,11 +144911,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(25), }, End: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(43), }, }, @@ -142397,7 +144929,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11060, + Ctx: p11242, FreeVars: ast.Identifiers{ "value", }, @@ -142405,11 +144937,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(44), }, End: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(49), }, }, @@ -142424,17 +144956,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11060, + Ctx: p11242, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(51), }, End: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(57), }, }, @@ -142450,7 +144982,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11056, + Ctx: p11238, FreeVars: ast.Identifiers{ "std", "value", @@ -142459,11 +144991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(25), }, End: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(58), }, }, @@ -142482,11 +145014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(16), }, End: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(21), }, }, @@ -142517,11 +145049,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(3), }, End: ast.Location{ - Line: int(1028), + Line: int(1048), Column: int(58), }, }, @@ -142569,11 +145101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(33), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(36), }, }, @@ -142607,7 +145139,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11073, + Ctx: p11255, FreeVars: ast.Identifiers{ "std", }, @@ -142615,11 +145147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(33), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(51), }, }, @@ -142633,7 +145165,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11077, + Ctx: p11259, FreeVars: ast.Identifiers{ "value", }, @@ -142641,11 +145173,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(52), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(57), }, }, @@ -142660,17 +145192,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11077, + Ctx: p11259, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(59), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(61), }, }, @@ -142686,17 +145218,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11077, + Ctx: p11259, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(63), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(65), }, }, @@ -142712,17 +145244,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11077, + Ctx: p11259, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(67), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(70), }, }, @@ -142738,7 +145270,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11073, + Ctx: p11255, FreeVars: ast.Identifiers{ "std", "value", @@ -142747,11 +145279,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(33), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(71), }, }, @@ -142770,11 +145302,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(24), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(29), }, }, @@ -142805,11 +145337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(3), }, End: ast.Location{ - Line: int(1030), + Line: int(1050), Column: int(71), }, }, @@ -142855,17 +145387,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1034), + Line: int(1054), Column: int(15), }, End: ast.Location{ - Line: int(1034), + Line: int(1054), Column: int(19), }, }, @@ -142876,7 +145408,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "v", }, @@ -142884,11 +145416,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1034), + Line: int(1054), Column: int(10), }, End: ast.Location{ - Line: int(1034), + Line: int(1054), Column: int(11), }, }, @@ -142897,7 +145429,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "v", }, @@ -142905,11 +145437,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1034), + Line: int(1054), Column: int(10), }, End: ast.Location{ - Line: int(1034), + Line: int(1054), Column: int(19), }, }, @@ -142929,17 +145461,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1035), + Line: int(1055), Column: int(9), }, End: ast.Location{ - Line: int(1035), + Line: int(1055), Column: int(15), }, }, @@ -142951,17 +145483,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1036), + Line: int(1056), Column: int(20), }, End: ast.Location{ - Line: int(1036), + Line: int(1056), Column: int(25), }, }, @@ -142972,7 +145504,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "v", }, @@ -142980,11 +145512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1036), + Line: int(1056), Column: int(15), }, End: ast.Location{ - Line: int(1036), + Line: int(1056), Column: int(16), }, }, @@ -142993,7 +145525,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "v", }, @@ -143001,11 +145533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1036), + Line: int(1056), Column: int(15), }, End: ast.Location{ - Line: int(1036), + Line: int(1056), Column: int(25), }, }, @@ -143025,17 +145557,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1037), + Line: int(1057), Column: int(9), }, End: ast.Location{ - Line: int(1037), + Line: int(1057), Column: int(16), }, }, @@ -143047,17 +145579,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1038), + Line: int(1058), Column: int(20), }, End: ast.Location{ - Line: int(1038), + Line: int(1058), Column: int(24), }, }, @@ -143067,7 +145599,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "v", }, @@ -143075,11 +145607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1038), + Line: int(1058), Column: int(15), }, End: ast.Location{ - Line: int(1038), + Line: int(1058), Column: int(16), }, }, @@ -143088,7 +145620,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "v", }, @@ -143096,11 +145628,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1038), + Line: int(1058), Column: int(15), }, End: ast.Location{ - Line: int(1038), + Line: int(1058), Column: int(24), }, }, @@ -143120,17 +145652,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1039), + Line: int(1059), Column: int(9), }, End: ast.Location{ - Line: int(1039), + Line: int(1059), Column: int(15), }, }, @@ -143152,11 +145684,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(15), }, End: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(18), }, }, @@ -143190,7 +145722,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", }, @@ -143198,11 +145730,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(15), }, End: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(27), }, }, @@ -143216,7 +145748,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11124, + Ctx: p11306, FreeVars: ast.Identifiers{ "v", }, @@ -143224,11 +145756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(28), }, End: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(29), }, }, @@ -143243,7 +145775,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", "v", @@ -143252,11 +145784,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(15), }, End: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(30), }, }, @@ -143269,7 +145801,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "v", }, @@ -143277,11 +145809,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1041), + Line: int(1061), Column: int(14), }, End: ast.Location{ - Line: int(1041), + Line: int(1061), Column: int(15), }, }, @@ -143300,17 +145832,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1041), + Line: int(1061), Column: int(9), }, End: ast.Location{ - Line: int(1041), + Line: int(1061), Column: int(11), }, }, @@ -143320,7 +145852,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "v", }, @@ -143328,11 +145860,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1041), + Line: int(1061), Column: int(9), }, End: ast.Location{ - Line: int(1041), + Line: int(1061), Column: int(15), }, }, @@ -143354,11 +145886,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(15), }, End: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(18), }, }, @@ -143392,7 +145924,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", }, @@ -143400,11 +145932,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(15), }, End: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(27), }, }, @@ -143418,7 +145950,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11142, + Ctx: p11324, FreeVars: ast.Identifiers{ "v", }, @@ -143426,11 +145958,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(28), }, End: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(29), }, }, @@ -143445,7 +145977,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", "v", @@ -143454,11 +145986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(15), }, End: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(30), }, }, @@ -143487,11 +146019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1043), + Line: int(1063), Column: int(9), }, End: ast.Location{ - Line: int(1043), + Line: int(1063), Column: int(12), }, }, @@ -143525,7 +146057,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", }, @@ -143533,11 +146065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1043), + Line: int(1063), Column: int(9), }, End: ast.Location{ - Line: int(1043), + Line: int(1063), Column: int(29), }, }, @@ -143551,7 +146083,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11154, + Ctx: p11336, FreeVars: ast.Identifiers{ "v", }, @@ -143559,11 +146091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1043), + Line: int(1063), Column: int(30), }, End: ast.Location{ - Line: int(1043), + Line: int(1063), Column: int(31), }, }, @@ -143578,7 +146110,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", "v", @@ -143587,11 +146119,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1043), + Line: int(1063), Column: int(9), }, End: ast.Location{ - Line: int(1043), + Line: int(1063), Column: int(32), }, }, @@ -143614,11 +146146,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(15), }, End: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(18), }, }, @@ -143652,7 +146184,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", }, @@ -143660,11 +146192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(15), }, End: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(29), }, }, @@ -143678,7 +146210,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11166, + Ctx: p11348, FreeVars: ast.Identifiers{ "v", }, @@ -143686,11 +146218,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(30), }, End: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(31), }, }, @@ -143705,7 +146237,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", "v", @@ -143714,11 +146246,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(15), }, End: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(32), }, }, @@ -143732,7 +146264,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "path", }, @@ -143740,11 +146272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1045), + Line: int(1065), Column: int(50), }, End: ast.Location{ - Line: int(1045), + Line: int(1065), Column: int(54), }, }, @@ -143756,17 +146288,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1045), + Line: int(1065), Column: int(15), }, End: ast.Location{ - Line: int(1045), + Line: int(1065), Column: int(47), }, }, @@ -143776,7 +146308,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "path", }, @@ -143784,11 +146316,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1045), + Line: int(1065), Column: int(15), }, End: ast.Location{ - Line: int(1045), + Line: int(1065), Column: int(54), }, }, @@ -143804,7 +146336,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "path", }, @@ -143812,11 +146344,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1045), + Line: int(1065), Column: int(9), }, End: ast.Location{ - Line: int(1045), + Line: int(1065), Column: int(54), }, }, @@ -143837,11 +146369,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(15), }, End: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(18), }, }, @@ -143875,7 +146407,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", }, @@ -143883,11 +146415,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(15), }, End: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(26), }, }, @@ -143901,7 +146433,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11186, + Ctx: p11368, FreeVars: ast.Identifiers{ "v", }, @@ -143909,11 +146441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(27), }, End: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(28), }, }, @@ -143928,7 +146460,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", "v", @@ -143937,11 +146469,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(15), }, End: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(29), }, }, @@ -143967,11 +146499,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(23), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(26), }, }, @@ -144005,7 +146537,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11196, + Ctx: p11378, FreeVars: ast.Identifiers{ "std", }, @@ -144013,11 +146545,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(23), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(32), }, }, @@ -144031,17 +146563,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11200, + Ctx: p11382, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(33), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(34), }, }, @@ -144055,17 +146587,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11200, + Ctx: p11382, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(52), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(53), }, }, @@ -144085,11 +146617,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(36), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(39), }, }, @@ -144123,7 +146655,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11200, + Ctx: p11382, FreeVars: ast.Identifiers{ "std", }, @@ -144131,11 +146663,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(36), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(46), }, }, @@ -144149,7 +146681,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11211, + Ctx: p11393, FreeVars: ast.Identifiers{ "v", }, @@ -144157,11 +146689,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(47), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(48), }, }, @@ -144176,7 +146708,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11200, + Ctx: p11382, FreeVars: ast.Identifiers{ "std", "v", @@ -144185,11 +146717,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(36), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(49), }, }, @@ -144200,7 +146732,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11200, + Ctx: p11382, FreeVars: ast.Identifiers{ "std", "v", @@ -144209,11 +146741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(36), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(53), }, }, @@ -144229,7 +146761,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11196, + Ctx: p11378, FreeVars: ast.Identifiers{ "std", "v", @@ -144238,11 +146770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(23), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(54), }, }, @@ -144258,11 +146790,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(15), }, End: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(54), }, }, @@ -144277,7 +146809,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11220, + Ctx: p11402, FreeVars: ast.Identifiers{ "indent", }, @@ -144285,11 +146817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(38), }, End: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(44), }, }, @@ -144299,7 +146831,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11220, + Ctx: p11402, FreeVars: ast.Identifiers{ "cindent", }, @@ -144307,11 +146839,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(28), }, End: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(35), }, }, @@ -144320,7 +146852,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11220, + Ctx: p11402, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -144329,11 +146861,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(28), }, End: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(44), }, }, @@ -144348,11 +146880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(15), }, End: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(44), }, }, @@ -144373,17 +146905,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11232, + Ctx: p11414, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(46), }, End: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(49), }, }, @@ -144395,7 +146927,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11232, + Ctx: p11414, FreeVars: ast.Identifiers{ "cindent", }, @@ -144403,11 +146935,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(36), }, End: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(43), }, }, @@ -144417,7 +146949,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "newline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11232, + Ctx: p11414, FreeVars: ast.Identifiers{ "newline", }, @@ -144425,11 +146957,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(26), }, End: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(33), }, }, @@ -144438,7 +146970,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11232, + Ctx: p11414, FreeVars: ast.Identifiers{ "cindent", "newline", @@ -144447,11 +146979,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(26), }, End: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(43), }, }, @@ -144461,7 +146993,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11232, + Ctx: p11414, FreeVars: ast.Identifiers{ "cindent", "newline", @@ -144470,11 +147002,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(26), }, End: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(49), }, }, @@ -144487,7 +147019,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11240, + Ctx: p11422, FreeVars: ast.Identifiers{ "cindent", "newline", @@ -144496,11 +147028,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(25), }, End: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(50), }, }, @@ -144522,11 +147054,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(25), }, End: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(28), }, }, @@ -144560,7 +147092,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11240, + Ctx: p11422, FreeVars: ast.Identifiers{ "std", }, @@ -144568,11 +147100,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(25), }, End: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(33), }, }, @@ -144590,7 +147122,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "newline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11254, + Ctx: p11436, FreeVars: ast.Identifiers{ "newline", }, @@ -144598,11 +147130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(41), }, End: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(48), }, }, @@ -144614,17 +147146,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11254, + Ctx: p11436, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(35), }, End: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(38), }, }, @@ -144634,7 +147166,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11254, + Ctx: p11436, FreeVars: ast.Identifiers{ "newline", }, @@ -144642,11 +147174,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(35), }, End: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(48), }, }, @@ -144659,7 +147191,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11258, + Ctx: p11440, FreeVars: ast.Identifiers{ "newline", }, @@ -144667,11 +147199,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(34), }, End: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(49), }, }, @@ -144706,7 +147238,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -144770,7 +147302,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "aux", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11275, + Ctx: p11457, FreeVars: ast.Identifiers{ "aux", }, @@ -144778,11 +147310,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(50), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(53), }, }, @@ -144797,7 +147329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11280, + Ctx: p11462, FreeVars: ast.Identifiers{ "v", }, @@ -144805,11 +147337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(54), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(55), }, }, @@ -144819,7 +147351,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11280, + Ctx: p11462, FreeVars: ast.Identifiers{ "i", }, @@ -144827,11 +147359,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(56), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(57), }, }, @@ -144842,7 +147374,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11280, + Ctx: p11462, FreeVars: ast.Identifiers{ "i", "v", @@ -144851,11 +147383,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(54), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(58), }, }, @@ -144872,7 +147404,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11289, + Ctx: p11471, FreeVars: ast.Identifiers{ "i", }, @@ -144880,11 +147412,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(68), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(69), }, }, @@ -144896,7 +147428,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11280, + Ctx: p11462, FreeVars: ast.Identifiers{ "i", }, @@ -144904,11 +147436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(67), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(70), }, }, @@ -144919,7 +147451,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11280, + Ctx: p11462, FreeVars: ast.Identifiers{ "path", }, @@ -144927,11 +147459,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(60), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(64), }, }, @@ -144940,7 +147472,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11280, + Ctx: p11462, FreeVars: ast.Identifiers{ "i", "path", @@ -144949,11 +147481,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(60), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(70), }, }, @@ -144967,7 +147499,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "new_indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11280, + Ctx: p11462, FreeVars: ast.Identifiers{ "new_indent", }, @@ -144975,11 +147507,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(72), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(82), }, }, @@ -144994,7 +147526,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11275, + Ctx: p11457, FreeVars: ast.Identifiers{ "aux", "i", @@ -145006,11 +147538,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(50), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(83), }, }, @@ -145022,7 +147554,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "new_indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11275, + Ctx: p11457, FreeVars: ast.Identifiers{ "new_indent", }, @@ -145030,11 +147562,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(37), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(47), }, }, @@ -145043,7 +147575,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11275, + Ctx: p11457, FreeVars: ast.Identifiers{ "aux", "i", @@ -145055,11 +147587,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(37), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(83), }, }, @@ -145079,7 +147611,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(35), }, }, - Ctx: p11302, + Ctx: p11484, FreeVars: ast.Identifiers{ "aux", "i", @@ -145091,11 +147623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(36), }, End: ast.Location{ - Line: int(1052), + Line: int(1072), Column: int(84), }, }, @@ -145183,7 +147715,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "range", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11258, + Ctx: p11440, FreeVars: ast.Identifiers{ "range", }, @@ -145191,11 +147723,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1053), + Line: int(1073), Column: int(45), }, End: ast.Location{ - Line: int(1053), + Line: int(1073), Column: int(50), }, }, @@ -145223,11 +147755,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1051), + Line: int(1071), Column: int(34), }, End: ast.Location{ - Line: int(1054), + Line: int(1074), Column: int(35), }, }, @@ -145244,7 +147776,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11240, + Ctx: p11422, FreeVars: ast.Identifiers{ "$std", "aux", @@ -145259,11 +147791,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1050), + Line: int(1070), Column: int(25), }, End: ast.Location{ - Line: int(1054), + Line: int(1074), Column: int(36), }, }, @@ -145279,7 +147811,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "newline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11315, + Ctx: p11497, FreeVars: ast.Identifiers{ "newline", }, @@ -145287,11 +147819,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(30), }, End: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(37), }, }, @@ -145303,17 +147835,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11315, + Ctx: p11497, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(24), }, End: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(27), }, }, @@ -145323,7 +147855,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11315, + Ctx: p11497, FreeVars: ast.Identifiers{ "newline", }, @@ -145331,11 +147863,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(24), }, End: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(37), }, }, @@ -145348,7 +147880,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11240, + Ctx: p11422, FreeVars: ast.Identifiers{ "newline", }, @@ -145356,11 +147888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(23), }, End: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(38), }, }, @@ -145377,7 +147909,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11240, + Ctx: p11422, FreeVars: ast.Identifiers{ "$std", "aux", @@ -145392,11 +147924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(23), }, End: ast.Location{ - Line: int(1054), + Line: int(1074), Column: int(36), }, }, @@ -145413,7 +147945,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11240, + Ctx: p11422, FreeVars: ast.Identifiers{ "$std", "aux", @@ -145429,11 +147961,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(23), }, End: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(50), }, }, @@ -145448,11 +147980,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(15), }, End: ast.Location{ - Line: int(1055), + Line: int(1075), Column: int(50), }, }, @@ -145479,11 +148011,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(9), }, End: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(12), }, }, @@ -145517,7 +148049,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", }, @@ -145525,11 +148057,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(9), }, End: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(17), }, }, @@ -145545,17 +148077,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11333, + Ctx: p11515, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(18), }, End: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(20), }, }, @@ -145569,7 +148101,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lines", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11333, + Ctx: p11515, FreeVars: ast.Identifiers{ "lines", }, @@ -145577,11 +148109,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(22), }, End: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(27), }, }, @@ -145596,7 +148128,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "lines", "std", @@ -145605,11 +148137,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(9), }, End: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(28), }, }, @@ -145626,7 +148158,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -145642,11 +148174,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1049), + Line: int(1069), Column: int(9), }, End: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(28), }, }, @@ -145661,7 +148193,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -145677,11 +148209,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1048), + Line: int(1068), Column: int(9), }, End: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(28), }, }, @@ -145696,7 +148228,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -145711,11 +148243,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1047), + Line: int(1067), Column: int(9), }, End: ast.Location{ - Line: int(1056), + Line: int(1076), Column: int(28), }, }, @@ -145736,11 +148268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(15), }, End: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(18), }, }, @@ -145774,7 +148306,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", }, @@ -145782,11 +148314,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(15), }, End: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(27), }, }, @@ -145800,7 +148332,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11352, + Ctx: p11534, FreeVars: ast.Identifiers{ "v", }, @@ -145808,11 +148340,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(28), }, End: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(29), }, }, @@ -145827,7 +148359,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", "v", @@ -145836,11 +148368,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(15), }, End: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(30), }, }, @@ -145863,17 +148395,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11362, + Ctx: p11544, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(46), }, End: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(49), }, }, @@ -145885,7 +148417,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11362, + Ctx: p11544, FreeVars: ast.Identifiers{ "cindent", }, @@ -145893,11 +148425,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(36), }, End: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(43), }, }, @@ -145907,7 +148439,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "newline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11362, + Ctx: p11544, FreeVars: ast.Identifiers{ "newline", }, @@ -145915,11 +148447,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(26), }, End: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(33), }, }, @@ -145928,7 +148460,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11362, + Ctx: p11544, FreeVars: ast.Identifiers{ "cindent", "newline", @@ -145937,11 +148469,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(26), }, End: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(43), }, }, @@ -145951,7 +148483,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11362, + Ctx: p11544, FreeVars: ast.Identifiers{ "cindent", "newline", @@ -145960,11 +148492,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(26), }, End: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(49), }, }, @@ -145977,7 +148509,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11370, + Ctx: p11552, FreeVars: ast.Identifiers{ "cindent", "newline", @@ -145986,11 +148518,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(25), }, End: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(50), }, }, @@ -146012,11 +148544,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(25), }, End: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(28), }, }, @@ -146050,7 +148582,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11370, + Ctx: p11552, FreeVars: ast.Identifiers{ "std", }, @@ -146058,11 +148590,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(25), }, End: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(33), }, }, @@ -146080,7 +148612,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "newline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11384, + Ctx: p11566, FreeVars: ast.Identifiers{ "newline", }, @@ -146088,11 +148620,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(41), }, End: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(48), }, }, @@ -146104,17 +148636,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11384, + Ctx: p11566, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(35), }, End: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(38), }, }, @@ -146124,7 +148656,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11384, + Ctx: p11566, FreeVars: ast.Identifiers{ "newline", }, @@ -146132,11 +148664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(35), }, End: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(48), }, }, @@ -146149,7 +148681,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11388, + Ctx: p11570, FreeVars: ast.Identifiers{ "newline", }, @@ -146157,11 +148689,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(34), }, End: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(49), }, }, @@ -146196,7 +148728,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -146260,7 +148792,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "aux", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "aux", }, @@ -146268,11 +148800,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(39), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(42), }, }, @@ -146287,7 +148819,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "v", }, @@ -146295,11 +148827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(43), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(44), }, }, @@ -146309,7 +148841,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "k", }, @@ -146317,11 +148849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(45), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(46), }, }, @@ -146332,7 +148864,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "k", "v", @@ -146341,11 +148873,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(43), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(47), }, }, @@ -146362,7 +148894,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11419, + Ctx: p11601, FreeVars: ast.Identifiers{ "k", }, @@ -146370,11 +148902,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(57), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(58), }, }, @@ -146386,7 +148918,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "k", }, @@ -146394,11 +148926,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(56), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(59), }, }, @@ -146409,7 +148941,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "path", }, @@ -146417,11 +148949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(49), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(53), }, }, @@ -146430,7 +148962,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "k", "path", @@ -146439,11 +148971,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(49), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(59), }, }, @@ -146458,7 +148990,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "indent", }, @@ -146466,11 +148998,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(71), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(77), }, }, @@ -146480,7 +149012,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "cindent", }, @@ -146488,11 +149020,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(61), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(68), }, }, @@ -146501,7 +149033,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11410, + Ctx: p11592, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -146510,11 +149042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(61), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(77), }, }, @@ -146530,7 +149062,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "aux", "cindent", @@ -146543,11 +149075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(39), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(78), }, }, @@ -146560,7 +149092,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key_val_sep", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "key_val_sep", }, @@ -146568,11 +149100,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(82), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(93), }, }, @@ -146593,11 +149125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(56), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(59), }, }, @@ -146631,7 +149163,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "std", }, @@ -146639,11 +149171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(56), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(76), }, }, @@ -146657,7 +149189,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11444, + Ctx: p11626, FreeVars: ast.Identifiers{ "k", }, @@ -146665,11 +149197,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(77), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(78), }, }, @@ -146684,7 +149216,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "k", "std", @@ -146693,11 +149225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(56), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(79), }, }, @@ -146710,7 +149242,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "indent", }, @@ -146718,11 +149250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(47), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(53), }, }, @@ -146732,7 +149264,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "cindent", }, @@ -146740,11 +149272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(37), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(44), }, }, @@ -146753,7 +149285,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -146762,11 +149294,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(37), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(53), }, }, @@ -146776,7 +149308,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -146787,11 +149319,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(37), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(79), }, }, @@ -146801,7 +149333,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "cindent", "indent", @@ -146813,11 +149345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(37), }, End: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(93), }, }, @@ -146834,7 +149366,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11405, + Ctx: p11587, FreeVars: ast.Identifiers{ "aux", "cindent", @@ -146849,11 +149381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(37), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(78), }, }, @@ -146873,7 +149405,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(35), }, }, - Ctx: p11458, + Ctx: p11640, FreeVars: ast.Identifiers{ "aux", "cindent", @@ -146888,11 +149420,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1061), + Line: int(1081), Column: int(36), }, End: ast.Location{ - Line: int(1062), + Line: int(1082), Column: int(79), }, }, @@ -146996,11 +149528,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1063), + Line: int(1083), Column: int(45), }, End: ast.Location{ - Line: int(1063), + Line: int(1083), Column: int(48), }, }, @@ -147034,7 +149566,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11388, + Ctx: p11570, FreeVars: ast.Identifiers{ "std", }, @@ -147042,11 +149574,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1063), + Line: int(1083), Column: int(45), }, End: ast.Location{ - Line: int(1063), + Line: int(1083), Column: int(61), }, }, @@ -147060,7 +149592,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11471, + Ctx: p11653, FreeVars: ast.Identifiers{ "v", }, @@ -147068,11 +149600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1063), + Line: int(1083), Column: int(62), }, End: ast.Location{ - Line: int(1063), + Line: int(1083), Column: int(63), }, }, @@ -147087,7 +149619,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11388, + Ctx: p11570, FreeVars: ast.Identifiers{ "std", "v", @@ -147096,11 +149628,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1063), + Line: int(1083), Column: int(45), }, End: ast.Location{ - Line: int(1063), + Line: int(1083), Column: int(64), }, }, @@ -147132,11 +149664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1060), + Line: int(1080), Column: int(34), }, End: ast.Location{ - Line: int(1064), + Line: int(1084), Column: int(35), }, }, @@ -147153,7 +149685,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11370, + Ctx: p11552, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147169,11 +149701,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1059), + Line: int(1079), Column: int(25), }, End: ast.Location{ - Line: int(1064), + Line: int(1084), Column: int(36), }, }, @@ -147189,7 +149721,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "newline", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11480, + Ctx: p11662, FreeVars: ast.Identifiers{ "newline", }, @@ -147197,11 +149729,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(30), }, End: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(37), }, }, @@ -147213,17 +149745,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11480, + Ctx: p11662, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(24), }, End: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(27), }, }, @@ -147233,7 +149765,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11480, + Ctx: p11662, FreeVars: ast.Identifiers{ "newline", }, @@ -147241,11 +149773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(24), }, End: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(37), }, }, @@ -147258,7 +149790,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11370, + Ctx: p11552, FreeVars: ast.Identifiers{ "newline", }, @@ -147266,11 +149798,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(23), }, End: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(38), }, }, @@ -147287,7 +149819,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11370, + Ctx: p11552, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147303,11 +149835,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(23), }, End: ast.Location{ - Line: int(1064), + Line: int(1084), Column: int(36), }, }, @@ -147324,7 +149856,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11370, + Ctx: p11552, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147340,11 +149872,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(23), }, End: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(50), }, }, @@ -147359,11 +149891,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(15), }, End: ast.Location{ - Line: int(1065), + Line: int(1085), Column: int(50), }, }, @@ -147390,11 +149922,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(9), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(12), }, }, @@ -147428,7 +149960,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "std", }, @@ -147436,11 +149968,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(9), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(17), }, }, @@ -147456,17 +149988,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11498, + Ctx: p11680, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(18), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(20), }, }, @@ -147480,7 +150012,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lines", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11498, + Ctx: p11680, FreeVars: ast.Identifiers{ "lines", }, @@ -147488,11 +150020,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(22), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(27), }, }, @@ -147507,7 +150039,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "lines", "std", @@ -147516,11 +150048,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(9), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147537,7 +150069,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147553,11 +150085,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1058), + Line: int(1078), Column: int(9), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147586,7 +150118,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147602,11 +150134,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1057), + Line: int(1077), Column: int(12), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147623,7 +150155,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147639,11 +150171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1046), + Line: int(1066), Column: int(12), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147660,7 +150192,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147676,11 +150208,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1044), + Line: int(1064), Column: int(12), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147697,7 +150229,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147713,11 +150245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1042), + Line: int(1062), Column: int(12), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147734,7 +150266,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147750,11 +150282,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1040), + Line: int(1060), Column: int(12), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147771,7 +150303,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147787,11 +150319,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1038), + Line: int(1058), Column: int(12), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147808,7 +150340,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147824,11 +150356,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1036), + Line: int(1056), Column: int(12), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147852,7 +150384,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p11093, + Ctx: p11275, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147868,11 +150400,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1034), + Line: int(1054), Column: int(7), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147889,11 +150421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1033), + Line: int(1053), Column: int(15), }, End: ast.Location{ - Line: int(1033), + Line: int(1053), Column: int(16), }, }, @@ -147908,11 +150440,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1033), + Line: int(1053), Column: int(18), }, End: ast.Location{ - Line: int(1033), + Line: int(1053), Column: int(22), }, }, @@ -147927,11 +150459,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1033), + Line: int(1053), Column: int(24), }, End: ast.Location{ - Line: int(1033), + Line: int(1053), Column: int(31), }, }, @@ -147939,7 +150471,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p11522, + Ctx: p11704, FreeVars: ast.Identifiers{ "$std", "aux", @@ -147952,11 +150484,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1033), + Line: int(1053), Column: int(11), }, End: ast.Location{ - Line: int(1066), + Line: int(1086), Column: int(28), }, }, @@ -147993,7 +150525,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p11527, + Ctx: p11709, FreeVars: ast.Identifiers{ "aux", }, @@ -148001,11 +150533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(5), }, End: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(8), }, }, @@ -148019,7 +150551,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11531, + Ctx: p11713, FreeVars: ast.Identifiers{ "value", }, @@ -148027,11 +150559,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(9), }, End: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(14), }, }, @@ -148045,17 +150577,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11531, + Ctx: p11713, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(16), }, End: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(18), }, }, @@ -148071,17 +150603,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11531, + Ctx: p11713, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(20), }, End: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(22), }, }, @@ -148097,7 +150629,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11527, + Ctx: p11709, FreeVars: ast.Identifiers{ "aux", "value", @@ -148106,11 +150638,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(5), }, End: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(23), }, }, @@ -148127,7 +150659,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p11527, + Ctx: p11709, FreeVars: ast.Identifiers{ "$std", "indent", @@ -148140,11 +150672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1033), + Line: int(1053), Column: int(5), }, End: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(23), }, }, @@ -148161,11 +150693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(18), }, End: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(23), }, }, @@ -148180,11 +150712,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(25), }, End: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(31), }, }, @@ -148200,17 +150732,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11527, + Ctx: p11709, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(41), }, End: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(45), }, }, @@ -148221,11 +150753,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(33), }, End: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(45), }, }, @@ -148241,17 +150773,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11527, + Ctx: p11709, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(59), }, End: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(63), }, }, @@ -148262,11 +150794,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(47), }, End: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(63), }, }, @@ -148298,11 +150830,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1032), + Line: int(1052), Column: int(3), }, End: ast.Location{ - Line: int(1067), + Line: int(1087), Column: int(23), }, }, @@ -148359,11 +150891,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(55), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(58), }, }, @@ -148397,7 +150929,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11554, + Ctx: p11736, FreeVars: ast.Identifiers{ "std", }, @@ -148405,11 +150937,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(55), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(65), }, }, @@ -148423,7 +150955,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "strSet", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11558, + Ctx: p11740, FreeVars: ast.Identifiers{ "strSet", }, @@ -148431,11 +150963,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(66), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(72), }, }, @@ -148450,7 +150982,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11554, + Ctx: p11736, FreeVars: ast.Identifiers{ "std", "strSet", @@ -148459,11 +150991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(55), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(73), }, }, @@ -148485,11 +151017,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(10), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(13), }, }, @@ -148523,7 +151055,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11554, + Ctx: p11736, FreeVars: ast.Identifiers{ "std", }, @@ -148531,11 +151063,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(10), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(20), }, }, @@ -148559,11 +151091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(21), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(24), }, }, @@ -148597,7 +151129,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11573, + Ctx: p11755, FreeVars: ast.Identifiers{ "std", }, @@ -148605,11 +151137,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(21), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(33), }, }, @@ -148623,7 +151155,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "charSet", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11577, + Ctx: p11759, FreeVars: ast.Identifiers{ "charSet", }, @@ -148631,11 +151163,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(34), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(41), }, }, @@ -148648,7 +151180,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "strSet", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11577, + Ctx: p11759, FreeVars: ast.Identifiers{ "strSet", }, @@ -148656,11 +151188,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(43), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(49), }, }, @@ -148675,7 +151207,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11573, + Ctx: p11755, FreeVars: ast.Identifiers{ "charSet", "std", @@ -148685,11 +151217,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(21), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(50), }, }, @@ -148706,7 +151238,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11554, + Ctx: p11736, FreeVars: ast.Identifiers{ "charSet", "std", @@ -148716,11 +151248,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(10), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(51), }, }, @@ -148731,7 +151263,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11554, + Ctx: p11736, FreeVars: ast.Identifiers{ "charSet", "std", @@ -148741,11 +151273,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(10), }, End: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(73), }, }, @@ -148762,17 +151294,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11554, + Ctx: p11736, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1072), + Line: int(1092), Column: int(9), }, End: ast.Location{ - Line: int(1072), + Line: int(1092), Column: int(13), }, }, @@ -148782,17 +151314,17 @@ var _StdAst = &ast.DesugaredObject{ BranchFalse: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11554, + Ctx: p11736, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1073), + Line: int(1093), Column: int(12), }, End: ast.Location{ - Line: int(1073), + Line: int(1093), Column: int(17), }, }, @@ -148817,7 +151349,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p11554, + Ctx: p11736, FreeVars: ast.Identifiers{ "charSet", "std", @@ -148827,11 +151359,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1071), + Line: int(1091), Column: int(7), }, End: ast.Location{ - Line: int(1073), + Line: int(1093), Column: int(17), }, }, @@ -148848,11 +151380,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1070), + Line: int(1090), Column: int(21), }, End: ast.Location{ - Line: int(1070), + Line: int(1090), Column: int(28), }, }, @@ -148867,11 +151399,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1070), + Line: int(1090), Column: int(30), }, End: ast.Location{ - Line: int(1070), + Line: int(1090), Column: int(36), }, }, @@ -148879,7 +151411,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p11591, + Ctx: p11773, FreeVars: ast.Identifiers{ "std", }, @@ -148887,11 +151419,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1070), + Line: int(1090), Column: int(11), }, End: ast.Location{ - Line: int(1073), + Line: int(1093), Column: int(17), }, }, @@ -148951,17 +151483,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1080), + Line: int(1100), Column: int(9), }, End: ast.Location{ - Line: int(1080), + Line: int(1100), Column: int(15), }, }, @@ -148984,17 +151516,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1081), + Line: int(1101), Column: int(9), }, End: ast.Location{ - Line: int(1081), + Line: int(1101), Column: int(16), }, }, @@ -149017,17 +151549,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1082), + Line: int(1102), Column: int(9), }, End: ast.Location{ - Line: int(1082), + Line: int(1102), Column: int(14), }, }, @@ -149050,17 +151582,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1083), + Line: int(1103), Column: int(9), }, End: ast.Location{ - Line: int(1083), + Line: int(1103), Column: int(13), }, }, @@ -149083,17 +151615,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1084), + Line: int(1104), Column: int(9), }, End: ast.Location{ - Line: int(1084), + Line: int(1104), Column: int(13), }, }, @@ -149116,17 +151648,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1085), + Line: int(1105), Column: int(9), }, End: ast.Location{ - Line: int(1085), + Line: int(1105), Column: int(14), }, }, @@ -149149,17 +151681,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1086), + Line: int(1106), Column: int(9), }, End: ast.Location{ - Line: int(1086), + Line: int(1106), Column: int(12), }, }, @@ -149182,17 +151714,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1087), + Line: int(1107), Column: int(9), }, End: ast.Location{ - Line: int(1087), + Line: int(1107), Column: int(12), }, }, @@ -149223,17 +151755,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1089), + Line: int(1109), Column: int(9), }, End: ast.Location{ - Line: int(1089), + Line: int(1109), Column: int(15), }, }, @@ -149256,17 +151788,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1090), + Line: int(1110), Column: int(9), }, End: ast.Location{ - Line: int(1090), + Line: int(1110), Column: int(16), }, }, @@ -149289,17 +151821,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1091), + Line: int(1111), Column: int(9), }, End: ast.Location{ - Line: int(1091), + Line: int(1111), Column: int(16), }, }, @@ -149322,17 +151854,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1092), + Line: int(1112), Column: int(9), }, End: ast.Location{ - Line: int(1092), + Line: int(1112), Column: int(15), }, }, @@ -149355,17 +151887,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1093), + Line: int(1113), Column: int(9), }, End: ast.Location{ - Line: int(1093), + Line: int(1113), Column: int(15), }, }, @@ -149396,17 +151928,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1095), + Line: int(1115), Column: int(9), }, End: ast.Location{ - Line: int(1095), + Line: int(1115), Column: int(12), }, }, @@ -149429,17 +151961,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1096), + Line: int(1116), Column: int(9), }, End: ast.Location{ - Line: int(1096), + Line: int(1116), Column: int(14), }, }, @@ -149462,17 +151994,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11603, + Ctx: p11785, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1097), + Line: int(1117), Column: int(9), }, End: ast.Location{ - Line: int(1097), + Line: int(1117), Column: int(11), }, }, @@ -149492,17 +152024,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11637, + Ctx: p11819, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1078), + Line: int(1098), Column: int(24), }, End: ast.Location{ - Line: int(1098), + Line: int(1118), Column: int(8), }, }, @@ -149517,11 +152049,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1078), + Line: int(1098), Column: int(13), }, End: ast.Location{ - Line: int(1098), + Line: int(1118), Column: int(8), }, }, @@ -149556,7 +152088,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -149624,11 +152156,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(57), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(60), }, }, @@ -149662,7 +152194,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11655, + Ctx: p11837, FreeVars: ast.Identifiers{ "std", }, @@ -149670,11 +152202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(57), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(71), }, }, @@ -149688,7 +152220,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11659, + Ctx: p11841, FreeVars: ast.Identifiers{ "key", }, @@ -149696,11 +152228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(72), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(75), }, }, @@ -149715,7 +152247,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11655, + Ctx: p11837, FreeVars: ast.Identifiers{ "key", "std", @@ -149724,11 +152256,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(57), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(76), }, }, @@ -149740,7 +152272,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "word", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11655, + Ctx: p11837, FreeVars: ast.Identifiers{ "word", }, @@ -149748,11 +152280,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(49), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(53), }, }, @@ -149761,7 +152293,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11655, + Ctx: p11837, FreeVars: ast.Identifiers{ "key", "std", @@ -149771,11 +152303,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(49), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(76), }, }, @@ -149789,7 +152321,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "word", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11668, + Ctx: p11850, FreeVars: ast.Identifiers{ "word", }, @@ -149797,11 +152329,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(20), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(24), }, }, @@ -149928,7 +152460,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "reserved", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11655, + Ctx: p11837, FreeVars: ast.Identifiers{ "reserved", }, @@ -149936,11 +152468,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(37), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(45), }, }, @@ -149966,11 +152498,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(19), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(77), }, }, @@ -149986,11 +152518,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(13), }, End: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(77), }, }, @@ -150002,17 +152534,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(28), }, End: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(29), }, }, @@ -150032,11 +152564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(10), }, End: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(13), }, }, @@ -150070,7 +152602,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{ "std", }, @@ -150078,11 +152610,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(10), }, End: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(20), }, }, @@ -150096,7 +152628,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bad", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11690, + Ctx: p11872, FreeVars: ast.Identifiers{ "bad", }, @@ -150104,11 +152636,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(21), }, End: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(24), }, }, @@ -150123,7 +152655,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{ "bad", "std", @@ -150132,11 +152664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(10), }, End: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(25), }, }, @@ -150147,7 +152679,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{ "bad", "std", @@ -150156,11 +152688,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(10), }, End: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(29), }, }, @@ -150177,17 +152709,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1101), + Line: int(1121), Column: int(9), }, End: ast.Location{ - Line: int(1101), + Line: int(1121), Column: int(13), }, }, @@ -150197,17 +152729,17 @@ var _StdAst = &ast.DesugaredObject{ BranchFalse: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1102), + Line: int(1122), Column: int(12), }, End: ast.Location{ - Line: int(1102), + Line: int(1122), Column: int(17), }, }, @@ -150232,7 +152764,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{ "bad", "std", @@ -150241,11 +152773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1100), + Line: int(1120), Column: int(7), }, End: ast.Location{ - Line: int(1102), + Line: int(1122), Column: int(17), }, }, @@ -150260,7 +152792,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{ "$std", "key", @@ -150271,11 +152803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1099), + Line: int(1119), Column: int(7), }, End: ast.Location{ - Line: int(1102), + Line: int(1122), Column: int(17), }, }, @@ -150314,7 +152846,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p11681, + Ctx: p11863, FreeVars: ast.Identifiers{ "$std", "key", @@ -150324,11 +152856,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1078), + Line: int(1098), Column: int(7), }, End: ast.Location{ - Line: int(1102), + Line: int(1122), Column: int(17), }, }, @@ -150345,11 +152877,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1074), + Line: int(1094), Column: int(22), }, End: ast.Location{ - Line: int(1074), + Line: int(1094), Column: int(25), }, }, @@ -150357,7 +152889,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p11708, + Ctx: p11890, FreeVars: ast.Identifiers{ "$std", "std", @@ -150366,11 +152898,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1074), + Line: int(1094), Column: int(11), }, End: ast.Location{ - Line: int(1102), + Line: int(1122), Column: int(17), }, }, @@ -150410,7 +152942,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "type", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "type", }, @@ -150418,11 +152950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(78), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(82), }, }, @@ -150434,17 +152966,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(72), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(75), }, }, @@ -150454,7 +152986,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "type", }, @@ -150462,11 +152994,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(72), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(82), }, }, @@ -150487,11 +153019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(45), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(48), }, }, @@ -150525,7 +153057,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "std", }, @@ -150533,11 +153065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(45), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(55), }, }, @@ -150551,7 +153083,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "m_key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11730, + Ctx: p11912, FreeVars: ast.Identifiers{ "m_key", }, @@ -150559,11 +153091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(56), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(61), }, }, @@ -150576,17 +153108,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11730, + Ctx: p11912, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(63), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(64), }, }, @@ -150599,17 +153131,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11730, + Ctx: p11912, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(66), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(67), }, }, @@ -150624,7 +153156,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "m_key", "std", @@ -150633,11 +153165,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(45), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(68), }, }, @@ -150648,7 +153180,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "m_key", "std", @@ -150658,11 +153190,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(45), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(82), }, }, @@ -150674,7 +153206,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "type", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "type", }, @@ -150682,11 +153214,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(37), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(41), }, }, @@ -150706,11 +153238,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(10), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(13), }, }, @@ -150744,7 +153276,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "std", }, @@ -150752,11 +153284,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(10), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(20), }, }, @@ -150770,7 +153302,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "m_key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11747, + Ctx: p11929, FreeVars: ast.Identifiers{ "m_key", }, @@ -150778,11 +153310,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(21), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(26), }, }, @@ -150795,17 +153327,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11747, + Ctx: p11929, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(28), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(29), }, }, @@ -150818,17 +153350,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11747, + Ctx: p11929, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(31), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(32), }, }, @@ -150843,7 +153375,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "m_key", "std", @@ -150852,11 +153384,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(10), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(33), }, }, @@ -150867,7 +153399,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "m_key", "std", @@ -150877,11 +153409,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(10), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(41), }, }, @@ -150891,7 +153423,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "m_key", "std", @@ -150901,11 +153433,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(10), }, End: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(82), }, }, @@ -150922,17 +153454,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1106), + Line: int(1126), Column: int(9), }, End: ast.Location{ - Line: int(1106), + Line: int(1126), Column: int(13), }, }, @@ -150942,17 +153474,17 @@ var _StdAst = &ast.DesugaredObject{ BranchFalse: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1107), + Line: int(1127), Column: int(12), }, End: ast.Location{ - Line: int(1107), + Line: int(1127), Column: int(17), }, }, @@ -150985,7 +153517,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p11718, + Ctx: p11900, FreeVars: ast.Identifiers{ "m_key", "std", @@ -150995,11 +153527,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1105), + Line: int(1125), Column: int(7), }, End: ast.Location{ - Line: int(1107), + Line: int(1127), Column: int(17), }, }, @@ -151016,11 +153548,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1103), + Line: int(1123), Column: int(21), }, End: ast.Location{ - Line: int(1103), + Line: int(1123), Column: int(26), }, }, @@ -151035,11 +153567,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1103), + Line: int(1123), Column: int(28), }, End: ast.Location{ - Line: int(1103), + Line: int(1123), Column: int(32), }, }, @@ -151047,7 +153579,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p11762, + Ctx: p11944, FreeVars: ast.Identifiers{ "std", }, @@ -151055,11 +153587,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1103), + Line: int(1123), Column: int(11), }, End: ast.Location{ - Line: int(1107), + Line: int(1127), Column: int(17), }, }, @@ -151109,11 +153641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(23), }, End: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(26), }, }, @@ -151147,7 +153679,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11774, + Ctx: p11956, FreeVars: ast.Identifiers{ "std", }, @@ -151155,11 +153687,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(23), }, End: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(30), }, }, @@ -151183,11 +153715,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(31), }, End: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(34), }, }, @@ -151221,7 +153753,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11782, + Ctx: p11964, FreeVars: ast.Identifiers{ "std", }, @@ -151229,11 +153761,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(31), }, End: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(46), }, }, @@ -151249,17 +153781,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11786, + Ctx: p11968, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(47), }, End: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(104), }, }, @@ -151275,7 +153807,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11782, + Ctx: p11964, FreeVars: ast.Identifiers{ "std", }, @@ -151283,11 +153815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(31), }, End: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(105), }, }, @@ -151304,7 +153836,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11774, + Ctx: p11956, FreeVars: ast.Identifiers{ "std", }, @@ -151312,11 +153844,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(23), }, End: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(106), }, }, @@ -151332,11 +153864,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(13), }, End: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(106), }, }, @@ -151360,11 +153892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(22), }, End: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(25), }, }, @@ -151398,7 +153930,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11796, + Ctx: p11978, FreeVars: ast.Identifiers{ "std", }, @@ -151406,11 +153938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(22), }, End: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(29), }, }, @@ -151434,11 +153966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(30), }, End: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(33), }, }, @@ -151472,7 +154004,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11804, + Ctx: p11986, FreeVars: ast.Identifiers{ "std", }, @@ -151480,11 +154012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(30), }, End: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(45), }, }, @@ -151500,17 +154032,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11808, + Ctx: p11990, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(46), }, End: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(58), }, }, @@ -151526,7 +154058,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11804, + Ctx: p11986, FreeVars: ast.Identifiers{ "std", }, @@ -151534,11 +154066,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(30), }, End: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(59), }, }, @@ -151555,7 +154087,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11796, + Ctx: p11978, FreeVars: ast.Identifiers{ "std", }, @@ -151563,11 +154095,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(22), }, End: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(60), }, }, @@ -151583,11 +154115,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(13), }, End: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(60), }, }, @@ -151611,11 +154143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(24), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(27), }, }, @@ -151649,7 +154181,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11818, + Ctx: p12000, FreeVars: ast.Identifiers{ "std", }, @@ -151657,11 +154189,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(24), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(31), }, }, @@ -151686,11 +154218,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(41), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(44), }, }, @@ -151724,7 +154256,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11827, + Ctx: p12009, FreeVars: ast.Identifiers{ "std", }, @@ -151732,11 +154264,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(41), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(56), }, }, @@ -151752,17 +154284,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11831, + Ctx: p12013, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(57), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(61), }, }, @@ -151778,7 +154310,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11827, + Ctx: p12009, FreeVars: ast.Identifiers{ "std", }, @@ -151786,11 +154318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(41), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(62), }, }, @@ -151802,7 +154334,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "digits", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11827, + Ctx: p12009, FreeVars: ast.Identifiers{ "digits", }, @@ -151810,11 +154342,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(32), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(38), }, }, @@ -151823,7 +154355,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11827, + Ctx: p12009, FreeVars: ast.Identifiers{ "digits", "std", @@ -151832,11 +154364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(32), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(62), }, }, @@ -151852,7 +154384,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11818, + Ctx: p12000, FreeVars: ast.Identifiers{ "digits", "std", @@ -151861,11 +154393,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(24), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(63), }, }, @@ -151881,11 +154413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(13), }, End: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(63), }, }, @@ -151909,11 +154441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(24), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(27), }, }, @@ -151947,7 +154479,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11844, + Ctx: p12026, FreeVars: ast.Identifiers{ "std", }, @@ -151955,11 +154487,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(24), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(31), }, }, @@ -151984,11 +154516,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(43), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(46), }, }, @@ -152022,7 +154554,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11853, + Ctx: p12035, FreeVars: ast.Identifiers{ "std", }, @@ -152030,11 +154562,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(43), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(58), }, }, @@ -152050,17 +154582,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11857, + Ctx: p12039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(59), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(62), }, }, @@ -152076,7 +154608,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11853, + Ctx: p12035, FreeVars: ast.Identifiers{ "std", }, @@ -152084,11 +154616,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(43), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(63), }, }, @@ -152100,7 +154632,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "intChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11853, + Ctx: p12035, FreeVars: ast.Identifiers{ "intChars", }, @@ -152108,11 +154640,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(32), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(40), }, }, @@ -152121,7 +154653,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11853, + Ctx: p12035, FreeVars: ast.Identifiers{ "intChars", "std", @@ -152130,11 +154662,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(32), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(63), }, }, @@ -152150,7 +154682,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11844, + Ctx: p12026, FreeVars: ast.Identifiers{ "intChars", "std", @@ -152159,11 +154691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(24), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(64), }, }, @@ -152179,11 +154711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(13), }, End: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(64), }, }, @@ -152207,11 +154739,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(24), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(27), }, }, @@ -152245,7 +154777,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11870, + Ctx: p12052, FreeVars: ast.Identifiers{ "std", }, @@ -152253,11 +154785,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(24), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(31), }, }, @@ -152282,11 +154814,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(41), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(44), }, }, @@ -152320,7 +154852,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11879, + Ctx: p12061, FreeVars: ast.Identifiers{ "std", }, @@ -152328,11 +154860,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(41), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(56), }, }, @@ -152348,17 +154880,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11883, + Ctx: p12065, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(57), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(68), }, }, @@ -152374,7 +154906,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11879, + Ctx: p12061, FreeVars: ast.Identifiers{ "std", }, @@ -152382,11 +154914,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(41), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(69), }, }, @@ -152398,7 +154930,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "digits", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11879, + Ctx: p12061, FreeVars: ast.Identifiers{ "digits", }, @@ -152406,11 +154938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(32), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(38), }, }, @@ -152419,7 +154951,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11879, + Ctx: p12061, FreeVars: ast.Identifiers{ "digits", "std", @@ -152428,11 +154960,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(32), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(69), }, }, @@ -152448,7 +154980,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11870, + Ctx: p12052, FreeVars: ast.Identifiers{ "digits", "std", @@ -152457,11 +154989,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(24), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(70), }, }, @@ -152477,11 +155009,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(13), }, End: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(70), }, }, @@ -152505,11 +155037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(26), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(29), }, }, @@ -152543,7 +155075,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11896, + Ctx: p12078, FreeVars: ast.Identifiers{ "std", }, @@ -152551,11 +155083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(26), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(33), }, }, @@ -152580,11 +155112,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(43), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(46), }, }, @@ -152618,7 +155150,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11905, + Ctx: p12087, FreeVars: ast.Identifiers{ "std", }, @@ -152626,11 +155158,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(43), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(58), }, }, @@ -152646,17 +155178,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11909, + Ctx: p12091, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(59), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(65), }, }, @@ -152672,7 +155204,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11905, + Ctx: p12087, FreeVars: ast.Identifiers{ "std", }, @@ -152680,11 +155212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(43), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(66), }, }, @@ -152696,7 +155228,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "digits", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11905, + Ctx: p12087, FreeVars: ast.Identifiers{ "digits", }, @@ -152704,11 +155236,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(34), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(40), }, }, @@ -152717,7 +155249,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11905, + Ctx: p12087, FreeVars: ast.Identifiers{ "digits", "std", @@ -152726,11 +155258,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(34), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(66), }, }, @@ -152746,7 +155278,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11896, + Ctx: p12078, FreeVars: ast.Identifiers{ "digits", "std", @@ -152755,11 +155287,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(26), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(67), }, }, @@ -152775,11 +155307,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(13), }, End: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(67), }, }, @@ -152803,11 +155335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(25), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(28), }, }, @@ -152841,7 +155373,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11922, + Ctx: p12104, FreeVars: ast.Identifiers{ "std", }, @@ -152849,11 +155381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(25), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(32), }, }, @@ -152878,11 +155410,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(42), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(45), }, }, @@ -152916,7 +155448,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11931, + Ctx: p12113, FreeVars: ast.Identifiers{ "std", }, @@ -152924,11 +155456,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(42), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(57), }, }, @@ -152944,17 +155476,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11935, + Ctx: p12117, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(58), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(61), }, }, @@ -152970,7 +155502,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11931, + Ctx: p12113, FreeVars: ast.Identifiers{ "std", }, @@ -152978,11 +155510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(42), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(62), }, }, @@ -152994,7 +155526,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "digits", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11931, + Ctx: p12113, FreeVars: ast.Identifiers{ "digits", }, @@ -153002,11 +155534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(33), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(39), }, }, @@ -153015,7 +155547,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11931, + Ctx: p12113, FreeVars: ast.Identifiers{ "digits", "std", @@ -153024,11 +155556,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(33), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(62), }, }, @@ -153044,7 +155576,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11922, + Ctx: p12104, FreeVars: ast.Identifiers{ "digits", "std", @@ -153053,11 +155585,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(25), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(63), }, }, @@ -153073,11 +155605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(13), }, End: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(63), }, }, @@ -153101,11 +155633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(25), }, End: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(28), }, }, @@ -153139,7 +155671,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11948, + Ctx: p12130, FreeVars: ast.Identifiers{ "std", }, @@ -153147,11 +155679,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(25), }, End: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(32), }, }, @@ -153166,7 +155698,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "floatChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11953, + Ctx: p12135, FreeVars: ast.Identifiers{ "floatChars", }, @@ -153174,11 +155706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(43), }, End: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(53), }, }, @@ -153188,7 +155720,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "letters", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11953, + Ctx: p12135, FreeVars: ast.Identifiers{ "letters", }, @@ -153196,11 +155728,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(33), }, End: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(40), }, }, @@ -153209,7 +155741,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11953, + Ctx: p12135, FreeVars: ast.Identifiers{ "floatChars", "letters", @@ -153218,11 +155750,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(33), }, End: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(53), }, }, @@ -153238,7 +155770,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11948, + Ctx: p12130, FreeVars: ast.Identifiers{ "floatChars", "letters", @@ -153248,11 +155780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(25), }, End: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(54), }, }, @@ -153268,11 +155800,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(13), }, End: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(54), }, }, @@ -153296,11 +155828,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(21), }, End: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(24), }, }, @@ -153334,7 +155866,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11966, + Ctx: p12148, FreeVars: ast.Identifiers{ "std", }, @@ -153342,11 +155874,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(21), }, End: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(35), }, }, @@ -153360,7 +155892,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11970, + Ctx: p12152, FreeVars: ast.Identifiers{ "key", }, @@ -153368,11 +155900,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(36), }, End: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(39), }, }, @@ -153387,7 +155919,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11966, + Ctx: p12148, FreeVars: ast.Identifiers{ "key", "std", @@ -153396,11 +155928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(21), }, End: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(40), }, }, @@ -153416,11 +155948,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(13), }, End: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(40), }, }, @@ -153444,11 +155976,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(24), }, End: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(27), }, }, @@ -153482,7 +156014,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11980, + Ctx: p12162, FreeVars: ast.Identifiers{ "std", }, @@ -153490,11 +156022,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(24), }, End: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(39), }, }, @@ -153508,7 +156040,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11984, + Ctx: p12166, FreeVars: ast.Identifiers{ "key", }, @@ -153516,11 +156048,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(40), }, End: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(43), }, }, @@ -153535,7 +156067,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11980, + Ctx: p12162, FreeVars: ast.Identifiers{ "key", "std", @@ -153544,11 +156076,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(24), }, End: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(44), }, }, @@ -153564,11 +156096,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(13), }, End: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(44), }, }, @@ -153592,11 +156124,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(22), }, End: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(25), }, }, @@ -153630,7 +156162,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11994, + Ctx: p12176, FreeVars: ast.Identifiers{ "std", }, @@ -153638,11 +156170,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(22), }, End: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(29), }, }, @@ -153656,7 +156188,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11998, + Ctx: p12180, FreeVars: ast.Identifiers{ "keyChars", }, @@ -153664,11 +156196,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(30), }, End: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(38), }, }, @@ -153683,7 +156215,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p11994, + Ctx: p12176, FreeVars: ast.Identifiers{ "keyChars", "std", @@ -153692,11 +156224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(22), }, End: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(39), }, }, @@ -153712,11 +156244,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(13), }, End: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(39), }, }, @@ -153740,11 +156272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(24), }, End: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(27), }, }, @@ -153778,7 +156310,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12008, + Ctx: p12190, FreeVars: ast.Identifiers{ "std", }, @@ -153786,11 +156318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(24), }, End: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(31), }, }, @@ -153814,11 +156346,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(32), }, End: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(35), }, }, @@ -153852,7 +156384,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12016, + Ctx: p12198, FreeVars: ast.Identifiers{ "std", }, @@ -153860,11 +156392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(32), }, End: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(47), }, }, @@ -153878,7 +156410,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyLc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12020, + Ctx: p12202, FreeVars: ast.Identifiers{ "keyLc", }, @@ -153886,11 +156418,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(48), }, End: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(53), }, }, @@ -153905,7 +156437,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12016, + Ctx: p12198, FreeVars: ast.Identifiers{ "keyLc", "std", @@ -153914,11 +156446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(32), }, End: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(54), }, }, @@ -153935,7 +156467,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12008, + Ctx: p12190, FreeVars: ast.Identifiers{ "keyLc", "std", @@ -153944,11 +156476,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(24), }, End: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(55), }, }, @@ -153964,11 +156496,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(13), }, End: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(55), }, }, @@ -153981,7 +156513,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "onlyChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "onlyChars", }, @@ -153989,11 +156521,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(11), }, End: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(20), }, }, @@ -154007,7 +156539,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "safeChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12032, + Ctx: p12214, FreeVars: ast.Identifiers{ "safeChars", }, @@ -154015,11 +156547,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(21), }, End: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(30), }, }, @@ -154032,7 +156564,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keySet", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12032, + Ctx: p12214, FreeVars: ast.Identifiers{ "keySet", }, @@ -154040,11 +156572,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(32), }, End: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(38), }, }, @@ -154059,7 +156591,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "keySet", "onlyChars", @@ -154069,11 +156601,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(11), }, End: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(39), }, }, @@ -154083,7 +156615,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "keySet", "onlyChars", @@ -154093,11 +156625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(10), }, End: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(39), }, }, @@ -154114,17 +156646,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1138), + Line: int(1158), Column: int(9), }, End: ast.Location{ - Line: int(1138), + Line: int(1158), Column: int(14), }, }, @@ -154137,7 +156669,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "isReserved", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "isReserved", }, @@ -154145,11 +156677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1140), + Line: int(1160), Column: int(15), }, End: ast.Location{ - Line: int(1140), + Line: int(1160), Column: int(25), }, }, @@ -154163,7 +156695,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12046, + Ctx: p12228, FreeVars: ast.Identifiers{ "key", }, @@ -154171,11 +156703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1140), + Line: int(1160), Column: int(26), }, End: ast.Location{ - Line: int(1140), + Line: int(1160), Column: int(29), }, }, @@ -154190,7 +156722,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "isReserved", "key", @@ -154199,11 +156731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1140), + Line: int(1160), Column: int(15), }, End: ast.Location{ - Line: int(1140), + Line: int(1160), Column: int(30), }, }, @@ -154221,17 +156753,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1141), + Line: int(1161), Column: int(9), }, End: ast.Location{ - Line: int(1141), + Line: int(1161), Column: int(14), }, }, @@ -154245,17 +156777,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(58), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(59), }, }, @@ -154275,11 +156807,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(18), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(21), }, }, @@ -154313,7 +156845,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "std", }, @@ -154321,11 +156853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(18), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(28), }, }, @@ -154349,11 +156881,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(29), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(32), }, }, @@ -154387,7 +156919,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12067, + Ctx: p12249, FreeVars: ast.Identifiers{ "std", }, @@ -154395,11 +156927,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(29), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(43), }, }, @@ -154415,17 +156947,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12071, + Ctx: p12253, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(44), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(47), }, }, @@ -154439,7 +156971,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12071, + Ctx: p12253, FreeVars: ast.Identifiers{ "key", }, @@ -154447,11 +156979,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(49), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(52), }, }, @@ -154466,7 +156998,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12067, + Ctx: p12249, FreeVars: ast.Identifiers{ "key", "std", @@ -154475,11 +157007,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(29), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(53), }, }, @@ -154496,7 +157028,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -154505,11 +157037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(18), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(54), }, }, @@ -154520,7 +157052,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -154529,11 +157061,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(18), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(59), }, }, @@ -154545,7 +157077,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "onlyChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "onlyChars", }, @@ -154553,11 +157085,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(15), }, End: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(24), }, }, @@ -154571,7 +157103,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "dateChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12082, + Ctx: p12264, FreeVars: ast.Identifiers{ "dateChars", }, @@ -154579,11 +157111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(25), }, End: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(34), }, }, @@ -154596,7 +157128,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keySet", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12082, + Ctx: p12264, FreeVars: ast.Identifiers{ "keySet", }, @@ -154604,11 +157136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(36), }, End: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(42), }, }, @@ -154623,7 +157155,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "dateChars", "keySet", @@ -154633,11 +157165,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(15), }, End: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(43), }, }, @@ -154655,7 +157187,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "dateChars", "key", @@ -154667,11 +157199,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(15), }, End: ast.Location{ - Line: int(1150), + Line: int(1170), Column: int(59), }, }, @@ -154688,17 +157220,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1151), + Line: int(1171), Column: int(9), }, End: ast.Location{ - Line: int(1151), + Line: int(1171), Column: int(14), }, }, @@ -154712,17 +157244,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(57), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(58), }, }, @@ -154742,11 +157274,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(18), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(21), }, }, @@ -154780,7 +157312,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "std", }, @@ -154788,11 +157320,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(18), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(28), }, }, @@ -154816,11 +157348,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(29), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(32), }, }, @@ -154854,7 +157386,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12107, + Ctx: p12289, FreeVars: ast.Identifiers{ "std", }, @@ -154862,11 +157394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(29), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(43), }, }, @@ -154882,17 +157414,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12111, + Ctx: p12293, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(44), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(47), }, }, @@ -154906,7 +157438,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12111, + Ctx: p12293, FreeVars: ast.Identifiers{ "key", }, @@ -154914,11 +157446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(49), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(52), }, }, @@ -154933,7 +157465,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12107, + Ctx: p12289, FreeVars: ast.Identifiers{ "key", "std", @@ -154942,11 +157474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(29), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(53), }, }, @@ -154963,7 +157495,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -154972,11 +157504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(18), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(54), }, }, @@ -154987,7 +157519,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -154996,11 +157528,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(18), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(58), }, }, @@ -155012,7 +157544,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "onlyChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "onlyChars", }, @@ -155020,11 +157552,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(15), }, End: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(24), }, }, @@ -155038,7 +157570,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "intChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12122, + Ctx: p12304, FreeVars: ast.Identifiers{ "intChars", }, @@ -155046,11 +157578,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(25), }, End: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(33), }, }, @@ -155063,7 +157595,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keySetLc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12122, + Ctx: p12304, FreeVars: ast.Identifiers{ "keySetLc", }, @@ -155071,11 +157603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(35), }, End: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(43), }, }, @@ -155090,7 +157622,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "intChars", "keySetLc", @@ -155100,11 +157632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(15), }, End: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(44), }, }, @@ -155122,7 +157654,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "intChars", "key", @@ -155134,11 +157666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(15), }, End: ast.Location{ - Line: int(1158), + Line: int(1178), Column: int(58), }, }, @@ -155155,17 +157687,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1159), + Line: int(1179), Column: int(9), }, End: ast.Location{ - Line: int(1159), + Line: int(1179), Column: int(14), }, }, @@ -155179,7 +157711,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "typeMatch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "typeMatch", }, @@ -155187,11 +157719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(18), }, End: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(27), }, }, @@ -155205,7 +157737,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12138, + Ctx: p12320, FreeVars: ast.Identifiers{ "key", }, @@ -155213,11 +157745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(28), }, End: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(31), }, }, @@ -155232,17 +157764,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12138, + Ctx: p12320, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(33), }, End: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(37), }, }, @@ -155258,7 +157790,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "typeMatch", @@ -155267,11 +157799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(18), }, End: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(38), }, }, @@ -155285,17 +157817,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(36), }, End: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(37), }, }, @@ -155315,11 +157847,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(18), }, End: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(21), }, }, @@ -155353,7 +157885,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "std", }, @@ -155361,11 +157893,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(18), }, End: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(28), }, }, @@ -155379,7 +157911,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12153, + Ctx: p12335, FreeVars: ast.Identifiers{ "key", }, @@ -155387,11 +157919,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(29), }, End: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(32), }, }, @@ -155406,7 +157938,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -155415,11 +157947,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(18), }, End: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(33), }, }, @@ -155430,7 +157962,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -155439,11 +157971,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(18), }, End: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(37), }, }, @@ -155455,7 +157987,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "onlyChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "onlyChars", }, @@ -155463,11 +157995,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(15), }, End: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(24), }, }, @@ -155481,7 +158013,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "binChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12162, + Ctx: p12344, FreeVars: ast.Identifiers{ "binChars", }, @@ -155489,11 +158021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(25), }, End: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(33), }, }, @@ -155506,7 +158038,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keySetLc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12162, + Ctx: p12344, FreeVars: ast.Identifiers{ "keySetLc", }, @@ -155514,11 +158046,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(35), }, End: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(43), }, }, @@ -155533,7 +158065,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "keySetLc", @@ -155543,11 +158075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(15), }, End: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(44), }, }, @@ -155565,7 +158097,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "key", @@ -155577,11 +158109,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(15), }, End: ast.Location{ - Line: int(1167), + Line: int(1187), Column: int(37), }, }, @@ -155598,7 +158130,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "key", @@ -155611,11 +158143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(15), }, End: ast.Location{ - Line: int(1168), + Line: int(1188), Column: int(38), }, }, @@ -155632,17 +158164,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1169), + Line: int(1189), Column: int(9), }, End: ast.Location{ - Line: int(1169), + Line: int(1189), Column: int(14), }, }, @@ -155656,17 +158188,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(59), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(60), }, }, @@ -155686,11 +158218,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(18), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(21), }, }, @@ -155724,7 +158256,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "std", }, @@ -155732,11 +158264,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(18), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(28), }, }, @@ -155760,11 +158292,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(29), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(32), }, }, @@ -155798,7 +158330,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12189, + Ctx: p12371, FreeVars: ast.Identifiers{ "std", }, @@ -155806,11 +158338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(29), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(43), }, }, @@ -155826,17 +158358,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12193, + Ctx: p12375, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(44), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(47), }, }, @@ -155850,7 +158382,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyLc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12193, + Ctx: p12375, FreeVars: ast.Identifiers{ "keyLc", }, @@ -155858,11 +158390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(49), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(54), }, }, @@ -155877,7 +158409,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12189, + Ctx: p12371, FreeVars: ast.Identifiers{ "keyLc", "std", @@ -155886,11 +158418,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(29), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(55), }, }, @@ -155907,7 +158439,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "keyLc", "std", @@ -155916,11 +158448,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(18), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(56), }, }, @@ -155931,7 +158463,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "keyLc", "std", @@ -155940,11 +158472,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(18), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(60), }, }, @@ -155957,17 +158489,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(57), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(58), }, }, @@ -155987,11 +158519,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(18), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(21), }, }, @@ -156025,7 +158557,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "std", }, @@ -156033,11 +158565,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(18), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(28), }, }, @@ -156061,11 +158593,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(29), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(32), }, }, @@ -156099,7 +158631,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12214, + Ctx: p12396, FreeVars: ast.Identifiers{ "std", }, @@ -156107,11 +158639,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(29), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(43), }, }, @@ -156127,17 +158659,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12218, + Ctx: p12400, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(44), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(47), }, }, @@ -156151,7 +158683,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12218, + Ctx: p12400, FreeVars: ast.Identifiers{ "key", }, @@ -156159,11 +158691,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(49), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(52), }, }, @@ -156178,7 +158710,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12214, + Ctx: p12396, FreeVars: ast.Identifiers{ "key", "std", @@ -156187,11 +158719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(29), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(53), }, }, @@ -156208,7 +158740,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -156217,11 +158749,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(18), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(54), }, }, @@ -156232,7 +158764,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -156241,11 +158773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(18), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(58), }, }, @@ -156258,17 +158790,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(58), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(59), }, }, @@ -156288,11 +158820,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(18), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(21), }, }, @@ -156326,7 +158858,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "std", }, @@ -156334,11 +158866,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(18), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(28), }, }, @@ -156362,11 +158894,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(29), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(32), }, }, @@ -156400,7 +158932,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12239, + Ctx: p12421, FreeVars: ast.Identifiers{ "std", }, @@ -156408,11 +158940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(29), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(43), }, }, @@ -156428,17 +158960,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12243, + Ctx: p12425, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(44), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(47), }, }, @@ -156452,7 +158984,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12243, + Ctx: p12425, FreeVars: ast.Identifiers{ "key", }, @@ -156460,11 +158992,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(49), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(52), }, }, @@ -156479,7 +159011,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12239, + Ctx: p12421, FreeVars: ast.Identifiers{ "key", "std", @@ -156488,11 +159020,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(29), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(53), }, }, @@ -156509,7 +159041,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -156518,11 +159050,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(18), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(54), }, }, @@ -156533,7 +159065,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -156542,11 +159074,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(18), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(59), }, }, @@ -156558,7 +159090,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "onlyChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "onlyChars", }, @@ -156566,11 +159098,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(15), }, End: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(24), }, }, @@ -156584,7 +159116,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "floatChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12254, + Ctx: p12436, FreeVars: ast.Identifiers{ "floatChars", }, @@ -156592,11 +159124,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(25), }, End: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(35), }, }, @@ -156609,7 +159141,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keySetLc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12254, + Ctx: p12436, FreeVars: ast.Identifiers{ "keySetLc", }, @@ -156617,11 +159149,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(37), }, End: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(45), }, }, @@ -156636,7 +159168,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "floatChars", "keySetLc", @@ -156646,11 +159178,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(15), }, End: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(46), }, }, @@ -156668,7 +159200,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "floatChars", "key", @@ -156680,11 +159212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(15), }, End: ast.Location{ - Line: int(1178), + Line: int(1198), Column: int(59), }, }, @@ -156701,7 +159233,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "floatChars", "key", @@ -156713,11 +159245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(15), }, End: ast.Location{ - Line: int(1179), + Line: int(1199), Column: int(58), }, }, @@ -156734,7 +159266,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "floatChars", "key", @@ -156747,11 +159279,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(15), }, End: ast.Location{ - Line: int(1180), + Line: int(1200), Column: int(60), }, }, @@ -156768,17 +159300,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1181), + Line: int(1201), Column: int(9), }, End: ast.Location{ - Line: int(1181), + Line: int(1201), Column: int(14), }, }, @@ -156792,7 +159324,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "typeMatch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "typeMatch", }, @@ -156800,11 +159332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(18), }, End: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(27), }, }, @@ -156818,7 +159350,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12274, + Ctx: p12456, FreeVars: ast.Identifiers{ "key", }, @@ -156826,11 +159358,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(28), }, End: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(31), }, }, @@ -156845,17 +159377,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12274, + Ctx: p12456, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(33), }, End: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(37), }, }, @@ -156871,7 +159403,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "typeMatch", @@ -156880,11 +159412,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(18), }, End: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(38), }, }, @@ -156898,17 +159430,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(41), }, End: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(42), }, }, @@ -156928,11 +159460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(18), }, End: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(21), }, }, @@ -156966,7 +159498,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "std", }, @@ -156974,11 +159506,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(18), }, End: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(28), }, }, @@ -156992,7 +159524,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12289, + Ctx: p12471, FreeVars: ast.Identifiers{ "keyChars", }, @@ -157000,11 +159532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(29), }, End: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(37), }, }, @@ -157019,7 +159551,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "keyChars", "std", @@ -157028,11 +159560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(18), }, End: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(38), }, }, @@ -157043,7 +159575,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "keyChars", "std", @@ -157052,11 +159584,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(18), }, End: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(42), }, }, @@ -157069,17 +159601,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(57), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(58), }, }, @@ -157099,11 +159631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(18), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(21), }, }, @@ -157137,7 +159669,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "std", }, @@ -157145,11 +159677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(18), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(28), }, }, @@ -157173,11 +159705,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(29), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(32), }, }, @@ -157211,7 +159743,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12308, + Ctx: p12490, FreeVars: ast.Identifiers{ "std", }, @@ -157219,11 +159751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(29), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(43), }, }, @@ -157239,17 +159771,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12312, + Ctx: p12494, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(44), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(47), }, }, @@ -157263,7 +159795,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12312, + Ctx: p12494, FreeVars: ast.Identifiers{ "key", }, @@ -157271,11 +159803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(49), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(52), }, }, @@ -157290,7 +159822,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12308, + Ctx: p12490, FreeVars: ast.Identifiers{ "key", "std", @@ -157299,11 +159831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(29), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(53), }, }, @@ -157320,7 +159852,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -157329,11 +159861,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(18), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(54), }, }, @@ -157344,7 +159876,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "key", "std", @@ -157353,11 +159885,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(18), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(58), }, }, @@ -157369,7 +159901,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "onlyChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "onlyChars", }, @@ -157377,11 +159909,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(15), }, End: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(24), }, }, @@ -157395,7 +159927,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "hexChars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12323, + Ctx: p12505, FreeVars: ast.Identifiers{ "hexChars", }, @@ -157403,11 +159935,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(25), }, End: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(33), }, }, @@ -157420,7 +159952,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keySetLc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12323, + Ctx: p12505, FreeVars: ast.Identifiers{ "keySetLc", }, @@ -157428,11 +159960,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(35), }, End: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(43), }, }, @@ -157447,7 +159979,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "hexChars", "keySetLc", @@ -157457,11 +159989,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(15), }, End: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(44), }, }, @@ -157479,7 +160011,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "hexChars", "key", @@ -157491,11 +160023,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(15), }, End: ast.Location{ - Line: int(1190), + Line: int(1210), Column: int(58), }, }, @@ -157512,7 +160044,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "hexChars", "key", @@ -157525,11 +160057,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(15), }, End: ast.Location{ - Line: int(1191), + Line: int(1211), Column: int(42), }, }, @@ -157546,7 +160078,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "hexChars", "key", @@ -157560,11 +160092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(15), }, End: ast.Location{ - Line: int(1192), + Line: int(1212), Column: int(38), }, }, @@ -157581,17 +160113,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1193), + Line: int(1213), Column: int(9), }, End: ast.Location{ - Line: int(1193), + Line: int(1213), Column: int(14), }, }, @@ -157601,17 +160133,17 @@ var _StdAst = &ast.DesugaredObject{ BranchFalse: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(12), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -157637,7 +160169,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "hexChars", "key", @@ -157651,11 +160183,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1189), + Line: int(1209), Column: int(12), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -157686,7 +160218,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "floatChars", "hexChars", @@ -157702,11 +160234,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1177), + Line: int(1197), Column: int(12), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -157737,7 +160269,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "floatChars", @@ -157754,11 +160286,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1166), + Line: int(1186), Column: int(12), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -157788,7 +160320,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "floatChars", @@ -157806,11 +160338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1157), + Line: int(1177), Column: int(12), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -157839,7 +160371,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "dateChars", @@ -157859,11 +160391,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1149), + Line: int(1169), Column: int(12), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -157894,7 +160426,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "dateChars", @@ -157915,11 +160447,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1140), + Line: int(1160), Column: int(12), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -157959,7 +160491,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "dateChars", @@ -157981,11 +160513,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1137), + Line: int(1157), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158000,7 +160532,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "dateChars", @@ -158021,11 +160553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1135), + Line: int(1155), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158040,7 +160572,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "dateChars", @@ -158060,11 +160592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1134), + Line: int(1154), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158079,7 +160611,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "dateChars", @@ -158098,11 +160630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1133), + Line: int(1153), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158117,7 +160649,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "dateChars", @@ -158135,11 +160667,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1132), + Line: int(1152), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158154,7 +160686,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "dateChars", @@ -158172,11 +160704,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1131), + Line: int(1151), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158191,7 +160723,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "digits", @@ -158209,11 +160741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1130), + Line: int(1150), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158228,7 +160760,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "digits", @@ -158245,11 +160777,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1129), + Line: int(1149), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158264,7 +160796,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "binChars", "digits", @@ -158280,11 +160812,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1128), + Line: int(1148), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158299,7 +160831,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "digits", "intChars", @@ -158314,11 +160846,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1127), + Line: int(1147), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158333,7 +160865,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "digits", "isReserved", @@ -158347,11 +160879,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1126), + Line: int(1146), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158366,7 +160898,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "isReserved", "key", @@ -158379,11 +160911,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1125), + Line: int(1145), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158420,7 +160952,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12028, + Ctx: p12210, FreeVars: ast.Identifiers{ "isReserved", "key", @@ -158432,11 +160964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1124), + Line: int(1144), Column: int(7), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158453,11 +160985,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1108), + Line: int(1128), Column: int(20), }, End: ast.Location{ - Line: int(1108), + Line: int(1128), Column: int(23), }, }, @@ -158465,7 +160997,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p12386, + Ctx: p12568, FreeVars: ast.Identifiers{ "isReserved", "onlyChars", @@ -158476,11 +161008,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1108), + Line: int(1128), Column: int(11), }, End: ast.Location{ - Line: int(1195), + Line: int(1215), Column: int(16), }, }, @@ -158518,7 +161050,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bareSafe", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12394, + Ctx: p12576, FreeVars: ast.Identifiers{ "bareSafe", }, @@ -158526,11 +161058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(10), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(18), }, }, @@ -158544,7 +161076,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12398, + Ctx: p12580, FreeVars: ast.Identifiers{ "key", }, @@ -158552,11 +161084,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(19), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(22), }, }, @@ -158571,7 +161103,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12394, + Ctx: p12576, FreeVars: ast.Identifiers{ "bareSafe", "key", @@ -158580,11 +161112,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(10), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(23), }, }, @@ -158596,7 +161128,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12394, + Ctx: p12576, FreeVars: ast.Identifiers{ "key", }, @@ -158604,11 +161136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(29), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(32), }, }, @@ -158628,11 +161160,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(38), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(41), }, }, @@ -158666,7 +161198,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12394, + Ctx: p12576, FreeVars: ast.Identifiers{ "std", }, @@ -158674,11 +161206,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(38), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(58), }, }, @@ -158692,7 +161224,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "key", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12411, + Ctx: p12593, FreeVars: ast.Identifiers{ "key", }, @@ -158700,11 +161232,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(59), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(62), }, }, @@ -158719,7 +161251,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12394, + Ctx: p12576, FreeVars: ast.Identifiers{ "key", "std", @@ -158728,11 +161260,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(38), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(63), }, }, @@ -158751,7 +161283,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12394, + Ctx: p12576, FreeVars: ast.Identifiers{ "bareSafe", "key", @@ -158761,11 +161293,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(7), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(63), }, }, @@ -158782,11 +161314,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1196), + Line: int(1216), Column: int(25), }, End: ast.Location{ - Line: int(1196), + Line: int(1216), Column: int(28), }, }, @@ -158794,7 +161326,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p12417, + Ctx: p12599, FreeVars: ast.Identifiers{ "bareSafe", "std", @@ -158803,11 +161335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1196), + Line: int(1216), Column: int(11), }, End: ast.Location{ - Line: int(1197), + Line: int(1217), Column: int(63), }, }, @@ -158844,17 +161376,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1199), + Line: int(1219), Column: int(15), }, End: ast.Location{ - Line: int(1199), + Line: int(1219), Column: int(19), }, }, @@ -158865,7 +161397,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -158873,11 +161405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1199), + Line: int(1219), Column: int(10), }, End: ast.Location{ - Line: int(1199), + Line: int(1219), Column: int(11), }, }, @@ -158886,7 +161418,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -158894,11 +161426,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1199), + Line: int(1219), Column: int(10), }, End: ast.Location{ - Line: int(1199), + Line: int(1219), Column: int(19), }, }, @@ -158918,17 +161450,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1200), + Line: int(1220), Column: int(9), }, End: ast.Location{ - Line: int(1200), + Line: int(1220), Column: int(15), }, }, @@ -158940,17 +161472,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1201), + Line: int(1221), Column: int(20), }, End: ast.Location{ - Line: int(1201), + Line: int(1221), Column: int(25), }, }, @@ -158961,7 +161493,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -158969,11 +161501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1201), + Line: int(1221), Column: int(15), }, End: ast.Location{ - Line: int(1201), + Line: int(1221), Column: int(16), }, }, @@ -158982,7 +161514,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -158990,11 +161522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1201), + Line: int(1221), Column: int(15), }, End: ast.Location{ - Line: int(1201), + Line: int(1221), Column: int(25), }, }, @@ -159014,17 +161546,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1202), + Line: int(1222), Column: int(9), }, End: ast.Location{ - Line: int(1202), + Line: int(1222), Column: int(16), }, }, @@ -159036,17 +161568,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1203), + Line: int(1223), Column: int(20), }, End: ast.Location{ - Line: int(1203), + Line: int(1223), Column: int(24), }, }, @@ -159056,7 +161588,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -159064,11 +161596,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1203), + Line: int(1223), Column: int(15), }, End: ast.Location{ - Line: int(1203), + Line: int(1223), Column: int(16), }, }, @@ -159077,7 +161609,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -159085,11 +161617,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1203), + Line: int(1223), Column: int(15), }, End: ast.Location{ - Line: int(1203), + Line: int(1223), Column: int(24), }, }, @@ -159109,17 +161641,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1204), + Line: int(1224), Column: int(9), }, End: ast.Location{ - Line: int(1204), + Line: int(1224), Column: int(15), }, }, @@ -159141,11 +161673,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(15), }, End: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(18), }, }, @@ -159179,7 +161711,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -159187,11 +161719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(15), }, End: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(27), }, }, @@ -159205,7 +161737,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12456, + Ctx: p12638, FreeVars: ast.Identifiers{ "v", }, @@ -159213,11 +161745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(28), }, End: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(29), }, }, @@ -159232,7 +161764,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -159241,11 +161773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(15), }, End: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(30), }, }, @@ -159258,7 +161790,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -159266,11 +161798,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1206), + Line: int(1226), Column: int(14), }, End: ast.Location{ - Line: int(1206), + Line: int(1226), Column: int(15), }, }, @@ -159289,17 +161821,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1206), + Line: int(1226), Column: int(9), }, End: ast.Location{ - Line: int(1206), + Line: int(1226), Column: int(11), }, }, @@ -159309,7 +161841,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -159317,11 +161849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1206), + Line: int(1226), Column: int(9), }, End: ast.Location{ - Line: int(1206), + Line: int(1226), Column: int(15), }, }, @@ -159343,11 +161875,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(15), }, End: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(18), }, }, @@ -159381,7 +161913,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -159389,11 +161921,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(15), }, End: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(27), }, }, @@ -159407,7 +161939,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12474, + Ctx: p12656, FreeVars: ast.Identifiers{ "v", }, @@ -159415,11 +161947,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(28), }, End: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(29), }, }, @@ -159434,7 +161966,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -159443,11 +161975,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(15), }, End: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(30), }, }, @@ -159473,11 +162005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(21), }, End: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(24), }, }, @@ -159511,7 +162043,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12484, + Ctx: p12666, FreeVars: ast.Identifiers{ "std", }, @@ -159519,11 +162051,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(21), }, End: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(31), }, }, @@ -159537,7 +162069,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12488, + Ctx: p12670, FreeVars: ast.Identifiers{ "v", }, @@ -159545,11 +162077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(32), }, End: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(33), }, }, @@ -159564,7 +162096,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12484, + Ctx: p12666, FreeVars: ast.Identifiers{ "std", "v", @@ -159573,11 +162105,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(21), }, End: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(34), }, }, @@ -159593,11 +162125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(15), }, End: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(34), }, }, @@ -159609,17 +162141,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1209), + Line: int(1229), Column: int(19), }, End: ast.Location{ - Line: int(1209), + Line: int(1229), Column: int(20), }, }, @@ -159629,7 +162161,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "len", }, @@ -159637,11 +162169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1209), + Line: int(1229), Column: int(12), }, End: ast.Location{ - Line: int(1209), + Line: int(1229), Column: int(15), }, }, @@ -159650,7 +162182,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "len", }, @@ -159658,11 +162190,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1209), + Line: int(1229), Column: int(12), }, End: ast.Location{ - Line: int(1209), + Line: int(1229), Column: int(20), }, }, @@ -159682,17 +162214,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1210), + Line: int(1230), Column: int(11), }, End: ast.Location{ - Line: int(1210), + Line: int(1230), Column: int(15), }, }, @@ -159707,17 +162239,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(31), }, End: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(35), }, }, @@ -159729,7 +162261,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "v", }, @@ -159737,11 +162269,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(17), }, End: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(18), }, }, @@ -159752,17 +162284,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(25), }, End: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(26), }, }, @@ -159772,7 +162304,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "len", }, @@ -159780,11 +162312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(19), }, End: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(22), }, }, @@ -159793,7 +162325,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "len", }, @@ -159801,11 +162333,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(19), }, End: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(26), }, }, @@ -159817,7 +162349,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "len", "v", @@ -159826,11 +162358,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(17), }, End: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(27), }, }, @@ -159839,7 +162371,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "len", "v", @@ -159848,11 +162380,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(17), }, End: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(35), }, }, @@ -159877,11 +162409,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(25), }, End: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(28), }, }, @@ -159915,7 +162447,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12519, + Ctx: p12701, FreeVars: ast.Identifiers{ "std", }, @@ -159923,11 +162455,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(25), }, End: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(34), }, }, @@ -159941,7 +162473,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12523, + Ctx: p12705, FreeVars: ast.Identifiers{ "v", }, @@ -159949,11 +162481,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(35), }, End: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(36), }, }, @@ -159968,17 +162500,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12523, + Ctx: p12705, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(38), }, End: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(42), }, }, @@ -159994,7 +162526,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12519, + Ctx: p12701, FreeVars: ast.Identifiers{ "std", "v", @@ -160003,11 +162535,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(25), }, End: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(43), }, }, @@ -160023,11 +162555,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(17), }, End: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(43), }, }, @@ -160054,11 +162586,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(11), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(14), }, }, @@ -160092,7 +162624,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -160100,11 +162632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(11), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(19), }, }, @@ -160121,17 +162653,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(37), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(41), }, }, @@ -160143,7 +162675,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{ "cindent", }, @@ -160151,11 +162683,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(27), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(34), }, }, @@ -160167,17 +162699,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(20), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(24), }, }, @@ -160187,7 +162719,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{ "cindent", }, @@ -160195,11 +162727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(20), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(34), }, }, @@ -160209,7 +162741,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{ "cindent", }, @@ -160217,11 +162749,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(20), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(41), }, }, @@ -160310,7 +162842,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "split", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{ "split", }, @@ -160318,11 +162850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(51), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(56), }, }, @@ -160335,17 +162867,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(57), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(58), }, }, @@ -160359,17 +162891,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(79), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(80), }, }, @@ -160389,11 +162921,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(59), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(62), }, }, @@ -160427,7 +162959,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{ "std", }, @@ -160435,11 +162967,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(59), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(69), }, }, @@ -160453,7 +162985,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "split", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12565, + Ctx: p12747, FreeVars: ast.Identifiers{ "split", }, @@ -160461,11 +162993,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(70), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(75), }, }, @@ -160480,7 +163012,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{ "split", "std", @@ -160489,11 +163021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(59), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(76), }, }, @@ -160504,7 +163036,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{ "split", "std", @@ -160513,11 +163045,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(59), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(80), }, }, @@ -160565,11 +163097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(51), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(81), }, }, @@ -160586,17 +163118,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12574, + Ctx: p12756, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(44), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(47), }, }, @@ -160609,17 +163141,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(43), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(48), }, }, @@ -160629,7 +163161,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12537, + Ctx: p12719, FreeVars: ast.Identifiers{ "$std", "split", @@ -160639,11 +163171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(43), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(81), }, }, @@ -160659,7 +163191,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -160670,11 +163202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(11), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(82), }, }, @@ -160691,7 +163223,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -160702,11 +163234,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1212), + Line: int(1232), Column: int(11), }, End: ast.Location{ - Line: int(1213), + Line: int(1233), Column: int(82), }, }, @@ -160733,11 +163265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(11), }, End: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(14), }, }, @@ -160771,7 +163303,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -160779,11 +163311,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(11), }, End: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(31), }, }, @@ -160797,7 +163329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12588, + Ctx: p12770, FreeVars: ast.Identifiers{ "v", }, @@ -160805,11 +163337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(32), }, End: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(33), }, }, @@ -160824,7 +163356,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -160833,11 +163365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(11), }, End: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(34), }, }, @@ -160856,7 +163388,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -160868,11 +163400,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1211), + Line: int(1231), Column: int(14), }, End: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(34), }, }, @@ -160896,7 +163428,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -160908,11 +163440,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1209), + Line: int(1229), Column: int(9), }, End: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(34), }, }, @@ -160927,7 +163459,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "cindent", @@ -160938,11 +163470,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1208), + Line: int(1228), Column: int(9), }, End: ast.Location{ - Line: int(1215), + Line: int(1235), Column: int(34), }, }, @@ -160963,11 +163495,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(15), }, End: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(18), }, }, @@ -161001,7 +163533,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -161009,11 +163541,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(15), }, End: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(29), }, }, @@ -161027,7 +163559,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12607, + Ctx: p12789, FreeVars: ast.Identifiers{ "v", }, @@ -161035,11 +163567,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(30), }, End: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(31), }, }, @@ -161054,7 +163586,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -161063,11 +163595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(15), }, End: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(32), }, }, @@ -161081,7 +163613,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "path", }, @@ -161089,11 +163621,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1217), + Line: int(1237), Column: int(50), }, End: ast.Location{ - Line: int(1217), + Line: int(1237), Column: int(54), }, }, @@ -161105,17 +163637,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1217), + Line: int(1237), Column: int(15), }, End: ast.Location{ - Line: int(1217), + Line: int(1237), Column: int(47), }, }, @@ -161125,7 +163657,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "path", }, @@ -161133,11 +163665,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1217), + Line: int(1237), Column: int(15), }, End: ast.Location{ - Line: int(1217), + Line: int(1237), Column: int(54), }, }, @@ -161153,7 +163685,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "path", }, @@ -161161,11 +163693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1217), + Line: int(1237), Column: int(9), }, End: ast.Location{ - Line: int(1217), + Line: int(1237), Column: int(54), }, }, @@ -161186,11 +163718,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(15), }, End: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(18), }, }, @@ -161224,7 +163756,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -161232,11 +163764,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(15), }, End: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(26), }, }, @@ -161250,7 +163782,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12627, + Ctx: p12809, FreeVars: ast.Identifiers{ "v", }, @@ -161258,11 +163790,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(27), }, End: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(28), }, }, @@ -161277,7 +163809,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -161286,11 +163818,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(15), }, End: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(29), }, }, @@ -161304,17 +163836,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(29), }, End: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(30), }, }, @@ -161334,11 +163866,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(12), }, End: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(15), }, }, @@ -161372,7 +163904,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -161380,11 +163912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(12), }, End: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(22), }, }, @@ -161398,7 +163930,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12641, + Ctx: p12823, FreeVars: ast.Identifiers{ "v", }, @@ -161406,11 +163938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(23), }, End: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(24), }, }, @@ -161425,7 +163957,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -161434,11 +163966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(12), }, End: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(25), }, }, @@ -161449,7 +163981,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -161458,11 +163990,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(12), }, End: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(30), }, }, @@ -161482,17 +164014,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1220), + Line: int(1240), Column: int(11), }, End: ast.Location{ - Line: int(1220), + Line: int(1240), Column: int(15), }, }, @@ -161513,17 +164045,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(58), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(59), }, }, @@ -161543,11 +164075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(38), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(41), }, }, @@ -161581,7 +164113,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", }, @@ -161589,11 +164121,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(38), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(48), }, }, @@ -161607,7 +164139,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12663, + Ctx: p12845, FreeVars: ast.Identifiers{ "value", }, @@ -161615,11 +164147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(49), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(54), }, }, @@ -161634,7 +164166,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", "value", @@ -161643,11 +164175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(38), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(55), }, }, @@ -161658,7 +164190,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", "value", @@ -161667,11 +164199,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(38), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(59), }, }, @@ -161692,11 +164224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(16), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(19), }, }, @@ -161730,7 +164262,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", }, @@ -161738,11 +164270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(16), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(27), }, }, @@ -161756,7 +164288,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12675, + Ctx: p12857, FreeVars: ast.Identifiers{ "value", }, @@ -161764,11 +164296,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(28), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(33), }, }, @@ -161783,7 +164315,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", "value", @@ -161792,11 +164324,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(16), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(34), }, }, @@ -161807,7 +164339,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", "value", @@ -161816,11 +164348,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(16), }, End: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(59), }, }, @@ -161861,17 +164393,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12684, + Ctx: p12866, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1230), + Line: int(1250), Column: int(37), }, End: ast.Location{ - Line: int(1230), + Line: int(1250), Column: int(41), }, }, @@ -161882,7 +164414,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12684, + Ctx: p12866, FreeVars: ast.Identifiers{ "cindent", }, @@ -161890,11 +164422,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1230), + Line: int(1250), Column: int(27), }, End: ast.Location{ - Line: int(1230), + Line: int(1250), Column: int(34), }, }, @@ -161903,7 +164435,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12684, + Ctx: p12866, FreeVars: ast.Identifiers{ "cindent", }, @@ -161911,11 +164443,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1230), + Line: int(1250), Column: int(27), }, End: ast.Location{ - Line: int(1230), + Line: int(1250), Column: int(41), }, }, @@ -161926,11 +164458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1230), + Line: int(1250), Column: int(15), }, End: ast.Location{ - Line: int(1230), + Line: int(1250), Column: int(41), }, }, @@ -161972,11 +164504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(29), }, End: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(33), }, }, @@ -162010,17 +164542,17 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12684, + Ctx: p12866, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(29), }, End: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(44), }, }, @@ -162032,17 +164564,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12684, + Ctx: p12866, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(22), }, End: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(26), }, }, @@ -162052,17 +164584,17 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12684, + Ctx: p12866, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(22), }, End: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(44), }, }, @@ -162073,11 +164605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(15), }, End: ast.Location{ - Line: int(1231), + Line: int(1251), Column: int(44), }, }, @@ -162088,7 +164620,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "cindent", }, @@ -162096,11 +164628,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(65), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(14), }, }, @@ -162113,17 +164645,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(66), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(67), }, }, @@ -162143,11 +164675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(46), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(49), }, }, @@ -162181,7 +164713,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", }, @@ -162189,11 +164721,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(46), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(56), }, }, @@ -162207,7 +164739,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12707, + Ctx: p12889, FreeVars: ast.Identifiers{ "value", }, @@ -162215,11 +164747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(57), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(62), }, }, @@ -162234,7 +164766,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", "value", @@ -162243,11 +164775,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(46), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(63), }, }, @@ -162258,7 +164790,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", "value", @@ -162267,11 +164799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(46), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(67), }, }, @@ -162292,11 +164824,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(23), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(26), }, }, @@ -162330,7 +164862,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", }, @@ -162338,11 +164870,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(23), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(35), }, }, @@ -162356,7 +164888,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12719, + Ctx: p12901, FreeVars: ast.Identifiers{ "value", }, @@ -162364,11 +164896,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(36), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(41), }, }, @@ -162383,7 +164915,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", "value", @@ -162392,11 +164924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(23), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(42), }, }, @@ -162407,7 +164939,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "std", "value", @@ -162416,11 +164948,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(23), }, End: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(67), }, }, @@ -162461,17 +164993,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12728, + Ctx: p12910, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1233), + Line: int(1253), Column: int(37), }, End: ast.Location{ - Line: int(1233), + Line: int(1253), Column: int(41), }, }, @@ -162482,7 +165014,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12728, + Ctx: p12910, FreeVars: ast.Identifiers{ "cindent", }, @@ -162490,11 +165022,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1233), + Line: int(1253), Column: int(27), }, End: ast.Location{ - Line: int(1233), + Line: int(1253), Column: int(34), }, }, @@ -162503,7 +165035,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12728, + Ctx: p12910, FreeVars: ast.Identifiers{ "cindent", }, @@ -162511,11 +165043,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1233), + Line: int(1253), Column: int(27), }, End: ast.Location{ - Line: int(1233), + Line: int(1253), Column: int(41), }, }, @@ -162526,11 +165058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1233), + Line: int(1253), Column: int(15), }, End: ast.Location{ - Line: int(1233), + Line: int(1253), Column: int(41), }, }, @@ -162567,17 +165099,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12728, + Ctx: p12910, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1237), + Line: int(1257), Column: int(22), }, End: ast.Location{ - Line: int(1237), + Line: int(1257), Column: int(25), }, }, @@ -162588,11 +165120,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1237), + Line: int(1257), Column: int(15), }, End: ast.Location{ - Line: int(1237), + Line: int(1257), Column: int(25), }, }, @@ -162603,7 +165135,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "cindent", }, @@ -162611,11 +165143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(73), }, End: ast.Location{ - Line: int(1238), + Line: int(1258), Column: int(14), }, }, @@ -162652,7 +165184,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12739, + Ctx: p12921, FreeVars: ast.Identifiers{ "cindent", }, @@ -162660,11 +165192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1240), + Line: int(1260), Column: int(27), }, End: ast.Location{ - Line: int(1240), + Line: int(1260), Column: int(34), }, }, @@ -162674,11 +165206,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1240), + Line: int(1260), Column: int(15), }, End: ast.Location{ - Line: int(1240), + Line: int(1260), Column: int(34), }, }, @@ -162715,17 +165247,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12739, + Ctx: p12921, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1241), + Line: int(1261), Column: int(22), }, End: ast.Location{ - Line: int(1241), + Line: int(1261), Column: int(25), }, }, @@ -162736,11 +165268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1241), + Line: int(1261), Column: int(15), }, End: ast.Location{ - Line: int(1241), + Line: int(1261), Column: int(25), }, }, @@ -162751,7 +165283,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "cindent", }, @@ -162759,11 +165291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1238), + Line: int(1258), Column: int(20), }, End: ast.Location{ - Line: int(1242), + Line: int(1262), Column: int(14), }, }, @@ -162773,7 +165305,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "cindent", "std", @@ -162783,11 +165315,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1232), + Line: int(1252), Column: int(20), }, End: ast.Location{ - Line: int(1242), + Line: int(1262), Column: int(14), }, }, @@ -162804,7 +165336,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p12654, + Ctx: p12836, FreeVars: ast.Identifiers{ "cindent", "std", @@ -162814,11 +165346,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1223), + Line: int(1243), Column: int(13), }, End: ast.Location{ - Line: int(1242), + Line: int(1262), Column: int(14), }, }, @@ -162835,11 +165367,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1222), + Line: int(1242), Column: int(24), }, End: ast.Location{ - Line: int(1222), + Line: int(1242), Column: int(29), }, }, @@ -162847,7 +165379,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p12748, + Ctx: p12930, FreeVars: ast.Identifiers{ "cindent", "std", @@ -162856,11 +165388,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1222), + Line: int(1242), Column: int(17), }, End: ast.Location{ - Line: int(1242), + Line: int(1262), Column: int(14), }, }, @@ -162903,11 +165435,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(25), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(28), }, }, @@ -162941,7 +165473,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12757, + Ctx: p12939, FreeVars: ast.Identifiers{ "std", }, @@ -162949,11 +165481,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(25), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(34), }, }, @@ -162967,17 +165499,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12761, + Ctx: p12943, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(35), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(36), }, }, @@ -162991,17 +165523,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12761, + Ctx: p12943, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(54), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(55), }, }, @@ -163021,11 +165553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(38), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(41), }, }, @@ -163059,7 +165591,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12761, + Ctx: p12943, FreeVars: ast.Identifiers{ "std", }, @@ -163067,11 +165599,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(38), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(48), }, }, @@ -163085,7 +165617,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12772, + Ctx: p12954, FreeVars: ast.Identifiers{ "v", }, @@ -163093,11 +165625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(49), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(50), }, }, @@ -163112,7 +165644,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12761, + Ctx: p12943, FreeVars: ast.Identifiers{ "std", "v", @@ -163121,11 +165653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(38), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(51), }, }, @@ -163136,7 +165668,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12761, + Ctx: p12943, FreeVars: ast.Identifiers{ "std", "v", @@ -163145,11 +165677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(38), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(55), }, }, @@ -163165,7 +165697,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12757, + Ctx: p12939, FreeVars: ast.Identifiers{ "std", "v", @@ -163174,11 +165706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(25), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(56), }, }, @@ -163194,11 +165726,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(17), }, End: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(56), }, }, @@ -163233,7 +165765,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -163310,7 +165842,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -163371,7 +165903,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "aux", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12800, + Ctx: p12982, FreeVars: ast.Identifiers{ "aux", }, @@ -163379,11 +165911,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(33), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(36), }, }, @@ -163398,7 +165930,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12805, + Ctx: p12987, FreeVars: ast.Identifiers{ "v", }, @@ -163406,11 +165938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(37), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(38), }, }, @@ -163420,7 +165952,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12805, + Ctx: p12987, FreeVars: ast.Identifiers{ "i", }, @@ -163428,11 +165960,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(39), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(40), }, }, @@ -163443,7 +165975,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12805, + Ctx: p12987, FreeVars: ast.Identifiers{ "i", "v", @@ -163452,11 +165984,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(37), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(41), }, }, @@ -163473,7 +166005,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12814, + Ctx: p12996, FreeVars: ast.Identifiers{ "i", }, @@ -163481,11 +166013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(51), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(52), }, }, @@ -163497,7 +166029,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12805, + Ctx: p12987, FreeVars: ast.Identifiers{ "i", }, @@ -163505,11 +166037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(50), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(53), }, }, @@ -163520,7 +166052,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12805, + Ctx: p12987, FreeVars: ast.Identifiers{ "path", }, @@ -163528,11 +166060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(43), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(47), }, }, @@ -163541,7 +166073,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12805, + Ctx: p12987, FreeVars: ast.Identifiers{ "i", "path", @@ -163550,11 +166082,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(43), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(53), }, }, @@ -163577,11 +166109,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(55), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(60), }, }, @@ -163615,7 +166147,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12805, + Ctx: p12987, FreeVars: ast.Identifiers{ "param", }, @@ -163623,11 +166155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(55), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(71), }, }, @@ -163642,7 +166174,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12800, + Ctx: p12982, FreeVars: ast.Identifiers{ "aux", "i", @@ -163654,11 +166186,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(33), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(72), }, }, @@ -163680,11 +166212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(19), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(24), }, }, @@ -163718,7 +166250,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12800, + Ctx: p12982, FreeVars: ast.Identifiers{ "param", }, @@ -163726,11 +166258,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(19), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(30), }, }, @@ -163749,17 +166281,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p12800, + Ctx: p12982, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(13), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(16), }, }, @@ -163769,7 +166301,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12800, + Ctx: p12982, FreeVars: ast.Identifiers{ "param", }, @@ -163777,11 +166309,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(13), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(30), }, }, @@ -163791,7 +166323,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12800, + Ctx: p12982, FreeVars: ast.Identifiers{ "aux", "i", @@ -163803,11 +166335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(13), }, End: ast.Location{ - Line: int(1245), + Line: int(1265), Column: int(72), }, }, @@ -163899,7 +166431,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "params", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12843, + Ctx: p13025, FreeVars: ast.Identifiers{ "params", }, @@ -163907,11 +166439,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(27), }, End: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(33), }, }, @@ -163926,7 +166458,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12848, + Ctx: p13030, FreeVars: ast.Identifiers{ "v", }, @@ -163934,11 +166466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(34), }, End: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(35), }, }, @@ -163948,7 +166480,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12848, + Ctx: p13030, FreeVars: ast.Identifiers{ "i", }, @@ -163956,11 +166488,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(36), }, End: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(37), }, }, @@ -163971,7 +166503,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12848, + Ctx: p13030, FreeVars: ast.Identifiers{ "i", "v", @@ -163980,11 +166512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(34), }, End: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(38), }, }, @@ -163999,7 +166531,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12843, + Ctx: p13025, FreeVars: ast.Identifiers{ "i", "params", @@ -164009,11 +166541,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(27), }, End: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(39), }, }, @@ -164027,7 +166559,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12854, + Ctx: p13036, FreeVars: ast.Identifiers{ "i", "params", @@ -164037,11 +166569,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(26), }, End: ast.Location{ - Line: int(1247), + Line: int(1267), Column: int(40), }, }, @@ -164070,11 +166602,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1244), + Line: int(1264), Column: int(25), }, End: ast.Location{ - Line: int(1248), + Line: int(1268), Column: int(12), }, }, @@ -164135,7 +166667,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "range", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12854, + Ctx: p13036, FreeVars: ast.Identifiers{ "range", }, @@ -164143,11 +166675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1246), + Line: int(1266), Column: int(22), }, End: ast.Location{ - Line: int(1246), + Line: int(1266), Column: int(27), }, }, @@ -164175,11 +166707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1244), + Line: int(1264), Column: int(25), }, End: ast.Location{ - Line: int(1248), + Line: int(1268), Column: int(12), }, }, @@ -164195,11 +166727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1244), + Line: int(1264), Column: int(17), }, End: ast.Location{ - Line: int(1248), + Line: int(1268), Column: int(12), }, }, @@ -164226,11 +166758,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(11), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(14), }, }, @@ -164264,7 +166796,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -164272,11 +166804,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(11), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(19), }, }, @@ -164291,7 +166823,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12872, + Ctx: p13054, FreeVars: ast.Identifiers{ "cindent", }, @@ -164299,11 +166831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(27), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(34), }, }, @@ -164315,17 +166847,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12872, + Ctx: p13054, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(20), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(24), }, }, @@ -164335,7 +166867,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12872, + Ctx: p13054, FreeVars: ast.Identifiers{ "cindent", }, @@ -164343,11 +166875,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(20), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(34), }, }, @@ -164361,7 +166893,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "parts", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12872, + Ctx: p13054, FreeVars: ast.Identifiers{ "parts", }, @@ -164369,11 +166901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(36), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(41), }, }, @@ -164388,7 +166920,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "cindent", "parts", @@ -164398,11 +166930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(11), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(42), }, }, @@ -164419,7 +166951,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -164434,11 +166966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1244), + Line: int(1264), Column: int(11), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(42), }, }, @@ -164453,7 +166985,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -164467,11 +166999,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1243), + Line: int(1263), Column: int(11), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(42), }, }, @@ -164486,7 +167018,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -164499,11 +167031,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1222), + Line: int(1242), Column: int(11), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(42), }, }, @@ -164527,7 +167059,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -164540,11 +167072,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1219), + Line: int(1239), Column: int(9), }, End: ast.Location{ - Line: int(1249), + Line: int(1269), Column: int(42), }, }, @@ -164565,11 +167097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(15), }, End: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(18), }, }, @@ -164603,7 +167135,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -164611,11 +167143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(15), }, End: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(27), }, }, @@ -164629,7 +167161,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12897, + Ctx: p13079, FreeVars: ast.Identifiers{ "v", }, @@ -164637,11 +167169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(28), }, End: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(29), }, }, @@ -164656,7 +167188,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -164665,11 +167197,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(15), }, End: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(30), }, }, @@ -164683,17 +167215,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(29), }, End: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(30), }, }, @@ -164713,11 +167245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(12), }, End: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(15), }, }, @@ -164751,7 +167283,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -164759,11 +167291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(12), }, End: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(22), }, }, @@ -164777,7 +167309,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12911, + Ctx: p13093, FreeVars: ast.Identifiers{ "v", }, @@ -164785,11 +167317,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(23), }, End: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(24), }, }, @@ -164804,7 +167336,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -164813,11 +167345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(12), }, End: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(25), }, }, @@ -164828,7 +167360,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", "v", @@ -164837,11 +167369,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(12), }, End: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(30), }, }, @@ -164861,17 +167393,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1252), + Line: int(1272), Column: int(11), }, End: ast.Location{ - Line: int(1252), + Line: int(1272), Column: int(15), }, }, @@ -164892,17 +167424,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(58), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(59), }, }, @@ -164922,11 +167454,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(38), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(41), }, }, @@ -164960,7 +167492,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", }, @@ -164968,11 +167500,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(38), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(48), }, }, @@ -164986,7 +167518,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12933, + Ctx: p13115, FreeVars: ast.Identifiers{ "value", }, @@ -164994,11 +167526,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(49), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(54), }, }, @@ -165013,7 +167545,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", "value", @@ -165022,11 +167554,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(38), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(55), }, }, @@ -165037,7 +167569,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", "value", @@ -165046,11 +167578,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(38), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(59), }, }, @@ -165071,11 +167603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(16), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(19), }, }, @@ -165109,7 +167641,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", }, @@ -165117,11 +167649,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(16), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(27), }, }, @@ -165135,7 +167667,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12945, + Ctx: p13127, FreeVars: ast.Identifiers{ "value", }, @@ -165143,11 +167675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(28), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(33), }, }, @@ -165162,7 +167694,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", "value", @@ -165171,11 +167703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(16), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(34), }, }, @@ -165186,7 +167718,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", "value", @@ -165195,11 +167727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(16), }, End: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(59), }, }, @@ -165238,7 +167770,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indent_array_in_object", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{ "indent_array_in_object", }, @@ -165246,11 +167778,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(30), }, End: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(52), }, }, @@ -165263,17 +167795,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(68), }, End: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(72), }, }, @@ -165284,7 +167816,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{ "cindent", }, @@ -165292,11 +167824,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(58), }, End: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(65), }, }, @@ -165305,7 +167837,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{ "cindent", }, @@ -165313,11 +167845,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(58), }, End: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(72), }, }, @@ -165328,7 +167860,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{ "cindent", }, @@ -165336,11 +167868,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(78), }, End: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(85), }, }, @@ -165350,7 +167882,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{ "cindent", "indent_array_in_object", @@ -165359,11 +167891,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(27), }, End: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(85), }, }, @@ -165373,11 +167905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(15), }, End: ast.Location{ - Line: int(1262), + Line: int(1282), Column: int(85), }, }, @@ -165419,11 +167951,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(29), }, End: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(33), }, }, @@ -165457,17 +167989,17 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(29), }, End: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(44), }, }, @@ -165479,17 +168011,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(22), }, End: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(26), }, }, @@ -165499,17 +168031,17 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12954, + Ctx: p13136, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(22), }, End: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(44), }, }, @@ -165520,11 +168052,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(15), }, End: ast.Location{ - Line: int(1263), + Line: int(1283), Column: int(44), }, }, @@ -165535,7 +168067,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "cindent", "indent_array_in_object", @@ -165544,11 +168076,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(65), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(14), }, }, @@ -165561,17 +168093,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(66), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(67), }, }, @@ -165591,11 +168123,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(46), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(49), }, }, @@ -165629,7 +168161,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", }, @@ -165637,11 +168169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(46), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(56), }, }, @@ -165655,7 +168187,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12983, + Ctx: p13165, FreeVars: ast.Identifiers{ "value", }, @@ -165663,11 +168195,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(57), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(62), }, }, @@ -165682,7 +168214,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", "value", @@ -165691,11 +168223,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(46), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(63), }, }, @@ -165706,7 +168238,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", "value", @@ -165715,11 +168247,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(46), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(67), }, }, @@ -165740,11 +168272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(23), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(26), }, }, @@ -165778,7 +168310,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", }, @@ -165786,11 +168318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(23), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(35), }, }, @@ -165804,7 +168336,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12995, + Ctx: p13177, FreeVars: ast.Identifiers{ "value", }, @@ -165812,11 +168344,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(36), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(41), }, }, @@ -165831,7 +168363,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", "value", @@ -165840,11 +168372,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(23), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(42), }, }, @@ -165855,7 +168387,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "std", "value", @@ -165864,11 +168396,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(23), }, End: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(67), }, }, @@ -165909,17 +168441,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13004, + Ctx: p13186, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1265), + Line: int(1285), Column: int(37), }, End: ast.Location{ - Line: int(1265), + Line: int(1285), Column: int(41), }, }, @@ -165930,7 +168462,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13004, + Ctx: p13186, FreeVars: ast.Identifiers{ "cindent", }, @@ -165938,11 +168470,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1265), + Line: int(1285), Column: int(27), }, End: ast.Location{ - Line: int(1265), + Line: int(1285), Column: int(34), }, }, @@ -165951,7 +168483,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13004, + Ctx: p13186, FreeVars: ast.Identifiers{ "cindent", }, @@ -165959,11 +168491,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1265), + Line: int(1285), Column: int(27), }, End: ast.Location{ - Line: int(1265), + Line: int(1285), Column: int(41), }, }, @@ -165974,11 +168506,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1265), + Line: int(1285), Column: int(15), }, End: ast.Location{ - Line: int(1265), + Line: int(1285), Column: int(41), }, }, @@ -166020,11 +168552,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(29), }, End: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(33), }, }, @@ -166058,17 +168590,17 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13004, + Ctx: p13186, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(29), }, End: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(44), }, }, @@ -166080,17 +168612,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13004, + Ctx: p13186, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(22), }, End: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(26), }, }, @@ -166100,17 +168632,17 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13004, + Ctx: p13186, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(22), }, End: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(44), }, }, @@ -166121,11 +168653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(15), }, End: ast.Location{ - Line: int(1266), + Line: int(1286), Column: int(44), }, }, @@ -166136,7 +168668,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "cindent", }, @@ -166144,11 +168676,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(73), }, End: ast.Location{ - Line: int(1267), + Line: int(1287), Column: int(14), }, }, @@ -166185,7 +168717,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13019, + Ctx: p13201, FreeVars: ast.Identifiers{ "cindent", }, @@ -166193,11 +168725,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1269), + Line: int(1289), Column: int(27), }, End: ast.Location{ - Line: int(1269), + Line: int(1289), Column: int(34), }, }, @@ -166207,11 +168739,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1269), + Line: int(1289), Column: int(15), }, End: ast.Location{ - Line: int(1269), + Line: int(1289), Column: int(34), }, }, @@ -166248,17 +168780,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13019, + Ctx: p13201, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1270), + Line: int(1290), Column: int(22), }, End: ast.Location{ - Line: int(1270), + Line: int(1290), Column: int(25), }, }, @@ -166269,11 +168801,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1270), + Line: int(1290), Column: int(15), }, End: ast.Location{ - Line: int(1270), + Line: int(1290), Column: int(25), }, }, @@ -166284,7 +168816,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "cindent", }, @@ -166292,11 +168824,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1267), + Line: int(1287), Column: int(20), }, End: ast.Location{ - Line: int(1271), + Line: int(1291), Column: int(14), }, }, @@ -166306,7 +168838,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "cindent", "std", @@ -166316,11 +168848,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1264), + Line: int(1284), Column: int(20), }, End: ast.Location{ - Line: int(1271), + Line: int(1291), Column: int(14), }, }, @@ -166337,7 +168869,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p12924, + Ctx: p13106, FreeVars: ast.Identifiers{ "cindent", "indent_array_in_object", @@ -166348,11 +168880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1255), + Line: int(1275), Column: int(13), }, End: ast.Location{ - Line: int(1271), + Line: int(1291), Column: int(14), }, }, @@ -166369,11 +168901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1254), + Line: int(1274), Column: int(24), }, End: ast.Location{ - Line: int(1254), + Line: int(1274), Column: int(29), }, }, @@ -166381,7 +168913,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p13028, + Ctx: p13210, FreeVars: ast.Identifiers{ "cindent", "indent_array_in_object", @@ -166391,11 +168923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1254), + Line: int(1274), Column: int(17), }, End: ast.Location{ - Line: int(1271), + Line: int(1291), Column: int(14), }, }, @@ -166449,7 +168981,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -166526,7 +169058,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -166587,7 +169119,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "aux", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "aux", }, @@ -166595,11 +169127,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(102), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(105), }, }, @@ -166614,7 +169146,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13058, + Ctx: p13240, FreeVars: ast.Identifiers{ "v", }, @@ -166622,11 +169154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(106), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(107), }, }, @@ -166636,7 +169168,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13058, + Ctx: p13240, FreeVars: ast.Identifiers{ "k", }, @@ -166644,11 +169176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(108), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(109), }, }, @@ -166659,7 +169191,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13058, + Ctx: p13240, FreeVars: ast.Identifiers{ "k", "v", @@ -166668,11 +169200,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(106), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(110), }, }, @@ -166689,7 +169221,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13067, + Ctx: p13249, FreeVars: ast.Identifiers{ "k", }, @@ -166697,11 +169229,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(120), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(121), }, }, @@ -166713,7 +169245,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13058, + Ctx: p13240, FreeVars: ast.Identifiers{ "k", }, @@ -166721,11 +169253,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(119), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(122), }, }, @@ -166736,7 +169268,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "path", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13058, + Ctx: p13240, FreeVars: ast.Identifiers{ "path", }, @@ -166744,11 +169276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(112), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(116), }, }, @@ -166757,7 +169289,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13058, + Ctx: p13240, FreeVars: ast.Identifiers{ "k", "path", @@ -166766,11 +169298,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(112), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(122), }, }, @@ -166793,11 +169325,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(124), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(129), }, }, @@ -166831,7 +169363,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13058, + Ctx: p13240, FreeVars: ast.Identifiers{ "param", }, @@ -166839,11 +169371,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(124), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(140), }, }, @@ -166858,7 +169390,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "aux", "k", @@ -166870,11 +169402,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(102), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(141), }, }, @@ -166896,11 +169428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(88), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(93), }, }, @@ -166934,7 +169466,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "param", }, @@ -166942,11 +169474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(88), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(99), }, }, @@ -166959,17 +169491,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(82), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(85), }, }, @@ -166981,7 +169513,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "quote_keys", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "quote_keys", }, @@ -166989,11 +169521,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(17), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(27), }, }, @@ -167013,11 +169545,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(33), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(36), }, }, @@ -167051,7 +169583,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "std", }, @@ -167059,11 +169591,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(33), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(53), }, }, @@ -167077,7 +169609,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13098, + Ctx: p13280, FreeVars: ast.Identifiers{ "k", }, @@ -167085,11 +169617,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(54), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(55), }, }, @@ -167104,7 +169636,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "k", "std", @@ -167113,11 +169645,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(33), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(56), }, }, @@ -167130,7 +169662,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "escapeKeyYaml", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "escapeKeyYaml", }, @@ -167138,11 +169670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(62), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(75), }, }, @@ -167156,7 +169688,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13106, + Ctx: p13288, FreeVars: ast.Identifiers{ "k", }, @@ -167164,11 +169696,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(76), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(77), }, }, @@ -167183,7 +169715,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "escapeKeyYaml", "k", @@ -167192,11 +169724,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(62), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(78), }, }, @@ -167208,7 +169740,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "escapeKeyYaml", "k", @@ -167219,11 +169751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(14), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(78), }, }, @@ -167232,7 +169764,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "escapeKeyYaml", "k", @@ -167243,11 +169775,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(13), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(85), }, }, @@ -167257,7 +169789,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "escapeKeyYaml", "k", @@ -167269,11 +169801,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(13), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(99), }, }, @@ -167283,7 +169815,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13053, + Ctx: p13235, FreeVars: ast.Identifiers{ "aux", "escapeKeyYaml", @@ -167298,11 +169830,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(13), }, End: ast.Location{ - Line: int(1273), + Line: int(1293), Column: int(141), }, }, @@ -167400,7 +169932,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "params", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13120, + Ctx: p13302, FreeVars: ast.Identifiers{ "params", }, @@ -167408,11 +169940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(27), }, End: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(33), }, }, @@ -167427,7 +169959,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13125, + Ctx: p13307, FreeVars: ast.Identifiers{ "v", }, @@ -167435,11 +169967,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(34), }, End: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(35), }, }, @@ -167449,7 +169981,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13125, + Ctx: p13307, FreeVars: ast.Identifiers{ "k", }, @@ -167457,11 +169989,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(36), }, End: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(37), }, }, @@ -167472,7 +170004,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13125, + Ctx: p13307, FreeVars: ast.Identifiers{ "k", "v", @@ -167481,11 +170013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(34), }, End: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(38), }, }, @@ -167500,7 +170032,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13120, + Ctx: p13302, FreeVars: ast.Identifiers{ "k", "params", @@ -167510,11 +170042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(27), }, End: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(39), }, }, @@ -167528,7 +170060,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13131, + Ctx: p13313, FreeVars: ast.Identifiers{ "k", "params", @@ -167538,11 +170070,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(26), }, End: ast.Location{ - Line: int(1275), + Line: int(1295), Column: int(40), }, }, @@ -167574,11 +170106,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1272), + Line: int(1292), Column: int(25), }, End: ast.Location{ - Line: int(1276), + Line: int(1296), Column: int(12), }, }, @@ -167652,11 +170184,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1274), + Line: int(1294), Column: int(22), }, End: ast.Location{ - Line: int(1274), + Line: int(1294), Column: int(25), }, }, @@ -167690,7 +170222,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13131, + Ctx: p13313, FreeVars: ast.Identifiers{ "std", }, @@ -167698,11 +170230,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1274), + Line: int(1294), Column: int(22), }, End: ast.Location{ - Line: int(1274), + Line: int(1294), Column: int(38), }, }, @@ -167716,7 +170248,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13144, + Ctx: p13326, FreeVars: ast.Identifiers{ "v", }, @@ -167724,11 +170256,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1274), + Line: int(1294), Column: int(39), }, End: ast.Location{ - Line: int(1274), + Line: int(1294), Column: int(40), }, }, @@ -167743,7 +170275,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13131, + Ctx: p13313, FreeVars: ast.Identifiers{ "std", "v", @@ -167752,11 +170284,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1274), + Line: int(1294), Column: int(22), }, End: ast.Location{ - Line: int(1274), + Line: int(1294), Column: int(41), }, }, @@ -167788,11 +170320,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1272), + Line: int(1292), Column: int(25), }, End: ast.Location{ - Line: int(1276), + Line: int(1296), Column: int(12), }, }, @@ -167808,11 +170340,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1272), + Line: int(1292), Column: int(17), }, End: ast.Location{ - Line: int(1276), + Line: int(1296), Column: int(12), }, }, @@ -167839,11 +170371,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(11), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(14), }, }, @@ -167877,7 +170409,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "std", }, @@ -167885,11 +170417,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(11), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(19), }, }, @@ -167904,7 +170436,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cindent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13158, + Ctx: p13340, FreeVars: ast.Identifiers{ "cindent", }, @@ -167912,11 +170444,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(27), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(34), }, }, @@ -167928,17 +170460,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13158, + Ctx: p13340, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(20), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(24), }, }, @@ -167948,7 +170480,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13158, + Ctx: p13340, FreeVars: ast.Identifiers{ "cindent", }, @@ -167956,11 +170488,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(20), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(34), }, }, @@ -167974,7 +170506,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lines", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13158, + Ctx: p13340, FreeVars: ast.Identifiers{ "lines", }, @@ -167982,11 +170514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(36), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(41), }, }, @@ -168001,7 +170533,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "cindent", "lines", @@ -168011,11 +170543,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(11), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168032,7 +170564,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168048,11 +170580,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1272), + Line: int(1292), Column: int(11), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168067,7 +170599,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168083,11 +170615,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1254), + Line: int(1274), Column: int(11), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168111,7 +170643,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168127,11 +170659,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1251), + Line: int(1271), Column: int(9), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168160,7 +170692,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168176,11 +170708,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1250), + Line: int(1270), Column: int(12), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168197,7 +170729,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168213,11 +170745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1218), + Line: int(1238), Column: int(12), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168234,7 +170766,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168250,11 +170782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1216), + Line: int(1236), Column: int(12), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168271,7 +170803,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168287,11 +170819,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1207), + Line: int(1227), Column: int(12), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168308,7 +170840,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168324,11 +170856,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1205), + Line: int(1225), Column: int(12), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168345,7 +170877,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168361,11 +170893,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1203), + Line: int(1223), Column: int(12), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168382,7 +170914,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168398,11 +170930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1201), + Line: int(1221), Column: int(12), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168426,7 +170958,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p12425, + Ctx: p12607, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168442,11 +170974,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1199), + Line: int(1219), Column: int(7), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168463,11 +170995,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1198), + Line: int(1218), Column: int(15), }, End: ast.Location{ - Line: int(1198), + Line: int(1218), Column: int(16), }, }, @@ -168482,11 +171014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1198), + Line: int(1218), Column: int(18), }, End: ast.Location{ - Line: int(1198), + Line: int(1218), Column: int(22), }, }, @@ -168501,11 +171033,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1198), + Line: int(1218), Column: int(24), }, End: ast.Location{ - Line: int(1198), + Line: int(1218), Column: int(31), }, }, @@ -168513,7 +171045,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p13190, + Ctx: p13372, FreeVars: ast.Identifiers{ "$std", "aux", @@ -168526,11 +171058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1198), + Line: int(1218), Column: int(11), }, End: ast.Location{ - Line: int(1277), + Line: int(1297), Column: int(42), }, }, @@ -168567,7 +171099,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{ "aux", }, @@ -168575,11 +171107,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(5), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(8), }, }, @@ -168593,7 +171125,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13199, + Ctx: p13381, FreeVars: ast.Identifiers{ "value", }, @@ -168601,11 +171133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(9), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(14), }, }, @@ -168619,17 +171151,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13199, + Ctx: p13381, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(16), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(18), }, }, @@ -168645,17 +171177,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13199, + Ctx: p13381, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(20), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(22), }, }, @@ -168671,7 +171203,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{ "aux", "value", @@ -168680,11 +171212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(5), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(23), }, }, @@ -168701,7 +171233,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{ "$std", "escapeKeyYaml", @@ -168714,11 +171246,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1198), + Line: int(1218), Column: int(5), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(23), }, }, @@ -168733,7 +171265,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{ "$std", "bareSafe", @@ -168746,11 +171278,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1196), + Line: int(1216), Column: int(5), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(23), }, }, @@ -168765,7 +171297,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{ "$std", "indent_array_in_object", @@ -168780,11 +171312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1108), + Line: int(1128), Column: int(5), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(23), }, }, @@ -168799,7 +171331,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{ "$std", "indent_array_in_object", @@ -168813,11 +171345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1103), + Line: int(1123), Column: int(5), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(23), }, }, @@ -168832,7 +171364,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{ "$std", "indent_array_in_object", @@ -168845,11 +171377,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1074), + Line: int(1094), Column: int(5), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(23), }, }, @@ -168864,7 +171396,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{ "$std", "indent_array_in_object", @@ -168876,11 +171408,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1070), + Line: int(1090), Column: int(5), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(23), }, }, @@ -168897,11 +171429,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(19), }, End: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(24), }, }, @@ -168914,17 +171446,17 @@ var _StdAst = &ast.DesugaredObject{ DefaultArg: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(49), }, End: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(54), }, }, @@ -168935,11 +171467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(26), }, End: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(54), }, }, @@ -168952,17 +171484,17 @@ var _StdAst = &ast.DesugaredObject{ DefaultArg: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13195, + Ctx: p13377, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(67), }, End: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(71), }, }, @@ -168973,11 +171505,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(56), }, End: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(71), }, }, @@ -169009,11 +171541,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1069), + Line: int(1089), Column: int(3), }, End: ast.Location{ - Line: int(1278), + Line: int(1298), Column: int(23), }, }, @@ -169063,11 +171595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(9), }, End: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(12), }, }, @@ -169101,7 +171633,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "std", }, @@ -169109,11 +171641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(9), }, End: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(20), }, }, @@ -169127,7 +171659,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13233, + Ctx: p13415, FreeVars: ast.Identifiers{ "value", }, @@ -169135,11 +171667,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(21), }, End: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(26), }, }, @@ -169154,7 +171686,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "std", "value", @@ -169163,11 +171695,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(9), }, End: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(27), }, }, @@ -169177,7 +171709,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "std", "value", @@ -169186,11 +171718,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(8), }, End: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(27), }, }, @@ -169213,11 +171745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(60), }, End: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(63), }, }, @@ -169251,7 +171783,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "std", }, @@ -169259,11 +171791,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(60), }, End: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(68), }, }, @@ -169277,7 +171809,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13247, + Ctx: p13429, FreeVars: ast.Identifiers{ "value", }, @@ -169285,11 +171817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(69), }, End: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(74), }, }, @@ -169304,7 +171836,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "std", "value", @@ -169313,11 +171845,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(60), }, End: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(75), }, }, @@ -169331,17 +171863,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(13), }, End: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(57), }, }, @@ -169351,7 +171883,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "std", "value", @@ -169360,11 +171892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(13), }, End: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(75), }, }, @@ -169380,7 +171912,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "std", "value", @@ -169389,11 +171921,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(7), }, End: ast.Location{ - Line: int(1282), + Line: int(1302), Column: int(75), }, }, @@ -169405,7 +171937,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "c_document_end", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "c_document_end", }, @@ -169413,11 +171945,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(14), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(28), }, }, @@ -169429,17 +171961,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(34), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(43), }, }, @@ -169452,17 +171984,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(49), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(53), }, }, @@ -169473,7 +172005,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "c_document_end", }, @@ -169481,11 +172013,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(11), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(53), }, }, @@ -169506,11 +172038,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(17), }, End: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(20), }, }, @@ -169544,7 +172076,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "std", }, @@ -169552,11 +172084,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(17), }, End: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(25), }, }, @@ -169579,17 +172111,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p13271, + Ctx: p13453, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(9), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(18), }, }, @@ -169624,7 +172156,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -169693,11 +172225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(21), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(24), }, }, @@ -169731,7 +172263,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13287, + Ctx: p13469, FreeVars: ast.Identifiers{ "std", }, @@ -169739,11 +172271,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(21), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(40), }, }, @@ -169757,7 +172289,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "e", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13291, + Ctx: p13473, FreeVars: ast.Identifiers{ "e", }, @@ -169765,11 +172297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(41), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(42), }, }, @@ -169782,7 +172314,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "indent_array_in_object", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13291, + Ctx: p13473, FreeVars: ast.Identifiers{ "indent_array_in_object", }, @@ -169790,11 +172322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(44), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(66), }, }, @@ -169807,7 +172339,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "quote_keys", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13291, + Ctx: p13473, FreeVars: ast.Identifiers{ "quote_keys", }, @@ -169815,11 +172347,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(68), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(78), }, }, @@ -169834,7 +172366,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13287, + Ctx: p13469, FreeVars: ast.Identifiers{ "e", "indent_array_in_object", @@ -169845,11 +172377,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(21), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(79), }, }, @@ -169936,7 +172468,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13271, + Ctx: p13453, FreeVars: ast.Identifiers{ "value", }, @@ -169944,11 +172476,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(89), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(94), }, }, @@ -169975,11 +172507,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(20), }, End: ast.Location{ - Line: int(1285), + Line: int(1305), Column: int(95), }, }, @@ -170003,7 +172535,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "$std", "indent_array_in_object", @@ -170015,11 +172547,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(17), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(8), }, }, @@ -170040,17 +172572,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(7), }, End: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(14), }, }, @@ -170060,7 +172592,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "$std", "indent_array_in_object", @@ -170072,11 +172604,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(7), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(8), }, }, @@ -170086,7 +172618,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "$std", "c_document_end", @@ -170099,11 +172631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1284), + Line: int(1304), Column: int(7), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(53), }, }, @@ -170128,7 +172660,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{ "$std", "c_document_end", @@ -170141,11 +172673,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1281), + Line: int(1301), Column: int(5), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(53), }, }, @@ -170162,11 +172694,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(22), }, End: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(27), }, }, @@ -170179,17 +172711,17 @@ var _StdAst = &ast.DesugaredObject{ DefaultArg: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(52), }, End: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(57), }, }, @@ -170200,11 +172732,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(29), }, End: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(57), }, }, @@ -170217,17 +172749,17 @@ var _StdAst = &ast.DesugaredObject{ DefaultArg: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(74), }, End: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(78), }, }, @@ -170238,11 +172770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(59), }, End: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(78), }, }, @@ -170255,17 +172787,17 @@ var _StdAst = &ast.DesugaredObject{ DefaultArg: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13229, + Ctx: p13411, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(91), }, End: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(95), }, }, @@ -170276,11 +172808,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(80), }, End: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(95), }, }, @@ -170312,11 +172844,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1280), + Line: int(1300), Column: int(3), }, End: ast.Location{ - Line: int(1286), + Line: int(1306), Column: int(53), }, }, @@ -170365,11 +172897,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(8), }, End: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(11), }, }, @@ -170403,7 +172935,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", }, @@ -170411,11 +172943,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(8), }, End: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(20), }, }, @@ -170429,7 +172961,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13330, + Ctx: p13512, FreeVars: ast.Identifiers{ "v", }, @@ -170437,11 +172969,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(21), }, End: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(22), }, }, @@ -170456,7 +172988,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -170465,11 +172997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(8), }, End: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(23), }, }, @@ -170506,7 +173038,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -170648,17 +173180,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p13354, + Ctx: p13536, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(9), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(17), }, }, @@ -170685,11 +173217,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(21), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(24), }, }, @@ -170723,7 +173255,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13362, + Ctx: p13544, FreeVars: ast.Identifiers{ "std", }, @@ -170731,11 +173263,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(21), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(43), }, }, @@ -170749,7 +173281,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13366, + Ctx: p13548, FreeVars: ast.Identifiers{ "k", }, @@ -170757,11 +173289,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(44), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(45), }, }, @@ -170776,7 +173308,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13362, + Ctx: p13544, FreeVars: ast.Identifiers{ "k", "std", @@ -170785,11 +173317,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(21), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(46), }, }, @@ -170814,11 +173346,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(48), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(51), }, }, @@ -170852,7 +173384,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13362, + Ctx: p13544, FreeVars: ast.Identifiers{ "std", }, @@ -170860,11 +173392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(48), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(66), }, }, @@ -170879,7 +173411,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13378, + Ctx: p13560, FreeVars: ast.Identifiers{ "v", }, @@ -170887,11 +173419,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(67), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(68), }, }, @@ -170901,7 +173433,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13378, + Ctx: p13560, FreeVars: ast.Identifiers{ "k", }, @@ -170909,11 +173441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(69), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(70), }, }, @@ -170924,7 +173456,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13378, + Ctx: p13560, FreeVars: ast.Identifiers{ "k", "v", @@ -170933,11 +173465,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(67), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(71), }, }, @@ -170952,7 +173484,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13362, + Ctx: p13544, FreeVars: ast.Identifiers{ "k", "std", @@ -170962,11 +173494,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(48), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(72), }, }, @@ -170980,7 +173512,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13354, + Ctx: p13536, FreeVars: ast.Identifiers{ "k", "std", @@ -170990,11 +173522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(20), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(73), }, }, @@ -171021,11 +173553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(9), }, End: ast.Location{ - Line: int(1292), + Line: int(1312), Column: int(73), }, }, @@ -171122,11 +173654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1293), + Line: int(1313), Column: int(18), }, End: ast.Location{ - Line: int(1293), + Line: int(1313), Column: int(21), }, }, @@ -171160,7 +173692,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13394, + Ctx: p13576, FreeVars: ast.Identifiers{ "std", }, @@ -171168,11 +173700,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1293), + Line: int(1313), Column: int(18), }, End: ast.Location{ - Line: int(1293), + Line: int(1313), Column: int(34), }, }, @@ -171186,7 +173718,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13398, + Ctx: p13580, FreeVars: ast.Identifiers{ "v", }, @@ -171194,11 +173726,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1293), + Line: int(1313), Column: int(35), }, End: ast.Location{ - Line: int(1293), + Line: int(1313), Column: int(36), }, }, @@ -171213,7 +173745,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13394, + Ctx: p13576, FreeVars: ast.Identifiers{ "std", "v", @@ -171222,11 +173754,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1293), + Line: int(1313), Column: int(18), }, End: ast.Location{ - Line: int(1293), + Line: int(1313), Column: int(37), }, }, @@ -171253,11 +173785,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1291), + Line: int(1311), Column: int(22), }, End: ast.Location{ - Line: int(1294), + Line: int(1314), Column: int(8), }, }, @@ -171273,11 +173805,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1291), + Line: int(1311), Column: int(13), }, End: ast.Location{ - Line: int(1294), + Line: int(1314), Column: int(8), }, }, @@ -171370,17 +173902,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(7), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(13), }, }, @@ -171407,11 +173939,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(17), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(20), }, }, @@ -171445,7 +173977,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13418, + Ctx: p13600, FreeVars: ast.Identifiers{ "std", }, @@ -171453,11 +173985,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(17), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(25), }, }, @@ -171473,17 +174005,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13422, + Ctx: p13604, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(26), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(30), }, }, @@ -171497,7 +174029,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fields", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13422, + Ctx: p13604, FreeVars: ast.Identifiers{ "fields", }, @@ -171505,11 +174037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(32), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(38), }, }, @@ -171524,7 +174056,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13418, + Ctx: p13600, FreeVars: ast.Identifiers{ "fields", "std", @@ -171533,11 +174065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(17), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(39), }, }, @@ -171551,7 +174083,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "fields", "std", @@ -171560,11 +174092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(16), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(40), }, }, @@ -171590,11 +174122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(7), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(40), }, }, @@ -171611,7 +174143,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "$std", "std", @@ -171621,11 +174153,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1291), + Line: int(1311), Column: int(7), }, End: ast.Location{ - Line: int(1295), + Line: int(1315), Column: int(40), }, }, @@ -171646,11 +174178,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(13), }, End: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(16), }, }, @@ -171684,7 +174216,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", }, @@ -171692,11 +174224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(13), }, End: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(24), }, }, @@ -171710,7 +174242,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13439, + Ctx: p13621, FreeVars: ast.Identifiers{ "v", }, @@ -171718,11 +174250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(25), }, End: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(26), }, }, @@ -171737,7 +174269,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -171746,11 +174278,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(13), }, End: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(27), }, }, @@ -171845,17 +174377,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(7), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(13), }, }, @@ -171882,11 +174414,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(17), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(20), }, }, @@ -171920,7 +174452,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13458, + Ctx: p13640, FreeVars: ast.Identifiers{ "std", }, @@ -171928,11 +174460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(17), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(25), }, }, @@ -171948,17 +174480,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13462, + Ctx: p13644, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(26), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(30), }, }, @@ -171993,7 +174525,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -172062,11 +174594,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(33), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(36), }, }, @@ -172100,7 +174632,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13478, + Ctx: p13660, FreeVars: ast.Identifiers{ "std", }, @@ -172108,11 +174640,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(33), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(51), }, }, @@ -172126,7 +174658,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13482, + Ctx: p13664, FreeVars: ast.Identifiers{ "v2", }, @@ -172134,11 +174666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(52), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(54), }, }, @@ -172153,7 +174685,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13478, + Ctx: p13660, FreeVars: ast.Identifiers{ "std", "v2", @@ -172162,11 +174694,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(33), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(55), }, }, @@ -172249,7 +174781,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13462, + Ctx: p13644, FreeVars: ast.Identifiers{ "v", }, @@ -172257,11 +174789,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(66), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(67), }, }, @@ -172286,11 +174818,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(32), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(68), }, }, @@ -172307,7 +174839,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13458, + Ctx: p13640, FreeVars: ast.Identifiers{ "$std", "std", @@ -172317,11 +174849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(17), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(69), }, }, @@ -172335,7 +174867,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "$std", "std", @@ -172345,11 +174877,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(16), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(70), }, }, @@ -172375,11 +174907,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(7), }, End: ast.Location{ - Line: int(1297), + Line: int(1317), Column: int(70), }, }, @@ -172402,11 +174934,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(13), }, End: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(16), }, }, @@ -172440,7 +174972,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", }, @@ -172448,11 +174980,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(13), }, End: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(25), }, }, @@ -172466,7 +174998,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13503, + Ctx: p13685, FreeVars: ast.Identifiers{ "v", }, @@ -172474,11 +175006,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(26), }, End: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(27), }, }, @@ -172493,7 +175025,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -172502,11 +175034,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(13), }, End: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(28), }, }, @@ -172601,17 +175133,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(7), }, End: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(11), }, }, @@ -172638,11 +175170,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(15), }, End: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(18), }, }, @@ -172676,7 +175208,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13522, + Ctx: p13704, FreeVars: ast.Identifiers{ "std", }, @@ -172684,11 +175216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(15), }, End: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(37), }, }, @@ -172702,7 +175234,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13526, + Ctx: p13708, FreeVars: ast.Identifiers{ "v", }, @@ -172710,11 +175242,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(38), }, End: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(39), }, }, @@ -172729,7 +175261,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13522, + Ctx: p13704, FreeVars: ast.Identifiers{ "std", "v", @@ -172738,11 +175270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(15), }, End: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(40), }, }, @@ -172756,7 +175288,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -172765,11 +175297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(14), }, End: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(41), }, }, @@ -172795,11 +175327,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(7), }, End: ast.Location{ - Line: int(1299), + Line: int(1319), Column: int(41), }, }, @@ -172822,11 +175354,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(13), }, End: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(16), }, }, @@ -172860,7 +175392,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", }, @@ -172868,11 +175400,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(13), }, End: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(27), }, }, @@ -172886,7 +175418,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13540, + Ctx: p13722, FreeVars: ast.Identifiers{ "v", }, @@ -172894,11 +175426,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(28), }, End: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(29), }, }, @@ -172913,7 +175445,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -172922,11 +175454,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(13), }, End: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(30), }, }, @@ -172941,17 +175473,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1301), + Line: int(1321), Column: int(13), }, End: ast.Location{ - Line: int(1301), + Line: int(1321), Column: int(39), }, }, @@ -172967,17 +175499,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1301), + Line: int(1321), Column: int(7), }, End: ast.Location{ - Line: int(1301), + Line: int(1321), Column: int(39), }, }, @@ -172998,11 +175530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(13), }, End: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(16), }, }, @@ -173036,7 +175568,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", }, @@ -173044,11 +175576,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(13), }, End: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(25), }, }, @@ -173062,7 +175594,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13555, + Ctx: p13737, FreeVars: ast.Identifiers{ "v", }, @@ -173070,11 +175602,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(26), }, End: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(27), }, }, @@ -173089,7 +175621,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -173098,11 +175630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(13), }, End: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(28), }, }, @@ -173131,11 +175663,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1303), + Line: int(1323), Column: int(7), }, End: ast.Location{ - Line: int(1303), + Line: int(1323), Column: int(10), }, }, @@ -173169,7 +175701,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", }, @@ -173177,11 +175709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1303), + Line: int(1323), Column: int(7), }, End: ast.Location{ - Line: int(1303), + Line: int(1323), Column: int(19), }, }, @@ -173195,7 +175727,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13567, + Ctx: p13749, FreeVars: ast.Identifiers{ "v", }, @@ -173203,11 +175735,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1303), + Line: int(1323), Column: int(20), }, End: ast.Location{ - Line: int(1303), + Line: int(1323), Column: int(21), }, }, @@ -173222,7 +175754,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -173231,11 +175763,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1303), + Line: int(1323), Column: int(7), }, End: ast.Location{ - Line: int(1303), + Line: int(1323), Column: int(22), }, }, @@ -173248,17 +175780,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1304), + Line: int(1324), Column: int(18), }, End: ast.Location{ - Line: int(1304), + Line: int(1324), Column: int(22), }, }, @@ -173269,7 +175801,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173277,11 +175809,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1304), + Line: int(1324), Column: int(13), }, End: ast.Location{ - Line: int(1304), + Line: int(1324), Column: int(14), }, }, @@ -173290,7 +175822,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173298,11 +175830,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1304), + Line: int(1324), Column: int(13), }, End: ast.Location{ - Line: int(1304), + Line: int(1324), Column: int(22), }, }, @@ -173322,17 +175854,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1305), + Line: int(1325), Column: int(7), }, End: ast.Location{ - Line: int(1305), + Line: int(1325), Column: int(13), }, }, @@ -173344,17 +175876,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1306), + Line: int(1326), Column: int(18), }, End: ast.Location{ - Line: int(1306), + Line: int(1326), Column: int(23), }, }, @@ -173365,7 +175897,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173373,11 +175905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1306), + Line: int(1326), Column: int(13), }, End: ast.Location{ - Line: int(1306), + Line: int(1326), Column: int(14), }, }, @@ -173386,7 +175918,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173394,11 +175926,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1306), + Line: int(1326), Column: int(13), }, End: ast.Location{ - Line: int(1306), + Line: int(1326), Column: int(23), }, }, @@ -173418,17 +175950,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1307), + Line: int(1327), Column: int(7), }, End: ast.Location{ - Line: int(1307), + Line: int(1327), Column: int(14), }, }, @@ -173440,17 +175972,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1308), + Line: int(1328), Column: int(18), }, End: ast.Location{ - Line: int(1308), + Line: int(1328), Column: int(22), }, }, @@ -173460,7 +175992,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173468,11 +176000,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1308), + Line: int(1328), Column: int(13), }, End: ast.Location{ - Line: int(1308), + Line: int(1328), Column: int(14), }, }, @@ -173481,7 +176013,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173489,11 +176021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1308), + Line: int(1328), Column: int(13), }, End: ast.Location{ - Line: int(1308), + Line: int(1328), Column: int(22), }, }, @@ -173513,17 +176045,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(7), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173553,7 +176085,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173561,11 +176093,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1308), + Line: int(1328), Column: int(10), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173582,7 +176114,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173590,11 +176122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1306), + Line: int(1326), Column: int(10), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173611,7 +176143,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "v", }, @@ -173619,11 +176151,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1304), + Line: int(1324), Column: int(10), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173640,7 +176172,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -173649,11 +176181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1302), + Line: int(1322), Column: int(10), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173670,7 +176202,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "std", "v", @@ -173679,11 +176211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1300), + Line: int(1320), Column: int(10), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173700,7 +176232,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "$std", "std", @@ -173710,11 +176242,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1298), + Line: int(1318), Column: int(10), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173731,7 +176263,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "$std", "std", @@ -173741,11 +176273,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1296), + Line: int(1316), Column: int(10), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173769,7 +176301,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13326, + Ctx: p13508, FreeVars: ast.Identifiers{ "$std", "std", @@ -173779,11 +176311,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1290), + Line: int(1310), Column: int(5), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173800,11 +176332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1289), + Line: int(1309), Column: int(18), }, End: ast.Location{ - Line: int(1289), + Line: int(1309), Column: int(19), }, }, @@ -173836,11 +176368,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1289), + Line: int(1309), Column: int(3), }, End: ast.Location{ - Line: int(1309), + Line: int(1329), Column: int(13), }, }, @@ -173903,7 +176435,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -174038,17 +176570,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13635, + Ctx: p13817, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(19), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(28), }, }, @@ -174065,7 +176597,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13639, + Ctx: p13821, FreeVars: ast.Identifiers{ "k", }, @@ -174073,11 +176605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(32), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(33), }, }, @@ -174100,11 +176632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(35), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(38), }, }, @@ -174138,7 +176670,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13639, + Ctx: p13821, FreeVars: ast.Identifiers{ "std", }, @@ -174146,11 +176678,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(35), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(53), }, }, @@ -174165,7 +176697,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "conf", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13650, + Ctx: p13832, FreeVars: ast.Identifiers{ "conf", }, @@ -174173,11 +176705,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(54), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(58), }, }, @@ -174187,7 +176719,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13650, + Ctx: p13832, FreeVars: ast.Identifiers{ "k", }, @@ -174195,11 +176727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(59), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(60), }, }, @@ -174210,7 +176742,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13650, + Ctx: p13832, FreeVars: ast.Identifiers{ "conf", "k", @@ -174219,11 +176751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(54), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(61), }, }, @@ -174238,7 +176770,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13639, + Ctx: p13821, FreeVars: ast.Identifiers{ "conf", "k", @@ -174248,11 +176780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(35), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(62), }, }, @@ -174266,7 +176798,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13635, + Ctx: p13817, FreeVars: ast.Identifiers{ "conf", "k", @@ -174276,11 +176808,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(31), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(63), }, }, @@ -174307,11 +176839,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(19), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(63), }, }, @@ -174408,11 +176940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(73), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(76), }, }, @@ -174446,7 +176978,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13666, + Ctx: p13848, FreeVars: ast.Identifiers{ "std", }, @@ -174454,11 +176986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(73), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(89), }, }, @@ -174472,7 +177004,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "conf", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13670, + Ctx: p13852, FreeVars: ast.Identifiers{ "conf", }, @@ -174480,11 +177012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(90), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(94), }, }, @@ -174499,7 +177031,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13666, + Ctx: p13848, FreeVars: ast.Identifiers{ "conf", "std", @@ -174508,11 +177040,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(73), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(95), }, }, @@ -174539,11 +177071,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(18), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(96), }, }, @@ -174559,11 +177091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(11), }, End: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(96), }, }, @@ -174590,11 +177122,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(5), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(8), }, }, @@ -174628,7 +177160,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13680, + Ctx: p13862, FreeVars: ast.Identifiers{ "std", }, @@ -174636,11 +177168,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(5), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(13), }, }, @@ -174656,17 +177188,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13684, + Ctx: p13866, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(14), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(18), }, }, @@ -174686,17 +177218,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13689, + Ctx: p13871, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(28), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(30), }, }, @@ -174709,17 +177241,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13684, + Ctx: p13866, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(27), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(31), }, }, @@ -174730,7 +177262,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "vars", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13684, + Ctx: p13866, FreeVars: ast.Identifiers{ "vars", }, @@ -174738,11 +177270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(20), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(24), }, }, @@ -174751,7 +177283,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13684, + Ctx: p13866, FreeVars: ast.Identifiers{ "vars", }, @@ -174759,11 +177291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(20), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(31), }, }, @@ -174779,7 +177311,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13680, + Ctx: p13862, FreeVars: ast.Identifiers{ "std", "vars", @@ -174788,11 +177320,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(5), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(32), }, }, @@ -174809,7 +177341,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13680, + Ctx: p13862, FreeVars: ast.Identifiers{ "$std", "conf", @@ -174819,11 +177351,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1312), + Line: int(1332), Column: int(5), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(32), }, }, @@ -174840,11 +177372,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1311), + Line: int(1331), Column: int(22), }, End: ast.Location{ - Line: int(1311), + Line: int(1331), Column: int(26), }, }, @@ -174876,11 +177408,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1311), + Line: int(1331), Column: int(3), }, End: ast.Location{ - Line: int(1313), + Line: int(1333), Column: int(32), }, }, @@ -174930,11 +177462,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(9), }, End: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(12), }, }, @@ -174968,7 +177500,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "std", }, @@ -174976,11 +177508,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(9), }, End: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(20), }, }, @@ -174994,7 +177526,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13711, + Ctx: p13893, FreeVars: ast.Identifiers{ "value", }, @@ -175002,11 +177534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(21), }, End: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(26), }, }, @@ -175021,7 +177553,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "std", "value", @@ -175030,11 +177562,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(9), }, End: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(27), }, }, @@ -175044,7 +177576,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "std", "value", @@ -175053,11 +177585,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(8), }, End: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(27), }, }, @@ -175145,17 +177677,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(13), }, End: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(57), }, }, @@ -175179,11 +177711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(60), }, End: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(63), }, }, @@ -175217,7 +177749,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "std", }, @@ -175225,11 +177757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(60), }, End: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(68), }, }, @@ -175243,7 +177775,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13732, + Ctx: p13914, FreeVars: ast.Identifiers{ "value", }, @@ -175251,11 +177783,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(69), }, End: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(74), }, }, @@ -175270,7 +177802,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "std", "value", @@ -175279,11 +177811,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(60), }, End: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(75), }, }, @@ -175310,11 +177842,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(13), }, End: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(75), }, }, @@ -175331,7 +177863,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "$std", "std", @@ -175341,11 +177873,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(7), }, End: ast.Location{ - Line: int(1317), + Line: int(1337), Column: int(75), }, }, @@ -175373,11 +177905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(12), }, End: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(15), }, }, @@ -175411,7 +177943,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "std", }, @@ -175419,11 +177951,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(12), }, End: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(24), }, }, @@ -175437,7 +177969,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13751, + Ctx: p13933, FreeVars: ast.Identifiers{ "v", }, @@ -175445,11 +177977,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(25), }, End: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(26), }, }, @@ -175464,7 +177996,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "std", "v", @@ -175473,11 +178005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(12), }, End: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(27), }, }, @@ -175496,7 +178028,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "v", }, @@ -175504,11 +178036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1321), + Line: int(1341), Column: int(11), }, End: ast.Location{ - Line: int(1321), + Line: int(1341), Column: int(12), }, }, @@ -175523,7 +178055,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13761, + Ctx: p13943, FreeVars: ast.Identifiers{ "v", }, @@ -175531,11 +178063,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(23), }, End: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(24), }, }, @@ -175545,17 +178077,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13761, + Ctx: p13943, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(25), }, End: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(26), }, }, @@ -175566,7 +178098,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13761, + Ctx: p13943, FreeVars: ast.Identifiers{ "v", }, @@ -175574,11 +178106,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(23), }, End: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(27), }, }, @@ -175592,11 +178124,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(17), }, End: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(27), }, }, @@ -175621,11 +178153,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(50), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(53), }, }, @@ -175659,7 +178191,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13773, + Ctx: p13955, FreeVars: ast.Identifiers{ "std", }, @@ -175667,11 +178199,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(50), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(62), }, }, @@ -175686,7 +178218,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13778, + Ctx: p13960, FreeVars: ast.Identifiers{ "v", }, @@ -175694,11 +178226,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(63), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(64), }, }, @@ -175708,17 +178240,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13778, + Ctx: p13960, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(65), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(66), }, }, @@ -175729,7 +178261,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13778, + Ctx: p13960, FreeVars: ast.Identifiers{ "v", }, @@ -175737,11 +178269,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(63), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(67), }, }, @@ -175756,7 +178288,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13773, + Ctx: p13955, FreeVars: ast.Identifiers{ "std", "v", @@ -175765,11 +178297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(50), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(68), }, }, @@ -175782,17 +178314,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13773, + Ctx: p13955, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(45), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(46), }, }, @@ -175812,11 +178344,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(29), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(32), }, }, @@ -175850,7 +178382,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13773, + Ctx: p13955, FreeVars: ast.Identifiers{ "std", }, @@ -175858,11 +178390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(29), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(39), }, }, @@ -175876,7 +178408,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13793, + Ctx: p13975, FreeVars: ast.Identifiers{ "v", }, @@ -175884,11 +178416,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(40), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(41), }, }, @@ -175903,7 +178435,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13773, + Ctx: p13955, FreeVars: ast.Identifiers{ "std", "v", @@ -175912,11 +178444,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(29), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(42), }, }, @@ -175927,7 +178459,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13773, + Ctx: p13955, FreeVars: ast.Identifiers{ "std", "v", @@ -175936,11 +178468,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(29), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(46), }, }, @@ -175950,7 +178482,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13773, + Ctx: p13955, FreeVars: ast.Identifiers{ "std", "v", @@ -175959,11 +178491,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(29), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(68), }, }, @@ -175978,11 +178510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(17), }, End: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(68), }, }, @@ -175997,7 +178529,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "has_attrs", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13802, + Ctx: p13984, FreeVars: ast.Identifiers{ "has_attrs", }, @@ -176005,11 +178537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(28), }, End: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(37), }, }, @@ -176020,7 +178552,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13802, + Ctx: p13984, FreeVars: ast.Identifiers{ "v", }, @@ -176028,11 +178560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(43), }, End: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(44), }, }, @@ -176042,17 +178574,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13802, + Ctx: p13984, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(45), }, End: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(46), }, }, @@ -176063,7 +178595,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13802, + Ctx: p13984, FreeVars: ast.Identifiers{ "v", }, @@ -176071,11 +178603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(43), }, End: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(47), }, }, @@ -176087,17 +178619,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13802, + Ctx: p13984, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(53), }, End: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(55), }, }, @@ -176107,7 +178639,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13802, + Ctx: p13984, FreeVars: ast.Identifiers{ "has_attrs", "v", @@ -176116,11 +178648,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(25), }, End: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(55), }, }, @@ -176134,11 +178666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(17), }, End: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(55), }, }, @@ -176153,7 +178685,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "has_attrs", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13815, + Ctx: p13997, FreeVars: ast.Identifiers{ "has_attrs", }, @@ -176161,11 +178693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(31), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(40), }, }, @@ -176249,7 +178781,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13815, + Ctx: p13997, FreeVars: ast.Identifiers{ "v", }, @@ -176257,11 +178789,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(46), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(47), }, }, @@ -176274,17 +178806,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13815, + Ctx: p13997, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(48), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(49), }, }, @@ -176352,11 +178884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(46), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(51), }, }, @@ -176442,7 +178974,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13815, + Ctx: p13997, FreeVars: ast.Identifiers{ "v", }, @@ -176450,11 +178982,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(57), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(58), }, }, @@ -176467,17 +178999,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13815, + Ctx: p13997, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(59), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(60), }, }, @@ -176545,11 +179077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(57), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(62), }, }, @@ -176561,7 +179093,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13815, + Ctx: p13997, FreeVars: ast.Identifiers{ "$std", "has_attrs", @@ -176571,11 +179103,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(28), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(62), }, }, @@ -176589,11 +179121,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(17), }, End: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(62), }, }, @@ -176624,11 +179156,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(13), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(16), }, }, @@ -176662,7 +179194,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13852, + Ctx: p14034, FreeVars: ast.Identifiers{ "std", }, @@ -176670,11 +179202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(13), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(21), }, }, @@ -176690,17 +179222,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13856, + Ctx: p14038, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(22), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(24), }, }, @@ -176735,7 +179267,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -176870,17 +179402,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13875, + Ctx: p14057, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(27), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(37), }, }, @@ -176897,7 +179429,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13879, + Ctx: p14061, FreeVars: ast.Identifiers{ "k", }, @@ -176905,11 +179437,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(41), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(42), }, }, @@ -176923,7 +179455,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "attrs", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13879, + Ctx: p14061, FreeVars: ast.Identifiers{ "attrs", }, @@ -176931,11 +179463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(44), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(49), }, }, @@ -176945,7 +179477,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13879, + Ctx: p14061, FreeVars: ast.Identifiers{ "k", }, @@ -176953,11 +179485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(50), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(51), }, }, @@ -176968,7 +179500,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13879, + Ctx: p14061, FreeVars: ast.Identifiers{ "attrs", "k", @@ -176977,11 +179509,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(44), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(52), }, }, @@ -176993,7 +179525,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13875, + Ctx: p14057, FreeVars: ast.Identifiers{ "attrs", "k", @@ -177002,11 +179534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(40), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(53), }, }, @@ -177032,11 +179564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(27), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(53), }, }, @@ -177131,11 +179663,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(63), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(66), }, }, @@ -177169,7 +179701,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13856, + Ctx: p14038, FreeVars: ast.Identifiers{ "std", }, @@ -177177,11 +179709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(63), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(79), }, }, @@ -177195,7 +179727,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "attrs", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13900, + Ctx: p14082, FreeVars: ast.Identifiers{ "attrs", }, @@ -177203,11 +179735,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(80), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(85), }, }, @@ -177222,7 +179754,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13856, + Ctx: p14038, FreeVars: ast.Identifiers{ "attrs", "std", @@ -177231,11 +179763,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(63), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(86), }, }, @@ -177262,11 +179794,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(26), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(87), }, }, @@ -177283,7 +179815,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13852, + Ctx: p14034, FreeVars: ast.Identifiers{ "$std", "attrs", @@ -177293,11 +179825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(13), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(88), }, }, @@ -177313,11 +179845,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1327), + Line: int(1347), Column: int(17), }, End: ast.Location{ - Line: int(1328), + Line: int(1348), Column: int(88), }, }, @@ -177344,11 +179876,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(11), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(14), }, }, @@ -177382,7 +179914,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "std", }, @@ -177390,11 +179922,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(11), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(23), }, }, @@ -177413,17 +179945,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13916, + Ctx: p14098, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(25), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(28), }, }, @@ -177437,7 +179969,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "tag", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13916, + Ctx: p14098, FreeVars: ast.Identifiers{ "tag", }, @@ -177445,11 +179977,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(30), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(33), }, }, @@ -177462,7 +179994,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "attrs_str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13916, + Ctx: p14098, FreeVars: ast.Identifiers{ "attrs_str", }, @@ -177470,11 +180002,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(35), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(44), }, }, @@ -177489,17 +180021,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13916, + Ctx: p14098, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(46), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(49), }, }, @@ -177534,7 +180066,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -177594,7 +180126,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "aux", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13934, + Ctx: p14116, FreeVars: ast.Identifiers{ "aux", }, @@ -177602,11 +180134,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(52), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(55), }, }, @@ -177620,7 +180152,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13938, + Ctx: p14120, FreeVars: ast.Identifiers{ "x", }, @@ -177628,11 +180160,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(56), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(57), }, }, @@ -177647,7 +180179,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13934, + Ctx: p14116, FreeVars: ast.Identifiers{ "aux", "x", @@ -177656,11 +180188,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(52), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(58), }, }, @@ -177743,7 +180275,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "children", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13916, + Ctx: p14098, FreeVars: ast.Identifiers{ "children", }, @@ -177751,11 +180283,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(68), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(76), }, }, @@ -177780,11 +180312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(51), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(77), }, }, @@ -177801,17 +180333,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13916, + Ctx: p14098, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(79), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(83), }, }, @@ -177825,7 +180357,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "tag", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13916, + Ctx: p14098, FreeVars: ast.Identifiers{ "tag", }, @@ -177833,11 +180365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(85), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(88), }, }, @@ -177852,17 +180384,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13916, + Ctx: p14098, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(90), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(93), }, }, @@ -177875,7 +180407,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13951, + Ctx: p14133, FreeVars: ast.Identifiers{ "$std", "attrs_str", @@ -177887,11 +180419,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(24), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(94), }, }, @@ -177907,7 +180439,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "$std", "attrs_str", @@ -177920,11 +180452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(11), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(95), }, }, @@ -177941,7 +180473,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "$std", "attrs", @@ -177954,11 +180486,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1327), + Line: int(1347), Column: int(11), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(95), }, }, @@ -177973,7 +180505,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "$std", "attrs", @@ -177987,11 +180519,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1326), + Line: int(1346), Column: int(11), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(95), }, }, @@ -178006,7 +180538,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "$std", "aux", @@ -178019,11 +180551,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1325), + Line: int(1345), Column: int(11), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(95), }, }, @@ -178038,7 +180570,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "$std", "aux", @@ -178050,11 +180582,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1324), + Line: int(1344), Column: int(11), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(95), }, }, @@ -178069,7 +180601,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "$std", "aux", @@ -178080,11 +180612,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1323), + Line: int(1343), Column: int(11), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(95), }, }, @@ -178108,7 +180640,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p13747, + Ctx: p13929, FreeVars: ast.Identifiers{ "$std", "aux", @@ -178119,11 +180651,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1320), + Line: int(1340), Column: int(9), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(95), }, }, @@ -178140,11 +180672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1319), + Line: int(1339), Column: int(17), }, End: ast.Location{ - Line: int(1319), + Line: int(1339), Column: int(18), }, }, @@ -178152,7 +180684,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p13968, + Ctx: p14150, FreeVars: ast.Identifiers{ "$std", "aux", @@ -178162,11 +180694,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1319), + Line: int(1339), Column: int(13), }, End: ast.Location{ - Line: int(1329), + Line: int(1349), Column: int(95), }, }, @@ -178203,7 +180735,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "aux", }, @@ -178211,11 +180743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(7), }, End: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(10), }, }, @@ -178229,7 +180761,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13976, + Ctx: p14158, FreeVars: ast.Identifiers{ "value", }, @@ -178237,11 +180769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(11), }, End: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(16), }, }, @@ -178256,7 +180788,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "aux", "value", @@ -178265,11 +180797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(7), }, End: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(17), }, }, @@ -178286,7 +180818,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "$std", "std", @@ -178296,11 +180828,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1319), + Line: int(1339), Column: int(7), }, End: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(17), }, }, @@ -178324,7 +180856,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p13707, + Ctx: p13889, FreeVars: ast.Identifiers{ "$std", "std", @@ -178334,11 +180866,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1316), + Line: int(1336), Column: int(5), }, End: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(17), }, }, @@ -178355,11 +180887,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1315), + Line: int(1335), Column: int(21), }, End: ast.Location{ - Line: int(1315), + Line: int(1335), Column: int(26), }, }, @@ -178391,11 +180923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1315), + Line: int(1335), Column: int(3), }, End: ast.Location{ - Line: int(1331), + Line: int(1351), Column: int(17), }, }, @@ -178448,11 +180980,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(10), }, End: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(13), }, }, @@ -178486,7 +181018,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13996, + Ctx: p14178, FreeVars: ast.Identifiers{ "std", }, @@ -178494,11 +181026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(10), }, End: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(22), }, }, @@ -178512,7 +181044,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "input", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14000, + Ctx: p14182, FreeVars: ast.Identifiers{ "input", }, @@ -178520,11 +181052,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(23), }, End: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(28), }, }, @@ -178539,7 +181071,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13996, + Ctx: p14178, FreeVars: ast.Identifiers{ "input", "std", @@ -178548,11 +181080,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(10), }, End: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(29), }, }, @@ -178581,11 +181113,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(9), }, End: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(12), }, }, @@ -178619,7 +181151,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13996, + Ctx: p14178, FreeVars: ast.Identifiers{ "std", }, @@ -178627,11 +181159,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(9), }, End: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(16), }, }, @@ -178654,11 +181186,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(17), }, End: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(20), }, }, @@ -178692,7 +181224,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14015, + Ctx: p14197, FreeVars: ast.Identifiers{ "std", }, @@ -178700,11 +181232,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(17), }, End: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(30), }, }, @@ -178717,7 +181249,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "input", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14015, + Ctx: p14197, FreeVars: ast.Identifiers{ "input", }, @@ -178725,11 +181257,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(32), }, End: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(37), }, }, @@ -178744,7 +181276,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p13996, + Ctx: p14178, FreeVars: ast.Identifiers{ "input", "std", @@ -178753,11 +181285,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(9), }, End: ast.Location{ - Line: int(1339), + Line: int(1359), Column: int(38), }, }, @@ -178776,7 +181308,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p13996, + Ctx: p14178, FreeVars: ast.Identifiers{ "input", }, @@ -178784,11 +181316,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1341), + Line: int(1361), Column: int(9), }, End: ast.Location{ - Line: int(1341), + Line: int(1361), Column: int(14), }, }, @@ -178812,7 +181344,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p13996, + Ctx: p14178, FreeVars: ast.Identifiers{ "input", "std", @@ -178821,11 +181353,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1338), + Line: int(1358), Column: int(7), }, End: ast.Location{ - Line: int(1341), + Line: int(1361), Column: int(14), }, }, @@ -178839,11 +181371,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1337), + Line: int(1357), Column: int(11), }, End: ast.Location{ - Line: int(1341), + Line: int(1361), Column: int(14), }, }, @@ -178872,11 +181404,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(15), }, End: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(18), }, }, @@ -178910,7 +181442,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "std", }, @@ -178918,11 +181450,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(15), }, End: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(25), }, }, @@ -178936,7 +181468,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14040, + Ctx: p14222, FreeVars: ast.Identifiers{ "arr", }, @@ -178944,11 +181476,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(26), }, End: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(29), }, }, @@ -178963,7 +181495,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "std", @@ -178972,11 +181504,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(15), }, End: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(30), }, }, @@ -178988,7 +181520,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "i", }, @@ -178996,11 +181528,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(10), }, End: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(11), }, }, @@ -179009,7 +181541,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "i", @@ -179019,11 +181551,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(10), }, End: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(30), }, }, @@ -179041,7 +181573,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "r", }, @@ -179049,11 +181581,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1345), + Line: int(1365), Column: int(9), }, End: ast.Location{ - Line: int(1345), + Line: int(1365), Column: int(10), }, }, @@ -179075,11 +181607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(24), }, End: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(27), }, }, @@ -179113,7 +181645,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "std", }, @@ -179121,11 +181653,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(24), }, End: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(34), }, }, @@ -179139,7 +181671,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14059, + Ctx: p14241, FreeVars: ast.Identifiers{ "arr", }, @@ -179147,11 +181679,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(35), }, End: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(38), }, }, @@ -179166,7 +181698,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "std", @@ -179175,11 +181707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(24), }, End: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(39), }, }, @@ -179192,17 +181724,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(19), }, End: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(20), }, }, @@ -179212,7 +181744,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "i", }, @@ -179220,11 +181752,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(15), }, End: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(16), }, }, @@ -179233,7 +181765,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "i", }, @@ -179241,11 +181773,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(15), }, End: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(20), }, }, @@ -179255,7 +181787,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "i", @@ -179265,11 +181797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(15), }, End: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(39), }, }, @@ -179294,17 +181826,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1352), + Line: int(1372), Column: int(11), }, End: ast.Location{ - Line: int(1352), + Line: int(1372), Column: int(15), }, }, @@ -179332,7 +181864,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "base64_table", }, @@ -179340,11 +181872,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(11), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(23), }, }, @@ -179355,17 +181887,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(40), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(41), }, }, @@ -179376,17 +181908,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(34), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(35), }, }, @@ -179397,7 +181929,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", }, @@ -179405,11 +181937,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(25), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(28), }, }, @@ -179419,7 +181951,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "i", }, @@ -179427,11 +181959,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(29), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(30), }, }, @@ -179442,7 +181974,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "i", @@ -179451,11 +181983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(25), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(31), }, }, @@ -179464,7 +181996,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "i", @@ -179473,11 +182005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(25), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(35), }, }, @@ -179487,7 +182019,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "i", @@ -179496,11 +182028,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(24), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(41), }, }, @@ -179512,7 +182044,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -179522,11 +182054,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(11), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(42), }, }, @@ -179552,7 +182084,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "base64_table", }, @@ -179560,11 +182092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(11), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(23), }, }, @@ -179575,17 +182107,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(42), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(43), }, }, @@ -179596,17 +182128,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "252", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(34), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(37), }, }, @@ -179617,7 +182149,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", }, @@ -179625,11 +182157,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(25), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(28), }, }, @@ -179639,7 +182171,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "i", }, @@ -179647,11 +182179,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(29), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(30), }, }, @@ -179662,7 +182194,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "i", @@ -179671,11 +182203,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(25), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(31), }, }, @@ -179684,7 +182216,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "i", @@ -179693,11 +182225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(25), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(37), }, }, @@ -179707,7 +182239,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "i", @@ -179716,11 +182248,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(24), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(43), }, }, @@ -179732,7 +182264,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -179742,11 +182274,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(11), }, End: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(44), }, }, @@ -179755,7 +182287,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -179765,11 +182297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(11), }, End: ast.Location{ - Line: int(1351), + Line: int(1371), Column: int(42), }, }, @@ -179779,7 +182311,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14073, + Ctx: p14255, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -179789,11 +182321,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1349), + Line: int(1369), Column: int(11), }, End: ast.Location{ - Line: int(1352), + Line: int(1372), Column: int(15), }, }, @@ -179808,11 +182340,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1347), + Line: int(1367), Column: int(15), }, End: ast.Location{ - Line: int(1352), + Line: int(1372), Column: int(15), }, }, @@ -179830,7 +182362,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "aux", }, @@ -179838,11 +182370,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(9), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(12), }, }, @@ -179856,7 +182388,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14119, + Ctx: p14301, FreeVars: ast.Identifiers{ "arr", }, @@ -179864,11 +182396,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(13), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(16), }, }, @@ -179882,17 +182414,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14119, + Ctx: p14301, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(22), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(23), }, }, @@ -179902,7 +182434,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14119, + Ctx: p14301, FreeVars: ast.Identifiers{ "i", }, @@ -179910,11 +182442,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(18), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(19), }, }, @@ -179923,7 +182455,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14119, + Ctx: p14301, FreeVars: ast.Identifiers{ "i", }, @@ -179931,11 +182463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(18), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(23), }, }, @@ -179950,7 +182482,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14119, + Ctx: p14301, FreeVars: ast.Identifiers{ "str", }, @@ -179958,11 +182490,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(29), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(32), }, }, @@ -179972,7 +182504,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "r", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14119, + Ctx: p14301, FreeVars: ast.Identifiers{ "r", }, @@ -179980,11 +182512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(25), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(26), }, }, @@ -179993,7 +182525,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14119, + Ctx: p14301, FreeVars: ast.Identifiers{ "r", "str", @@ -180002,11 +182534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(25), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(32), }, }, @@ -180022,7 +182554,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -180034,11 +182566,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(9), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(33), }, }, @@ -180055,7 +182587,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -180067,11 +182599,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1347), + Line: int(1367), Column: int(9), }, End: ast.Location{ - Line: int(1353), + Line: int(1373), Column: int(33), }, }, @@ -180093,11 +182625,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(24), }, End: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(27), }, }, @@ -180131,7 +182663,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "std", }, @@ -180139,11 +182671,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(24), }, End: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(34), }, }, @@ -180157,7 +182689,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14145, + Ctx: p14327, FreeVars: ast.Identifiers{ "arr", }, @@ -180165,11 +182697,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(35), }, End: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(38), }, }, @@ -180184,7 +182716,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "std", @@ -180193,11 +182725,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(24), }, End: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(39), }, }, @@ -180210,17 +182742,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(19), }, End: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(20), }, }, @@ -180230,7 +182762,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "i", }, @@ -180238,11 +182770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(15), }, End: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(16), }, }, @@ -180251,7 +182783,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "i", }, @@ -180259,11 +182791,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(15), }, End: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(20), }, }, @@ -180273,7 +182805,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "i", @@ -180283,11 +182815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(15), }, End: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(39), }, }, @@ -180312,17 +182844,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1362), + Line: int(1382), Column: int(11), }, End: ast.Location{ - Line: int(1362), + Line: int(1382), Column: int(14), }, }, @@ -180350,7 +182882,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "base64_table", }, @@ -180358,11 +182890,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(11), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(23), }, }, @@ -180373,17 +182905,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(45), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(46), }, }, @@ -180394,17 +182926,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "15", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(38), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(40), }, }, @@ -180415,7 +182947,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", }, @@ -180423,11 +182955,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(25), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(28), }, }, @@ -180438,17 +182970,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(33), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(34), }, }, @@ -180458,7 +182990,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "i", }, @@ -180466,11 +182998,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(29), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(30), }, }, @@ -180479,7 +183011,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "i", }, @@ -180487,11 +183019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(29), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(34), }, }, @@ -180503,7 +183035,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180512,11 +183044,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(25), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(35), }, }, @@ -180525,7 +183057,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180534,11 +183066,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(25), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(40), }, }, @@ -180548,7 +183080,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180557,11 +183089,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(24), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(46), }, }, @@ -180573,7 +183105,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -180583,11 +183115,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(11), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(47), }, }, @@ -180614,7 +183146,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "base64_table", }, @@ -180622,11 +183154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(11), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(23), }, }, @@ -180638,17 +183170,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(66), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(67), }, }, @@ -180659,17 +183191,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "240", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(58), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(61), }, }, @@ -180680,7 +183212,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", }, @@ -180688,11 +183220,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(45), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(48), }, }, @@ -180703,17 +183235,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(53), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(54), }, }, @@ -180723,7 +183255,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "i", }, @@ -180731,11 +183263,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(49), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(50), }, }, @@ -180744,7 +183276,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "i", }, @@ -180752,11 +183284,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(49), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(54), }, }, @@ -180768,7 +183300,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180777,11 +183309,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(45), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(55), }, }, @@ -180790,7 +183322,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180799,11 +183331,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(45), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(61), }, }, @@ -180813,7 +183345,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180822,11 +183354,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(44), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(67), }, }, @@ -180838,17 +183370,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(40), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(41), }, }, @@ -180859,17 +183391,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(34), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(35), }, }, @@ -180880,7 +183412,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", }, @@ -180888,11 +183420,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(25), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(28), }, }, @@ -180902,7 +183434,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "i", }, @@ -180910,11 +183442,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(29), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(30), }, }, @@ -180925,7 +183457,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180934,11 +183466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(25), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(31), }, }, @@ -180947,7 +183479,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180956,11 +183488,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(25), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(35), }, }, @@ -180970,7 +183502,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -180979,11 +183511,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(24), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(41), }, }, @@ -180993,7 +183525,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -181002,11 +183534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(24), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(67), }, }, @@ -181018,7 +183550,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -181028,11 +183560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(11), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(68), }, }, @@ -181058,7 +183590,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "base64_table", }, @@ -181066,11 +183598,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(11), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(23), }, }, @@ -181081,17 +183613,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(42), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(43), }, }, @@ -181102,17 +183634,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "252", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(34), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(37), }, }, @@ -181123,7 +183655,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", }, @@ -181131,11 +183663,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(25), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(28), }, }, @@ -181145,7 +183677,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "i", }, @@ -181153,11 +183685,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(29), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(30), }, }, @@ -181168,7 +183700,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -181177,11 +183709,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(25), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(31), }, }, @@ -181190,7 +183722,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -181199,11 +183731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(25), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(37), }, }, @@ -181213,7 +183745,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "i", @@ -181222,11 +183754,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(24), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(43), }, }, @@ -181238,7 +183770,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -181248,11 +183780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(11), }, End: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(44), }, }, @@ -181261,7 +183793,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -181271,11 +183803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(11), }, End: ast.Location{ - Line: int(1359), + Line: int(1379), Column: int(68), }, }, @@ -181285,7 +183817,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -181295,11 +183827,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(11), }, End: ast.Location{ - Line: int(1361), + Line: int(1381), Column: int(47), }, }, @@ -181309,7 +183841,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14159, + Ctx: p14341, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -181319,11 +183851,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1357), + Line: int(1377), Column: int(11), }, End: ast.Location{ - Line: int(1362), + Line: int(1382), Column: int(14), }, }, @@ -181338,11 +183870,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1355), + Line: int(1375), Column: int(15), }, End: ast.Location{ - Line: int(1362), + Line: int(1382), Column: int(14), }, }, @@ -181360,7 +183892,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "aux", }, @@ -181368,11 +183900,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(9), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(12), }, }, @@ -181386,7 +183918,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14245, + Ctx: p14427, FreeVars: ast.Identifiers{ "arr", }, @@ -181394,11 +183926,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(13), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(16), }, }, @@ -181412,17 +183944,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14245, + Ctx: p14427, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(22), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(23), }, }, @@ -181432,7 +183964,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14245, + Ctx: p14427, FreeVars: ast.Identifiers{ "i", }, @@ -181440,11 +183972,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(18), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(19), }, }, @@ -181453,7 +183985,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14245, + Ctx: p14427, FreeVars: ast.Identifiers{ "i", }, @@ -181461,11 +183993,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(18), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(23), }, }, @@ -181480,7 +184012,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14245, + Ctx: p14427, FreeVars: ast.Identifiers{ "str", }, @@ -181488,11 +184020,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(29), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(32), }, }, @@ -181502,7 +184034,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "r", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14245, + Ctx: p14427, FreeVars: ast.Identifiers{ "r", }, @@ -181510,11 +184042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(25), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(26), }, }, @@ -181523,7 +184055,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14245, + Ctx: p14427, FreeVars: ast.Identifiers{ "r", "str", @@ -181532,11 +184064,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(25), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(32), }, }, @@ -181552,7 +184084,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -181564,11 +184096,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(9), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(33), }, }, @@ -181585,7 +184117,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -181597,11 +184129,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1355), + Line: int(1375), Column: int(9), }, End: ast.Location{ - Line: int(1363), + Line: int(1383), Column: int(33), }, }, @@ -181632,7 +184164,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "base64_table", }, @@ -181640,11 +184172,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(11), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(23), }, }, @@ -181655,17 +184187,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "63", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(38), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(40), }, }, @@ -181676,7 +184208,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", }, @@ -181684,11 +184216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(25), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(28), }, }, @@ -181699,17 +184231,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(33), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(34), }, }, @@ -181719,7 +184251,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -181727,11 +184259,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(29), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(30), }, }, @@ -181740,7 +184272,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -181748,11 +184280,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(29), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(34), }, }, @@ -181764,7 +184296,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -181773,11 +184305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(25), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(35), }, }, @@ -181786,7 +184318,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -181795,11 +184327,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(25), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(40), }, }, @@ -181811,7 +184343,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -181821,11 +184353,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(11), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(42), }, }, @@ -181852,7 +184384,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "base64_table", }, @@ -181860,11 +184392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(11), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(23), }, }, @@ -181876,17 +184408,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "6", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(71), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(72), }, }, @@ -181897,17 +184429,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "192", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(63), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(66), }, }, @@ -181918,7 +184450,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", }, @@ -181926,11 +184458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(50), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(53), }, }, @@ -181941,17 +184473,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(58), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(59), }, }, @@ -181961,7 +184493,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -181969,11 +184501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(54), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(55), }, }, @@ -181982,7 +184514,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -181990,11 +184522,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(54), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(59), }, }, @@ -182006,7 +184538,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182015,11 +184547,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(50), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(60), }, }, @@ -182028,7 +184560,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182037,11 +184569,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(50), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(66), }, }, @@ -182051,7 +184583,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182060,11 +184592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(49), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(72), }, }, @@ -182076,17 +184608,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(45), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(46), }, }, @@ -182097,17 +184629,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "15", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(38), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(40), }, }, @@ -182118,7 +184650,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", }, @@ -182126,11 +184658,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(25), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(28), }, }, @@ -182141,17 +184673,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(33), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(34), }, }, @@ -182161,7 +184693,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -182169,11 +184701,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(29), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(30), }, }, @@ -182182,7 +184714,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -182190,11 +184722,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(29), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(34), }, }, @@ -182206,7 +184738,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182215,11 +184747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(25), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(35), }, }, @@ -182228,7 +184760,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182237,11 +184769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(25), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(40), }, }, @@ -182251,7 +184783,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182260,11 +184792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(24), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(46), }, }, @@ -182274,7 +184806,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182283,11 +184815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(24), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(72), }, }, @@ -182299,7 +184831,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -182309,11 +184841,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(11), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(73), }, }, @@ -182340,7 +184872,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "base64_table", }, @@ -182348,11 +184880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(11), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(23), }, }, @@ -182364,17 +184896,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(66), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(67), }, }, @@ -182385,17 +184917,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "240", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(58), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(61), }, }, @@ -182406,7 +184938,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", }, @@ -182414,11 +184946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(45), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(48), }, }, @@ -182429,17 +184961,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(53), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(54), }, }, @@ -182449,7 +184981,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -182457,11 +184989,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(49), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(50), }, }, @@ -182470,7 +185002,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -182478,11 +185010,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(49), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(54), }, }, @@ -182494,7 +185026,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182503,11 +185035,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(45), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(55), }, }, @@ -182516,7 +185048,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182525,11 +185057,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(45), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(61), }, }, @@ -182539,7 +185071,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182548,11 +185080,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(44), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(67), }, }, @@ -182564,17 +185096,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(40), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(41), }, }, @@ -182585,17 +185117,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(34), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(35), }, }, @@ -182606,7 +185138,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", }, @@ -182614,11 +185146,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(25), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(28), }, }, @@ -182628,7 +185160,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -182636,11 +185168,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(29), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(30), }, }, @@ -182651,7 +185183,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182660,11 +185192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(25), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(31), }, }, @@ -182673,7 +185205,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182682,11 +185214,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(25), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(35), }, }, @@ -182696,7 +185228,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182705,11 +185237,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(24), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(41), }, }, @@ -182719,7 +185251,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182728,11 +185260,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(24), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(67), }, }, @@ -182744,7 +185276,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -182754,11 +185286,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(11), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(68), }, }, @@ -182784,7 +185316,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "base64_table", }, @@ -182792,11 +185324,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(11), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(23), }, }, @@ -182807,17 +185339,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(42), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(43), }, }, @@ -182828,17 +185360,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "252", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(34), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(37), }, }, @@ -182849,7 +185381,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", }, @@ -182857,11 +185389,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(25), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(28), }, }, @@ -182871,7 +185403,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "i", }, @@ -182879,11 +185411,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(29), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(30), }, }, @@ -182894,7 +185426,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182903,11 +185435,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(25), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(31), }, }, @@ -182916,7 +185448,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182925,11 +185457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(25), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(37), }, }, @@ -182939,7 +185471,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "i", @@ -182948,11 +185480,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(24), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(43), }, }, @@ -182964,7 +185496,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -182974,11 +185506,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(11), }, End: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(44), }, }, @@ -182987,7 +185519,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -182997,11 +185529,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(11), }, End: ast.Location{ - Line: int(1369), + Line: int(1389), Column: int(68), }, }, @@ -183011,7 +185543,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -183021,11 +185553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(11), }, End: ast.Location{ - Line: int(1371), + Line: int(1391), Column: int(73), }, }, @@ -183035,7 +185567,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14268, + Ctx: p14450, FreeVars: ast.Identifiers{ "arr", "base64_table", @@ -183045,11 +185577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1367), + Line: int(1387), Column: int(11), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(42), }, }, @@ -183064,11 +185596,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1365), + Line: int(1385), Column: int(15), }, End: ast.Location{ - Line: int(1373), + Line: int(1393), Column: int(42), }, }, @@ -183086,7 +185618,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "aux", }, @@ -183094,11 +185626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(9), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(12), }, }, @@ -183112,7 +185644,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14385, + Ctx: p14567, FreeVars: ast.Identifiers{ "arr", }, @@ -183120,11 +185652,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(13), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(16), }, }, @@ -183138,17 +185670,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14385, + Ctx: p14567, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(22), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(23), }, }, @@ -183158,7 +185690,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14385, + Ctx: p14567, FreeVars: ast.Identifiers{ "i", }, @@ -183166,11 +185698,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(18), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(19), }, }, @@ -183179,7 +185711,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14385, + Ctx: p14567, FreeVars: ast.Identifiers{ "i", }, @@ -183187,11 +185719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(18), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(23), }, }, @@ -183206,7 +185738,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14385, + Ctx: p14567, FreeVars: ast.Identifiers{ "str", }, @@ -183214,11 +185746,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(29), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(32), }, }, @@ -183228,7 +185760,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "r", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14385, + Ctx: p14567, FreeVars: ast.Identifiers{ "r", }, @@ -183236,11 +185768,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(25), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(26), }, }, @@ -183249,7 +185781,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14385, + Ctx: p14567, FreeVars: ast.Identifiers{ "r", "str", @@ -183258,11 +185790,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(25), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(32), }, }, @@ -183278,7 +185810,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -183290,11 +185822,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(9), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(33), }, }, @@ -183311,7 +185843,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -183323,11 +185855,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1365), + Line: int(1385), Column: int(9), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(33), }, }, @@ -183344,7 +185876,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -183357,11 +185889,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1354), + Line: int(1374), Column: int(12), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(33), }, }, @@ -183378,7 +185910,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -183391,11 +185923,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1346), + Line: int(1366), Column: int(12), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(33), }, }, @@ -183419,7 +185951,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p14036, + Ctx: p14218, FreeVars: ast.Identifiers{ "arr", "aux", @@ -183432,11 +185964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1344), + Line: int(1364), Column: int(7), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(33), }, }, @@ -183453,11 +185985,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1343), + Line: int(1363), Column: int(15), }, End: ast.Location{ - Line: int(1343), + Line: int(1363), Column: int(18), }, }, @@ -183472,11 +186004,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1343), + Line: int(1363), Column: int(20), }, End: ast.Location{ - Line: int(1343), + Line: int(1363), Column: int(21), }, }, @@ -183491,11 +186023,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1343), + Line: int(1363), Column: int(23), }, End: ast.Location{ - Line: int(1343), + Line: int(1363), Column: int(24), }, }, @@ -183503,7 +186035,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p14409, + Ctx: p14591, FreeVars: ast.Identifiers{ "aux", "base64_table", @@ -183513,11 +186045,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1343), + Line: int(1363), Column: int(11), }, End: ast.Location{ - Line: int(1374), + Line: int(1394), Column: int(33), }, }, @@ -183560,11 +186092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(20), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(23), }, }, @@ -183598,7 +186130,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14418, + Ctx: p14600, FreeVars: ast.Identifiers{ "std", }, @@ -183606,11 +186138,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(20), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(27), }, }, @@ -183645,7 +186177,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -183705,17 +186237,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "256", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14433, + Ctx: p14615, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(33), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(36), }, }, @@ -183725,7 +186257,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14433, + Ctx: p14615, FreeVars: ast.Identifiers{ "a", }, @@ -183733,11 +186265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(29), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(30), }, }, @@ -183746,7 +186278,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14433, + Ctx: p14615, FreeVars: ast.Identifiers{ "a", }, @@ -183754,11 +186286,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(29), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(36), }, }, @@ -183837,7 +186369,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bytes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14440, + Ctx: p14622, FreeVars: ast.Identifiers{ "bytes", }, @@ -183845,11 +186377,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(46), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(51), }, }, @@ -183873,11 +186405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(28), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(52), }, }, @@ -183894,7 +186426,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14418, + Ctx: p14600, FreeVars: ast.Identifiers{ "$std", "bytes", @@ -183904,11 +186436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(20), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(53), }, }, @@ -183924,11 +186456,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(11), }, End: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(53), }, }, @@ -183940,7 +186472,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "sanity", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{ "sanity", }, @@ -183948,11 +186480,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1377), + Line: int(1397), Column: int(9), }, End: ast.Location{ - Line: int(1377), + Line: int(1397), Column: int(15), }, }, @@ -183960,7 +186492,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{ "sanity", }, @@ -183968,11 +186500,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1377), + Line: int(1397), Column: int(8), }, End: ast.Location{ - Line: int(1377), + Line: int(1397), Column: int(15), }, }, @@ -183986,17 +186518,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1378), + Line: int(1398), Column: int(13), }, End: ast.Location{ - Line: int(1378), + Line: int(1398), Column: int(71), }, }, @@ -184012,17 +186544,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1378), + Line: int(1398), Column: int(7), }, End: ast.Location{ - Line: int(1378), + Line: int(1398), Column: int(71), }, }, @@ -184040,7 +186572,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{ "aux", }, @@ -184048,11 +186580,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(7), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(10), }, }, @@ -184066,7 +186598,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bytes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14459, + Ctx: p14641, FreeVars: ast.Identifiers{ "bytes", }, @@ -184074,11 +186606,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(11), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(16), }, }, @@ -184091,17 +186623,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14459, + Ctx: p14641, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(18), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(19), }, }, @@ -184116,17 +186648,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14459, + Ctx: p14641, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(21), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(23), }, }, @@ -184142,7 +186674,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{ "aux", "bytes", @@ -184151,11 +186683,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(7), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(24), }, }, @@ -184181,7 +186713,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{ "aux", "bytes", @@ -184191,11 +186723,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1377), + Line: int(1397), Column: int(5), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(24), }, }, @@ -184210,7 +186742,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{ "$std", "aux", @@ -184221,11 +186753,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1376), + Line: int(1396), Column: int(5), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(24), }, }, @@ -184240,7 +186772,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{ "$std", "base64_table", @@ -184251,11 +186783,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1343), + Line: int(1363), Column: int(5), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(24), }, }, @@ -184270,7 +186802,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p14447, + Ctx: p14629, FreeVars: ast.Identifiers{ "$std", "base64_table", @@ -184281,11 +186813,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1337), + Line: int(1357), Column: int(5), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(24), }, }, @@ -184302,11 +186834,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1336), + Line: int(1356), Column: int(10), }, End: ast.Location{ - Line: int(1336), + Line: int(1356), Column: int(15), }, }, @@ -184339,11 +186871,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1336), + Line: int(1356), Column: int(3), }, End: ast.Location{ - Line: int(1380), + Line: int(1400), Column: int(24), }, }, @@ -184383,17 +186915,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(31), }, End: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(32), }, }, @@ -184487,11 +187019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(8), }, End: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(11), }, }, @@ -184525,7 +187057,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "std", }, @@ -184533,11 +187065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(8), }, End: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(18), }, }, @@ -184551,7 +187083,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14496, + Ctx: p14678, FreeVars: ast.Identifiers{ "str", }, @@ -184559,11 +187091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(19), }, End: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(22), }, }, @@ -184578,7 +187110,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "std", "str", @@ -184587,11 +187119,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(8), }, End: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(23), }, }, @@ -184606,17 +187138,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(26), }, End: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(27), }, }, @@ -184641,11 +187173,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(8), }, End: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(27), }, }, @@ -184656,7 +187188,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "$std", "std", @@ -184666,11 +187198,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(8), }, End: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(32), }, }, @@ -184758,17 +187290,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1385), + Line: int(1405), Column: int(13), }, End: ast.Location{ - Line: int(1385), + Line: int(1405), Column: int(47), }, }, @@ -184782,7 +187314,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "str", }, @@ -184790,11 +187322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1385), + Line: int(1405), Column: int(50), }, End: ast.Location{ - Line: int(1385), + Line: int(1405), Column: int(53), }, }, @@ -184818,11 +187350,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1385), + Line: int(1405), Column: int(13), }, End: ast.Location{ - Line: int(1385), + Line: int(1405), Column: int(53), }, }, @@ -184839,7 +187371,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "$std", "str", @@ -184848,11 +187380,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1385), + Line: int(1405), Column: int(7), }, End: ast.Location{ - Line: int(1385), + Line: int(1405), Column: int(53), }, }, @@ -184881,11 +187413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(17), }, End: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(20), }, }, @@ -184919,7 +187451,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "std", }, @@ -184927,11 +187459,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(17), }, End: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(27), }, }, @@ -184945,7 +187477,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14530, + Ctx: p14712, FreeVars: ast.Identifiers{ "str", }, @@ -184953,11 +187485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(28), }, End: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(31), }, }, @@ -184972,7 +187504,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "std", "str", @@ -184981,11 +187513,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(17), }, End: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(32), }, }, @@ -184997,7 +187529,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "i", }, @@ -185005,11 +187537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(12), }, End: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(13), }, }, @@ -185018,7 +187550,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "i", "std", @@ -185028,11 +187560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(12), }, End: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(32), }, }, @@ -185050,7 +187582,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "r", }, @@ -185058,11 +187590,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1389), + Line: int(1409), Column: int(11), }, End: ast.Location{ - Line: int(1389), + Line: int(1409), Column: int(12), }, }, @@ -185081,17 +187613,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(76), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(77), }, }, @@ -185102,7 +187634,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base64_inv", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "base64_inv", }, @@ -185110,11 +187642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(50), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(60), }, }, @@ -185125,7 +187657,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "str", }, @@ -185133,11 +187665,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(61), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(64), }, }, @@ -185148,17 +187680,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(69), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(70), }, }, @@ -185168,7 +187700,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "i", }, @@ -185176,11 +187708,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(65), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(66), }, }, @@ -185189,7 +187721,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "i", }, @@ -185197,11 +187729,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(65), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(70), }, }, @@ -185213,7 +187745,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "i", "str", @@ -185222,11 +187754,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(61), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(71), }, }, @@ -185237,7 +187769,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -185247,11 +187779,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(50), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(72), }, }, @@ -185260,7 +187792,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -185270,11 +187802,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(50), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(77), }, }, @@ -185286,17 +187818,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(45), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(46), }, }, @@ -185307,7 +187839,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base64_inv", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "base64_inv", }, @@ -185315,11 +187847,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(23), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(33), }, }, @@ -185330,7 +187862,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "str", }, @@ -185338,11 +187870,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(34), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(37), }, }, @@ -185352,7 +187884,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "i", }, @@ -185360,11 +187892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(38), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(39), }, }, @@ -185375,7 +187907,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "i", "str", @@ -185384,11 +187916,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(34), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(40), }, }, @@ -185399,7 +187931,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -185409,11 +187941,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(23), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(41), }, }, @@ -185422,7 +187954,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -185432,11 +187964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(23), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(46), }, }, @@ -185446,7 +187978,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14546, + Ctx: p14728, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -185456,11 +187988,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(23), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(78), }, }, @@ -185473,7 +188005,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14575, + Ctx: p14757, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -185483,11 +188015,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(22), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(79), }, }, @@ -185502,11 +188034,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(17), }, End: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(79), }, }, @@ -185524,17 +188056,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(30), }, End: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(33), }, }, @@ -185546,7 +188078,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{ "str", }, @@ -185554,11 +188086,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(16), }, End: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(19), }, }, @@ -185569,17 +188101,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(24), }, End: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(25), }, }, @@ -185589,7 +188121,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{ "i", }, @@ -185597,11 +188129,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(20), }, End: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(21), }, }, @@ -185610,7 +188142,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{ "i", }, @@ -185618,11 +188150,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(20), }, End: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(25), }, }, @@ -185634,7 +188166,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{ "i", "str", @@ -185643,11 +188175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(16), }, End: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(26), }, }, @@ -185656,7 +188188,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{ "i", "str", @@ -185665,11 +188197,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(16), }, End: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(33), }, }, @@ -185681,17 +188213,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(39), }, End: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(41), }, }, @@ -185707,17 +188239,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(83), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(84), }, }, @@ -185728,7 +188260,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base64_inv", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "base64_inv", }, @@ -185736,11 +188268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(57), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(67), }, }, @@ -185751,7 +188283,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "str", }, @@ -185759,11 +188291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(68), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(71), }, }, @@ -185774,17 +188306,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(76), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(77), }, }, @@ -185794,7 +188326,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "i", }, @@ -185802,11 +188334,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(72), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(73), }, }, @@ -185815,7 +188347,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "i", }, @@ -185823,11 +188355,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(72), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(77), }, }, @@ -185839,7 +188371,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "i", "str", @@ -185848,11 +188380,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(68), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(78), }, }, @@ -185863,7 +188395,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -185873,11 +188405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(57), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(79), }, }, @@ -185886,7 +188418,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -185896,11 +188428,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(57), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(84), }, }, @@ -185912,17 +188444,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(52), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(53), }, }, @@ -185933,17 +188465,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "15", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(45), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(47), }, }, @@ -185954,7 +188486,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base64_inv", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "base64_inv", }, @@ -185962,11 +188494,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(20), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(30), }, }, @@ -185977,7 +188509,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "str", }, @@ -185985,11 +188517,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(31), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(34), }, }, @@ -186000,17 +188532,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(39), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(40), }, }, @@ -186020,7 +188552,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "i", }, @@ -186028,11 +188560,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(35), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(36), }, }, @@ -186041,7 +188573,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "i", }, @@ -186049,11 +188581,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(35), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(40), }, }, @@ -186065,7 +188597,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "i", "str", @@ -186074,11 +188606,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(31), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(41), }, }, @@ -186089,7 +188621,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186099,11 +188631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(20), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(42), }, }, @@ -186112,7 +188644,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186122,11 +188654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(20), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(47), }, }, @@ -186136,7 +188668,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186146,11 +188678,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(19), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(53), }, }, @@ -186160,7 +188692,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14599, + Ctx: p14781, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186170,11 +188702,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(19), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(85), }, }, @@ -186187,7 +188719,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186197,11 +188729,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(18), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(86), }, }, @@ -186226,7 +188758,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p14582, + Ctx: p14764, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186236,11 +188768,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1395), + Line: int(1415), Column: int(13), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(86), }, }, @@ -186254,11 +188786,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1394), + Line: int(1414), Column: int(17), }, End: ast.Location{ - Line: int(1396), + Line: int(1416), Column: int(86), }, }, @@ -186276,17 +188808,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(30), }, End: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(33), }, }, @@ -186298,7 +188830,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{ "str", }, @@ -186306,11 +188838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(16), }, End: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(19), }, }, @@ -186321,17 +188853,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(24), }, End: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(25), }, }, @@ -186341,7 +188873,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{ "i", }, @@ -186349,11 +188881,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(20), }, End: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(21), }, }, @@ -186362,7 +188894,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{ "i", }, @@ -186370,11 +188902,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(20), }, End: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(25), }, }, @@ -186386,7 +188918,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{ "i", "str", @@ -186395,11 +188927,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(16), }, End: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(26), }, }, @@ -186408,7 +188940,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{ "i", "str", @@ -186417,11 +188949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(16), }, End: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(33), }, }, @@ -186433,17 +188965,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(39), }, End: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(41), }, }, @@ -186459,7 +188991,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base64_inv", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "base64_inv", }, @@ -186467,11 +188999,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(55), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(65), }, }, @@ -186482,7 +189014,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "str", }, @@ -186490,11 +189022,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(66), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(69), }, }, @@ -186505,17 +189037,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(74), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(75), }, }, @@ -186525,7 +189057,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "i", }, @@ -186533,11 +189065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(70), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(71), }, }, @@ -186546,7 +189078,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "i", }, @@ -186554,11 +189086,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(70), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(75), }, }, @@ -186570,7 +189102,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "i", "str", @@ -186579,11 +189111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(66), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(76), }, }, @@ -186594,7 +189126,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186604,11 +189136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(55), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(77), }, }, @@ -186619,17 +189151,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "6", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(51), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(52), }, }, @@ -186640,17 +189172,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(45), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(46), }, }, @@ -186661,7 +189193,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base64_inv", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "base64_inv", }, @@ -186669,11 +189201,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(20), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(30), }, }, @@ -186684,7 +189216,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "str", }, @@ -186692,11 +189224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(31), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(34), }, }, @@ -186707,17 +189239,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(39), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(40), }, }, @@ -186727,7 +189259,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "i", }, @@ -186735,11 +189267,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(35), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(36), }, }, @@ -186748,7 +189280,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "i", }, @@ -186756,11 +189288,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(35), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(40), }, }, @@ -186772,7 +189304,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "i", "str", @@ -186781,11 +189313,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(31), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(41), }, }, @@ -186796,7 +189328,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186806,11 +189338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(20), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(42), }, }, @@ -186819,7 +189351,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186829,11 +189361,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(20), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(46), }, }, @@ -186843,7 +189375,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186853,11 +189385,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(19), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(52), }, }, @@ -186867,7 +189399,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14660, + Ctx: p14842, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186877,11 +189409,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(19), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(77), }, }, @@ -186894,7 +189426,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186904,11 +189436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(18), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(78), }, }, @@ -186933,7 +189465,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p14643, + Ctx: p14825, FreeVars: ast.Identifiers{ "base64_inv", "i", @@ -186943,11 +189475,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1399), + Line: int(1419), Column: int(13), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(78), }, }, @@ -186961,11 +189493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1398), + Line: int(1418), Column: int(17), }, End: ast.Location{ - Line: int(1400), + Line: int(1420), Column: int(78), }, }, @@ -186983,7 +189515,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "aux", }, @@ -186991,11 +189523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(11), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(14), }, }, @@ -187009,7 +189541,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "str", }, @@ -187017,11 +189549,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(15), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(18), }, }, @@ -187035,17 +189567,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "4", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(24), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(25), }, }, @@ -187055,7 +189587,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "i", }, @@ -187063,11 +189595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(20), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(21), }, }, @@ -187076,7 +189608,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "i", }, @@ -187084,11 +189616,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(20), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(25), }, }, @@ -187103,7 +189635,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n3", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "n3", }, @@ -187111,11 +189643,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(41), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(43), }, }, @@ -187126,7 +189658,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "n2", }, @@ -187134,11 +189666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(36), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(38), }, }, @@ -187149,7 +189681,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "n1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "n1", }, @@ -187157,11 +189689,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(31), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(33), }, }, @@ -187171,7 +189703,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "r", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "r", }, @@ -187179,11 +189711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(27), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(28), }, }, @@ -187192,7 +189724,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "n1", "r", @@ -187201,11 +189733,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(27), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(33), }, }, @@ -187215,7 +189747,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "n1", "n2", @@ -187225,11 +189757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(27), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(38), }, }, @@ -187239,7 +189771,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14702, + Ctx: p14884, FreeVars: ast.Identifiers{ "n1", "n2", @@ -187250,11 +189782,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(27), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(43), }, }, @@ -187270,7 +189802,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "aux", "i", @@ -187284,11 +189816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(11), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(44), }, }, @@ -187313,7 +189845,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "aux", "base64_inv", @@ -187327,11 +189859,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1398), + Line: int(1418), Column: int(11), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(44), }, }, @@ -187354,7 +189886,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "aux", "base64_inv", @@ -187367,11 +189899,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1394), + Line: int(1414), Column: int(11), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(44), }, }, @@ -187394,7 +189926,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "aux", "base64_inv", @@ -187406,11 +189938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1392), + Line: int(1412), Column: int(11), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(44), }, }, @@ -187434,7 +189966,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14526, + Ctx: p14708, FreeVars: ast.Identifiers{ "aux", "base64_inv", @@ -187447,11 +189979,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1388), + Line: int(1408), Column: int(9), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(44), }, }, @@ -187468,11 +190000,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1387), + Line: int(1407), Column: int(17), }, End: ast.Location{ - Line: int(1387), + Line: int(1407), Column: int(20), }, }, @@ -187487,11 +190019,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1387), + Line: int(1407), Column: int(22), }, End: ast.Location{ - Line: int(1387), + Line: int(1407), Column: int(23), }, }, @@ -187506,11 +190038,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1387), + Line: int(1407), Column: int(25), }, End: ast.Location{ - Line: int(1387), + Line: int(1407), Column: int(26), }, }, @@ -187518,7 +190050,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p14737, + Ctx: p14919, FreeVars: ast.Identifiers{ "aux", "base64_inv", @@ -187528,11 +190060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1387), + Line: int(1407), Column: int(13), }, End: ast.Location{ - Line: int(1401), + Line: int(1421), Column: int(44), }, }, @@ -187569,7 +190101,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "aux", }, @@ -187577,11 +190109,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(7), }, End: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(10), }, }, @@ -187595,7 +190127,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14745, + Ctx: p14927, FreeVars: ast.Identifiers{ "str", }, @@ -187603,11 +190135,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(11), }, End: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(14), }, }, @@ -187620,17 +190152,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14745, + Ctx: p14927, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(16), }, End: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(17), }, }, @@ -187644,17 +190176,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14745, + Ctx: p14927, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(19), }, End: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(21), }, }, @@ -187670,7 +190202,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "aux", "str", @@ -187679,11 +190211,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(7), }, End: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(22), }, }, @@ -187700,7 +190232,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "base64_inv", "std", @@ -187710,11 +190242,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1387), + Line: int(1407), Column: int(7), }, End: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(22), }, }, @@ -187738,7 +190270,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p14480, + Ctx: p14662, FreeVars: ast.Identifiers{ "$std", "base64_inv", @@ -187749,11 +190281,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1384), + Line: int(1404), Column: int(5), }, End: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(22), }, }, @@ -187770,11 +190302,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1383), + Line: int(1403), Column: int(21), }, End: ast.Location{ - Line: int(1383), + Line: int(1403), Column: int(24), }, }, @@ -187807,11 +190339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1383), + Line: int(1403), Column: int(3), }, End: ast.Location{ - Line: int(1402), + Line: int(1422), Column: int(22), }, }, @@ -187863,11 +190395,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(19), }, End: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(22), }, }, @@ -187901,7 +190433,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14766, + Ctx: p14948, FreeVars: ast.Identifiers{ "std", }, @@ -187909,11 +190441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(19), }, End: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(40), }, }, @@ -187927,7 +190459,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14770, + Ctx: p14952, FreeVars: ast.Identifiers{ "str", }, @@ -187935,11 +190467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(41), }, End: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(44), }, }, @@ -187954,7 +190486,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14766, + Ctx: p14948, FreeVars: ast.Identifiers{ "std", "str", @@ -187963,11 +190495,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(19), }, End: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(45), }, }, @@ -187983,11 +190515,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(11), }, End: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(45), }, }, @@ -188014,11 +190546,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(5), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(8), }, }, @@ -188052,7 +190584,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14779, + Ctx: p14961, FreeVars: ast.Identifiers{ "std", }, @@ -188060,11 +190592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(5), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(13), }, }, @@ -188080,17 +190612,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14783, + Ctx: p14965, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(14), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(16), }, }, @@ -188114,11 +190646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(18), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(21), }, }, @@ -188152,7 +190684,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14783, + Ctx: p14965, FreeVars: ast.Identifiers{ "std", }, @@ -188160,11 +190692,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(18), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(25), }, }, @@ -188187,11 +190719,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(26), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(29), }, }, @@ -188225,7 +190757,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14795, + Ctx: p14977, FreeVars: ast.Identifiers{ "std", }, @@ -188233,11 +190765,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(26), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(34), }, }, @@ -188250,7 +190782,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bytes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14795, + Ctx: p14977, FreeVars: ast.Identifiers{ "bytes", }, @@ -188258,11 +190790,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(36), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(41), }, }, @@ -188277,7 +190809,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14783, + Ctx: p14965, FreeVars: ast.Identifiers{ "bytes", "std", @@ -188286,11 +190818,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(18), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(42), }, }, @@ -188307,7 +190839,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14779, + Ctx: p14961, FreeVars: ast.Identifiers{ "bytes", "std", @@ -188316,11 +190848,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(5), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(43), }, }, @@ -188337,7 +190869,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p14779, + Ctx: p14961, FreeVars: ast.Identifiers{ "std", "str", @@ -188346,11 +190878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1405), + Line: int(1425), Column: int(5), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(43), }, }, @@ -188367,11 +190899,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1404), + Line: int(1424), Column: int(16), }, End: ast.Location{ - Line: int(1404), + Line: int(1424), Column: int(19), }, }, @@ -188402,11 +190934,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1404), + Line: int(1424), Column: int(3), }, End: ast.Location{ - Line: int(1406), + Line: int(1426), Column: int(43), }, }, @@ -188458,11 +190990,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(15), }, End: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(18), }, }, @@ -188496,7 +191028,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14814, + Ctx: p14996, FreeVars: ast.Identifiers{ "std", }, @@ -188504,11 +191036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(15), }, End: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(25), }, }, @@ -188522,7 +191054,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14818, + Ctx: p15000, FreeVars: ast.Identifiers{ "arr", }, @@ -188530,11 +191062,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(26), }, End: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(29), }, }, @@ -188549,7 +191081,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14814, + Ctx: p14996, FreeVars: ast.Identifiers{ "arr", "std", @@ -188558,11 +191090,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(15), }, End: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(30), }, }, @@ -188578,11 +191110,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(11), }, End: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(30), }, }, @@ -188609,11 +191141,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(5), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(8), }, }, @@ -188647,7 +191179,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14827, + Ctx: p15009, FreeVars: ast.Identifiers{ "std", }, @@ -188655,11 +191187,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(5), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(18), }, }, @@ -188673,7 +191205,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "l", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14831, + Ctx: p15013, FreeVars: ast.Identifiers{ "l", }, @@ -188681,11 +191213,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(19), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(20), }, }, @@ -188702,7 +191234,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14836, + Ctx: p15018, FreeVars: ast.Identifiers{ "arr", }, @@ -188710,11 +191242,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(34), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(37), }, }, @@ -188725,17 +191257,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14836, + Ctx: p15018, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(46), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(47), }, }, @@ -188746,7 +191278,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14836, + Ctx: p15018, FreeVars: ast.Identifiers{ "i", }, @@ -188754,11 +191286,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(42), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(43), }, }, @@ -188768,7 +191300,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "l", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14836, + Ctx: p15018, FreeVars: ast.Identifiers{ "l", }, @@ -188776,11 +191308,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(38), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(39), }, }, @@ -188789,7 +191321,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14836, + Ctx: p15018, FreeVars: ast.Identifiers{ "i", "l", @@ -188798,11 +191330,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(38), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(43), }, }, @@ -188812,7 +191344,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14836, + Ctx: p15018, FreeVars: ast.Identifiers{ "i", "l", @@ -188821,11 +191353,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(38), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(47), }, }, @@ -188837,7 +191369,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14836, + Ctx: p15018, FreeVars: ast.Identifiers{ "arr", "i", @@ -188847,11 +191379,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(34), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(48), }, }, @@ -188868,11 +191400,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(31), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(32), }, }, @@ -188880,7 +191412,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14831, + Ctx: p15013, FreeVars: ast.Identifiers{ "arr", "l", @@ -188889,11 +191421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(22), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(48), }, }, @@ -188909,7 +191441,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14827, + Ctx: p15009, FreeVars: ast.Identifiers{ "arr", "l", @@ -188919,11 +191451,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(5), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(49), }, }, @@ -188940,7 +191472,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p14827, + Ctx: p15009, FreeVars: ast.Identifiers{ "arr", "std", @@ -188949,11 +191481,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1409), + Line: int(1429), Column: int(5), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(49), }, }, @@ -188970,11 +191502,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1408), + Line: int(1428), Column: int(11), }, End: ast.Location{ - Line: int(1408), + Line: int(1428), Column: int(14), }, }, @@ -189005,11 +191537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1408), + Line: int(1428), Column: int(3), }, End: ast.Location{ - Line: int(1410), + Line: int(1430), Column: int(49), }, }, @@ -189068,11 +191600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(17), }, End: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(20), }, }, @@ -189106,7 +191638,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14867, + Ctx: p15049, FreeVars: ast.Identifiers{ "std", }, @@ -189114,11 +191646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(17), }, End: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(27), }, }, @@ -189132,7 +191664,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14871, + Ctx: p15053, FreeVars: ast.Identifiers{ "arr", }, @@ -189140,11 +191672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(28), }, End: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(31), }, }, @@ -189159,7 +191691,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14867, + Ctx: p15049, FreeVars: ast.Identifiers{ "arr", "std", @@ -189168,11 +191700,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(17), }, End: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(32), }, }, @@ -189188,11 +191720,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(13), }, End: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(32), }, }, @@ -189204,17 +191736,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(29), }, End: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(30), }, }, @@ -189234,11 +191766,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(10), }, End: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(13), }, }, @@ -189272,7 +191804,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "std", }, @@ -189280,11 +191812,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(10), }, End: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(20), }, }, @@ -189298,7 +191830,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14886, + Ctx: p15068, FreeVars: ast.Identifiers{ "arr", }, @@ -189306,11 +191838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(21), }, End: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(24), }, }, @@ -189325,7 +191857,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "std", @@ -189334,11 +191866,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(10), }, End: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(25), }, }, @@ -189349,7 +191881,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "std", @@ -189358,11 +191890,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(10), }, End: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(30), }, }, @@ -189380,7 +191912,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", }, @@ -189388,11 +191920,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1417), + Line: int(1437), Column: int(9), }, End: ast.Location{ - Line: int(1417), + Line: int(1437), Column: int(12), }, }, @@ -189406,17 +191938,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14896, + Ctx: p15078, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1419), + Line: int(1439), Column: int(21), }, End: ast.Location{ - Line: int(1419), + Line: int(1439), Column: int(22), }, }, @@ -189430,11 +191962,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1419), + Line: int(1439), Column: int(15), }, End: ast.Location{ - Line: int(1419), + Line: int(1439), Column: int(22), }, }, @@ -189449,7 +191981,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14901, + Ctx: p15083, FreeVars: ast.Identifiers{ "keyF", }, @@ -189457,11 +191989,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(23), }, End: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(27), }, }, @@ -189476,7 +192008,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14906, + Ctx: p15088, FreeVars: ast.Identifiers{ "arr", }, @@ -189484,11 +192016,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(28), }, End: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(31), }, }, @@ -189498,7 +192030,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pos", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14906, + Ctx: p15088, FreeVars: ast.Identifiers{ "pos", }, @@ -189506,11 +192038,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(32), }, End: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(35), }, }, @@ -189521,7 +192053,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14906, + Ctx: p15088, FreeVars: ast.Identifiers{ "arr", "pos", @@ -189530,11 +192062,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(28), }, End: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(36), }, }, @@ -189549,7 +192081,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14901, + Ctx: p15083, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -189559,11 +192091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(23), }, End: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(37), }, }, @@ -189579,11 +192111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(15), }, End: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(37), }, }, @@ -189607,11 +192139,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(22), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(25), }, }, @@ -189645,7 +192177,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14919, + Ctx: p15101, FreeVars: ast.Identifiers{ "std", }, @@ -189653,11 +192185,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(22), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(35), }, }, @@ -189672,17 +192204,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14924, + Ctx: p15106, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(40), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(41), }, }, @@ -189692,7 +192224,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "l", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14924, + Ctx: p15106, FreeVars: ast.Identifiers{ "l", }, @@ -189700,11 +192232,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(36), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(37), }, }, @@ -189713,7 +192245,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14924, + Ctx: p15106, FreeVars: ast.Identifiers{ "l", }, @@ -189721,11 +192253,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(36), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(41), }, }, @@ -189744,7 +192276,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pos", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "pos", }, @@ -189752,11 +192284,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(62), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(65), }, }, @@ -189766,7 +192298,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "i", }, @@ -189774,11 +192306,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(58), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(59), }, }, @@ -189787,7 +192319,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "i", "pos", @@ -189796,11 +192328,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(58), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(65), }, }, @@ -189812,7 +192344,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "arr", }, @@ -189820,11 +192352,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(71), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(74), }, }, @@ -189834,7 +192366,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "i", }, @@ -189842,11 +192374,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(75), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(76), }, }, @@ -189857,7 +192389,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "arr", "i", @@ -189866,11 +192398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(71), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(77), }, }, @@ -189881,7 +192413,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "arr", }, @@ -189889,11 +192421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(83), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(86), }, }, @@ -189904,17 +192436,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(91), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(92), }, }, @@ -189924,7 +192456,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "i", }, @@ -189932,11 +192464,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(87), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(88), }, }, @@ -189945,7 +192477,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "i", }, @@ -189953,11 +192485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(87), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(92), }, }, @@ -189969,7 +192501,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "arr", "i", @@ -189978,11 +192510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(83), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(93), }, }, @@ -189992,7 +192524,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14932, + Ctx: p15114, FreeVars: ast.Identifiers{ "arr", "i", @@ -190002,11 +192534,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(55), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(93), }, }, @@ -190023,11 +192555,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(52), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(53), }, }, @@ -190035,7 +192567,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14924, + Ctx: p15106, FreeVars: ast.Identifiers{ "arr", "pos", @@ -190044,11 +192576,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(43), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(93), }, }, @@ -190064,7 +192596,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14919, + Ctx: p15101, FreeVars: ast.Identifiers{ "arr", "l", @@ -190075,11 +192607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(22), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(94), }, }, @@ -190095,11 +192627,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(15), }, End: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(94), }, }, @@ -190123,11 +192655,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(22), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(25), }, }, @@ -190161,7 +192693,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14963, + Ctx: p15145, FreeVars: ast.Identifiers{ "std", }, @@ -190169,11 +192701,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(22), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(32), }, }, @@ -190191,7 +192723,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pivot", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14969, + Ctx: p15151, FreeVars: ast.Identifiers{ "pivot", }, @@ -190199,11 +192731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(55), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(60), }, }, @@ -190214,7 +192746,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14969, + Ctx: p15151, FreeVars: ast.Identifiers{ "keyF", }, @@ -190222,11 +192754,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(45), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(49), }, }, @@ -190240,7 +192772,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14976, + Ctx: p15158, FreeVars: ast.Identifiers{ "x", }, @@ -190248,11 +192780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(50), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(51), }, }, @@ -190267,7 +192799,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14969, + Ctx: p15151, FreeVars: ast.Identifiers{ "keyF", "x", @@ -190276,11 +192808,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(45), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(52), }, }, @@ -190291,7 +192823,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14969, + Ctx: p15151, FreeVars: ast.Identifiers{ "keyF", "pivot", @@ -190301,11 +192833,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(45), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(60), }, }, @@ -190323,11 +192855,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(42), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(43), }, }, @@ -190335,7 +192867,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14981, + Ctx: p15163, FreeVars: ast.Identifiers{ "keyF", "pivot", @@ -190344,11 +192876,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(33), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(60), }, }, @@ -190362,7 +192894,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "rest", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14981, + Ctx: p15163, FreeVars: ast.Identifiers{ "rest", }, @@ -190370,11 +192902,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(62), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(66), }, }, @@ -190389,7 +192921,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14963, + Ctx: p15145, FreeVars: ast.Identifiers{ "keyF", "pivot", @@ -190400,11 +192932,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(22), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(67), }, }, @@ -190420,11 +192952,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(15), }, End: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(67), }, }, @@ -190448,11 +192980,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(23), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(26), }, }, @@ -190486,7 +193018,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14993, + Ctx: p15175, FreeVars: ast.Identifiers{ "std", }, @@ -190494,11 +193026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(23), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(33), }, }, @@ -190516,7 +193048,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pivot", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14999, + Ctx: p15181, FreeVars: ast.Identifiers{ "pivot", }, @@ -190524,11 +193056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(57), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(62), }, }, @@ -190539,7 +193071,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14999, + Ctx: p15181, FreeVars: ast.Identifiers{ "keyF", }, @@ -190547,11 +193079,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(46), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(50), }, }, @@ -190565,7 +193097,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15006, + Ctx: p15188, FreeVars: ast.Identifiers{ "x", }, @@ -190573,11 +193105,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(51), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(52), }, }, @@ -190592,7 +193124,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14999, + Ctx: p15181, FreeVars: ast.Identifiers{ "keyF", "x", @@ -190601,11 +193133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(46), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(53), }, }, @@ -190616,7 +193148,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14999, + Ctx: p15181, FreeVars: ast.Identifiers{ "keyF", "pivot", @@ -190626,11 +193158,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(46), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(62), }, }, @@ -190648,11 +193180,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(43), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(44), }, }, @@ -190660,7 +193192,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15011, + Ctx: p15193, FreeVars: ast.Identifiers{ "keyF", "pivot", @@ -190669,11 +193201,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(34), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(62), }, }, @@ -190687,7 +193219,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "rest", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15011, + Ctx: p15193, FreeVars: ast.Identifiers{ "rest", }, @@ -190695,11 +193227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(64), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(68), }, }, @@ -190714,7 +193246,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14993, + Ctx: p15175, FreeVars: ast.Identifiers{ "keyF", "pivot", @@ -190725,11 +193257,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(23), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(69), }, }, @@ -190745,11 +193277,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(15), }, End: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(69), }, }, @@ -190761,7 +193293,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "quickSort", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "quickSort", }, @@ -190769,11 +193301,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(46), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(55), }, }, @@ -190787,7 +193319,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "right", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15022, + Ctx: p15204, FreeVars: ast.Identifiers{ "right", }, @@ -190795,11 +193327,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(56), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(61), }, }, @@ -190812,7 +193344,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15022, + Ctx: p15204, FreeVars: ast.Identifiers{ "keyF", }, @@ -190820,11 +193352,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(63), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(67), }, }, @@ -190839,7 +193371,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "keyF", "quickSort", @@ -190849,11 +193381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(46), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -190870,7 +193402,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15032, + Ctx: p15214, FreeVars: ast.Identifiers{ "arr", }, @@ -190878,11 +193410,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(34), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(37), }, }, @@ -190892,7 +193424,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pos", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15032, + Ctx: p15214, FreeVars: ast.Identifiers{ "pos", }, @@ -190900,11 +193432,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(38), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(41), }, }, @@ -190915,7 +193447,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15032, + Ctx: p15214, FreeVars: ast.Identifiers{ "arr", "pos", @@ -190924,11 +193456,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(34), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(42), }, }, @@ -190940,7 +193472,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "pos", @@ -190949,11 +193481,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(33), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(43), }, }, @@ -190972,7 +193504,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "quickSort", }, @@ -190980,11 +193512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(18), }, }, @@ -190998,7 +193530,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "left", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15044, + Ctx: p15226, FreeVars: ast.Identifiers{ "left", }, @@ -191006,11 +193538,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(19), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(23), }, }, @@ -191023,7 +193555,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15044, + Ctx: p15226, FreeVars: ast.Identifiers{ "keyF", }, @@ -191031,11 +193563,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(25), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(29), }, }, @@ -191050,7 +193582,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "keyF", "left", @@ -191060,11 +193592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(30), }, }, @@ -191075,7 +193607,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191087,11 +193619,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(43), }, }, @@ -191101,7 +193633,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191114,11 +193646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191134,7 +193666,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191149,11 +193681,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1423), + Line: int(1443), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191168,7 +193700,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191182,11 +193714,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1422), + Line: int(1442), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191201,7 +193733,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191215,11 +193747,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1421), + Line: int(1441), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191234,7 +193766,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191247,11 +193779,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1420), + Line: int(1440), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191266,7 +193798,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191278,11 +193810,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1419), + Line: int(1439), Column: int(9), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191306,7 +193838,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191318,11 +193850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1416), + Line: int(1436), Column: int(7), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191337,7 +193869,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -191348,11 +193880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1415), + Line: int(1435), Column: int(7), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191369,11 +193901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1414), + Line: int(1434), Column: int(21), }, End: ast.Location{ - Line: int(1414), + Line: int(1434), Column: int(24), }, }, @@ -191387,7 +193919,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "id", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p14877, + Ctx: p15059, FreeVars: ast.Identifiers{ "id", }, @@ -191395,11 +193927,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1414), + Line: int(1434), Column: int(31), }, End: ast.Location{ - Line: int(1414), + Line: int(1434), Column: int(33), }, }, @@ -191409,11 +193941,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1414), + Line: int(1434), Column: int(26), }, End: ast.Location{ - Line: int(1414), + Line: int(1434), Column: int(33), }, }, @@ -191421,7 +193953,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p15069, + Ctx: p15251, FreeVars: ast.Identifiers{ "id", "quickSort", @@ -191431,11 +193963,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1414), + Line: int(1434), Column: int(11), }, End: ast.Location{ - Line: int(1424), + Line: int(1444), Column: int(68), }, }, @@ -191485,11 +194017,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(18), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(21), }, }, @@ -191523,7 +194055,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15081, + Ctx: p15263, FreeVars: ast.Identifiers{ "std", }, @@ -191531,11 +194063,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(18), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(28), }, }, @@ -191549,7 +194081,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15085, + Ctx: p15267, FreeVars: ast.Identifiers{ "a", }, @@ -191557,11 +194089,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(29), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(30), }, }, @@ -191576,7 +194108,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15081, + Ctx: p15263, FreeVars: ast.Identifiers{ "a", "std", @@ -191585,11 +194117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(18), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(31), }, }, @@ -191605,11 +194137,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(13), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(31), }, }, @@ -191630,11 +194162,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(38), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(41), }, }, @@ -191668,7 +194200,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15093, + Ctx: p15275, FreeVars: ast.Identifiers{ "std", }, @@ -191676,11 +194208,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(38), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(48), }, }, @@ -191694,7 +194226,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15097, + Ctx: p15279, FreeVars: ast.Identifiers{ "b", }, @@ -191702,11 +194234,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(49), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(50), }, }, @@ -191721,7 +194253,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15093, + Ctx: p15275, FreeVars: ast.Identifiers{ "b", "std", @@ -191730,11 +194262,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(38), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(51), }, }, @@ -191750,11 +194282,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(33), }, End: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(51), }, }, @@ -191773,7 +194305,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "la", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "la", }, @@ -191781,11 +194313,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1429), + Line: int(1449), Column: int(17), }, End: ast.Location{ - Line: int(1429), + Line: int(1449), Column: int(19), }, }, @@ -191795,7 +194327,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "i", }, @@ -191803,11 +194335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1429), + Line: int(1449), Column: int(12), }, End: ast.Location{ - Line: int(1429), + Line: int(1449), Column: int(13), }, }, @@ -191816,7 +194348,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "i", "la", @@ -191825,11 +194357,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1429), + Line: int(1449), Column: int(12), }, End: ast.Location{ - Line: int(1429), + Line: int(1449), Column: int(19), }, }, @@ -191915,7 +194447,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "b", }, @@ -191923,11 +194455,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(20), }, End: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(21), }, }, @@ -191940,7 +194472,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "j", }, @@ -191948,11 +194480,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(22), }, End: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(23), }, }, @@ -192021,11 +194553,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(20), }, End: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(25), }, }, @@ -192044,7 +194576,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "prefix", }, @@ -192052,11 +194584,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(11), }, End: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(17), }, }, @@ -192065,7 +194597,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "$std", "b", @@ -192076,11 +194608,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(11), }, End: ast.Location{ - Line: int(1430), + Line: int(1450), Column: int(25), }, }, @@ -192093,7 +194625,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lb", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "lb", }, @@ -192101,11 +194633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1431), + Line: int(1451), Column: int(22), }, End: ast.Location{ - Line: int(1431), + Line: int(1451), Column: int(24), }, }, @@ -192115,7 +194647,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "j", }, @@ -192123,11 +194655,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1431), + Line: int(1451), Column: int(17), }, End: ast.Location{ - Line: int(1431), + Line: int(1451), Column: int(18), }, }, @@ -192136,7 +194668,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "j", "lb", @@ -192145,11 +194677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1431), + Line: int(1451), Column: int(17), }, End: ast.Location{ - Line: int(1431), + Line: int(1451), Column: int(24), }, }, @@ -192235,7 +194767,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "a", }, @@ -192243,11 +194775,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(20), }, End: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(21), }, }, @@ -192260,7 +194792,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "i", }, @@ -192268,11 +194800,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(22), }, End: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(23), }, }, @@ -192341,11 +194873,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(20), }, End: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(25), }, }, @@ -192364,7 +194896,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "prefix", }, @@ -192372,11 +194904,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(11), }, End: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(17), }, }, @@ -192385,7 +194917,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "$std", "a", @@ -192396,11 +194928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(11), }, End: ast.Location{ - Line: int(1432), + Line: int(1452), Column: int(25), }, }, @@ -192414,7 +194946,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "keyF", }, @@ -192422,11 +194954,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(28), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(32), }, }, @@ -192441,7 +194973,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15164, + Ctx: p15346, FreeVars: ast.Identifiers{ "b", }, @@ -192449,11 +194981,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(33), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(34), }, }, @@ -192463,7 +194995,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15164, + Ctx: p15346, FreeVars: ast.Identifiers{ "j", }, @@ -192471,11 +195003,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(35), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(36), }, }, @@ -192486,7 +195018,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15164, + Ctx: p15346, FreeVars: ast.Identifiers{ "b", "j", @@ -192495,11 +195027,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(33), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(37), }, }, @@ -192514,7 +195046,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "b", "j", @@ -192524,11 +195056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(28), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(38), }, }, @@ -192541,7 +195073,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "keyF", }, @@ -192549,11 +195081,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(14), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(18), }, }, @@ -192568,7 +195100,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15176, + Ctx: p15358, FreeVars: ast.Identifiers{ "a", }, @@ -192576,11 +195108,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(19), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(20), }, }, @@ -192590,7 +195122,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15176, + Ctx: p15358, FreeVars: ast.Identifiers{ "i", }, @@ -192598,11 +195130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(21), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(22), }, }, @@ -192613,7 +195145,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15176, + Ctx: p15358, FreeVars: ast.Identifiers{ "a", "i", @@ -192622,11 +195154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(19), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(23), }, }, @@ -192641,7 +195173,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "a", "i", @@ -192651,11 +195183,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(14), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(24), }, }, @@ -192666,7 +195198,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "a", "b", @@ -192678,11 +195210,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(14), }, End: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(38), }, }, @@ -192701,7 +195233,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "aux", }, @@ -192709,11 +195241,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(13), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(16), }, }, @@ -192728,17 +195260,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15190, + Ctx: p15372, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(21), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(22), }, }, @@ -192748,7 +195280,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15190, + Ctx: p15372, FreeVars: ast.Identifiers{ "i", }, @@ -192756,11 +195288,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(17), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(18), }, }, @@ -192769,7 +195301,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15190, + Ctx: p15372, FreeVars: ast.Identifiers{ "i", }, @@ -192777,11 +195309,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(17), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(22), }, }, @@ -192795,7 +195327,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15190, + Ctx: p15372, FreeVars: ast.Identifiers{ "j", }, @@ -192803,11 +195335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(24), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(25), }, }, @@ -192825,7 +195357,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15201, + Ctx: p15383, FreeVars: ast.Identifiers{ "a", }, @@ -192833,11 +195365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(37), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(38), }, }, @@ -192847,7 +195379,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15201, + Ctx: p15383, FreeVars: ast.Identifiers{ "i", }, @@ -192855,11 +195387,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(39), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(40), }, }, @@ -192870,7 +195402,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15201, + Ctx: p15383, FreeVars: ast.Identifiers{ "a", "i", @@ -192879,11 +195411,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(37), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(41), }, }, @@ -192895,7 +195427,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15190, + Ctx: p15372, FreeVars: ast.Identifiers{ "a", "i", @@ -192904,11 +195436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(36), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(42), }, }, @@ -192919,7 +195451,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prefix", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15190, + Ctx: p15372, FreeVars: ast.Identifiers{ "prefix", }, @@ -192927,11 +195459,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(27), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(33), }, }, @@ -192940,7 +195472,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15190, + Ctx: p15372, FreeVars: ast.Identifiers{ "a", "i", @@ -192950,11 +195482,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(27), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(42), }, }, @@ -192970,7 +195502,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "a", "aux", @@ -192982,11 +195514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(13), }, End: ast.Location{ - Line: int(1435), + Line: int(1455), Column: int(43), }, }, @@ -193006,7 +195538,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "aux", }, @@ -193014,11 +195546,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(13), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(16), }, }, @@ -193032,7 +195564,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15217, + Ctx: p15399, FreeVars: ast.Identifiers{ "i", }, @@ -193040,11 +195572,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(17), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(18), }, }, @@ -193058,17 +195590,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15217, + Ctx: p15399, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(24), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(25), }, }, @@ -193078,7 +195610,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15217, + Ctx: p15399, FreeVars: ast.Identifiers{ "j", }, @@ -193086,11 +195618,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(20), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(21), }, }, @@ -193099,7 +195631,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15217, + Ctx: p15399, FreeVars: ast.Identifiers{ "j", }, @@ -193107,11 +195639,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(20), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(25), }, }, @@ -193130,7 +195662,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15229, + Ctx: p15411, FreeVars: ast.Identifiers{ "b", }, @@ -193138,11 +195670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(37), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(38), }, }, @@ -193152,7 +195684,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15229, + Ctx: p15411, FreeVars: ast.Identifiers{ "j", }, @@ -193160,11 +195692,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(39), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(40), }, }, @@ -193175,7 +195707,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15229, + Ctx: p15411, FreeVars: ast.Identifiers{ "b", "j", @@ -193184,11 +195716,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(37), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(41), }, }, @@ -193200,7 +195732,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15217, + Ctx: p15399, FreeVars: ast.Identifiers{ "b", "j", @@ -193209,11 +195741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(36), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(42), }, }, @@ -193224,7 +195756,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "prefix", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15217, + Ctx: p15399, FreeVars: ast.Identifiers{ "prefix", }, @@ -193232,11 +195764,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(27), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(33), }, }, @@ -193245,7 +195777,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15217, + Ctx: p15399, FreeVars: ast.Identifiers{ "b", "j", @@ -193255,11 +195787,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(27), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(42), }, }, @@ -193275,7 +195807,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "aux", "b", @@ -193287,11 +195819,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(13), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(43), }, }, @@ -193317,7 +195849,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "a", "aux", @@ -193331,11 +195863,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1434), + Line: int(1454), Column: int(11), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(43), }, }, @@ -193352,7 +195884,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "$std", "a", @@ -193368,11 +195900,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1431), + Line: int(1451), Column: int(14), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(43), }, }, @@ -193396,7 +195928,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15106, + Ctx: p15288, FreeVars: ast.Identifiers{ "$std", "a", @@ -193413,11 +195945,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1429), + Line: int(1449), Column: int(9), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(43), }, }, @@ -193434,11 +195966,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1428), + Line: int(1448), Column: int(17), }, End: ast.Location{ - Line: int(1428), + Line: int(1448), Column: int(18), }, }, @@ -193453,11 +195985,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1428), + Line: int(1448), Column: int(20), }, End: ast.Location{ - Line: int(1428), + Line: int(1448), Column: int(21), }, }, @@ -193472,11 +196004,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1428), + Line: int(1448), Column: int(23), }, End: ast.Location{ - Line: int(1428), + Line: int(1448), Column: int(29), }, }, @@ -193484,7 +196016,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p15248, + Ctx: p15430, FreeVars: ast.Identifiers{ "$std", "a", @@ -193498,11 +196030,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1428), + Line: int(1448), Column: int(13), }, End: ast.Location{ - Line: int(1437), + Line: int(1457), Column: int(43), }, }, @@ -193539,7 +196071,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15253, + Ctx: p15435, FreeVars: ast.Identifiers{ "aux", }, @@ -193547,11 +196079,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(7), }, End: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(10), }, }, @@ -193565,17 +196097,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15257, + Ctx: p15439, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(11), }, End: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(12), }, }, @@ -193588,17 +196120,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15257, + Ctx: p15439, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(14), }, End: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(15), }, }, @@ -193612,17 +196144,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15257, + Ctx: p15439, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(17), }, End: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(19), }, }, @@ -193638,7 +196170,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15253, + Ctx: p15435, FreeVars: ast.Identifiers{ "aux", }, @@ -193646,11 +196178,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(7), }, End: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(20), }, }, @@ -193667,7 +196199,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15253, + Ctx: p15435, FreeVars: ast.Identifiers{ "$std", "a", @@ -193680,11 +196212,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1428), + Line: int(1448), Column: int(7), }, End: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(20), }, }, @@ -193699,7 +196231,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15253, + Ctx: p15435, FreeVars: ast.Identifiers{ "$std", "a", @@ -193711,11 +196243,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1427), + Line: int(1447), Column: int(7), }, End: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(20), }, }, @@ -193732,11 +196264,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1426), + Line: int(1446), Column: int(17), }, End: ast.Location{ - Line: int(1426), + Line: int(1446), Column: int(18), }, }, @@ -193751,11 +196283,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1426), + Line: int(1446), Column: int(20), }, End: ast.Location{ - Line: int(1426), + Line: int(1446), Column: int(21), }, }, @@ -193763,7 +196295,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p15266, + Ctx: p15448, FreeVars: ast.Identifiers{ "$std", "keyF", @@ -193773,11 +196305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1426), + Line: int(1446), Column: int(11), }, End: ast.Location{ - Line: int(1438), + Line: int(1458), Column: int(20), }, }, @@ -193820,11 +196352,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(15), }, End: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(18), }, }, @@ -193858,7 +196390,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15275, + Ctx: p15457, FreeVars: ast.Identifiers{ "std", }, @@ -193866,11 +196398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(15), }, End: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(25), }, }, @@ -193884,7 +196416,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15279, + Ctx: p15461, FreeVars: ast.Identifiers{ "arr", }, @@ -193892,11 +196424,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(26), }, End: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(29), }, }, @@ -193911,7 +196443,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15275, + Ctx: p15457, FreeVars: ast.Identifiers{ "arr", "std", @@ -193920,11 +196452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(15), }, End: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(30), }, }, @@ -193940,11 +196472,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(11), }, End: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(30), }, }, @@ -193956,17 +196488,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "30", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(27), }, End: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(29), }, }, @@ -193986,11 +196518,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(8), }, End: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(11), }, }, @@ -194024,7 +196556,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "std", }, @@ -194032,11 +196564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(8), }, End: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(18), }, }, @@ -194050,7 +196582,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15294, + Ctx: p15476, FreeVars: ast.Identifiers{ "arr", }, @@ -194058,11 +196590,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(19), }, End: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(22), }, }, @@ -194077,7 +196609,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "arr", "std", @@ -194086,11 +196618,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(8), }, End: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(23), }, }, @@ -194101,7 +196633,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "arr", "std", @@ -194110,11 +196642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(8), }, End: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(29), }, }, @@ -194133,7 +196665,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "quickSort", }, @@ -194141,11 +196673,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1442), + Line: int(1462), Column: int(7), }, End: ast.Location{ - Line: int(1442), + Line: int(1462), Column: int(16), }, }, @@ -194159,7 +196691,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15304, + Ctx: p15486, FreeVars: ast.Identifiers{ "arr", }, @@ -194167,11 +196699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1442), + Line: int(1462), Column: int(17), }, End: ast.Location{ - Line: int(1442), + Line: int(1462), Column: int(20), }, }, @@ -194189,7 +196721,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15304, + Ctx: p15486, FreeVars: ast.Identifiers{ "keyF", }, @@ -194197,11 +196729,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1442), + Line: int(1462), Column: int(27), }, End: ast.Location{ - Line: int(1442), + Line: int(1462), Column: int(31), }, }, @@ -194215,7 +196747,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -194225,11 +196757,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1442), + Line: int(1462), Column: int(7), }, End: ast.Location{ - Line: int(1442), + Line: int(1462), Column: int(32), }, }, @@ -194255,11 +196787,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(19), }, End: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(22), }, }, @@ -194293,7 +196825,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15317, + Ctx: p15499, FreeVars: ast.Identifiers{ "std", }, @@ -194301,11 +196833,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(19), }, End: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(28), }, }, @@ -194320,17 +196852,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15322, + Ctx: p15504, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(33), }, End: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(34), }, }, @@ -194340,7 +196872,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "l", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15322, + Ctx: p15504, FreeVars: ast.Identifiers{ "l", }, @@ -194348,11 +196880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(29), }, End: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(30), }, }, @@ -194361,7 +196893,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15322, + Ctx: p15504, FreeVars: ast.Identifiers{ "l", }, @@ -194369,11 +196901,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(29), }, End: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(34), }, }, @@ -194389,7 +196921,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15317, + Ctx: p15499, FreeVars: ast.Identifiers{ "l", "std", @@ -194398,11 +196930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(19), }, End: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(35), }, }, @@ -194418,11 +196950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(13), }, End: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(35), }, }, @@ -194510,7 +197042,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15337, + Ctx: p15519, FreeVars: ast.Identifiers{ "arr", }, @@ -194518,11 +197050,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(20), }, End: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(23), }, }, @@ -194557,7 +197089,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "mid", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15337, + Ctx: p15519, FreeVars: ast.Identifiers{ "mid", }, @@ -194565,11 +197097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(25), }, End: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(28), }, }, @@ -194616,11 +197148,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(20), }, End: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(29), }, }, @@ -194636,11 +197168,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(13), }, End: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(29), }, }, @@ -194725,7 +197257,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15352, + Ctx: p15534, FreeVars: ast.Identifiers{ "arr", }, @@ -194733,11 +197265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(39), }, End: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(42), }, }, @@ -194750,7 +197282,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "mid", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15352, + Ctx: p15534, FreeVars: ast.Identifiers{ "mid", }, @@ -194758,11 +197290,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(43), }, End: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(46), }, }, @@ -194831,11 +197363,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(39), }, End: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(48), }, }, @@ -194851,11 +197383,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(31), }, End: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(48), }, }, @@ -194873,7 +197405,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "merge", }, @@ -194881,11 +197413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(7), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(12), }, }, @@ -194909,11 +197441,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(13), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(16), }, }, @@ -194947,7 +197479,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15369, + Ctx: p15551, FreeVars: ast.Identifiers{ "std", }, @@ -194955,11 +197487,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(13), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(21), }, }, @@ -194973,7 +197505,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "left", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15373, + Ctx: p15555, FreeVars: ast.Identifiers{ "left", }, @@ -194981,11 +197513,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(22), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(26), }, }, @@ -195003,7 +197535,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15373, + Ctx: p15555, FreeVars: ast.Identifiers{ "keyF", }, @@ -195011,11 +197543,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(33), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(37), }, }, @@ -195029,7 +197561,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15369, + Ctx: p15551, FreeVars: ast.Identifiers{ "keyF", "left", @@ -195039,11 +197571,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(13), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(38), }, }, @@ -195068,11 +197600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(40), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(43), }, }, @@ -195106,7 +197638,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15369, + Ctx: p15551, FreeVars: ast.Identifiers{ "std", }, @@ -195114,11 +197646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(40), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(48), }, }, @@ -195132,7 +197664,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "right", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15387, + Ctx: p15569, FreeVars: ast.Identifiers{ "right", }, @@ -195140,11 +197672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(49), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(54), }, }, @@ -195162,7 +197694,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15387, + Ctx: p15569, FreeVars: ast.Identifiers{ "keyF", }, @@ -195170,11 +197702,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(61), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(65), }, }, @@ -195188,7 +197720,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15369, + Ctx: p15551, FreeVars: ast.Identifiers{ "keyF", "right", @@ -195198,11 +197730,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(40), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(66), }, }, @@ -195219,7 +197751,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "keyF", "left", @@ -195231,11 +197763,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(7), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(67), }, }, @@ -195252,7 +197784,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "$std", "arr", @@ -195265,11 +197797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1445), + Line: int(1465), Column: int(7), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(67), }, }, @@ -195284,7 +197816,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "$std", "arr", @@ -195297,11 +197829,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1444), + Line: int(1464), Column: int(7), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(67), }, }, @@ -195325,7 +197857,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "$std", "arr", @@ -195339,11 +197871,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1441), + Line: int(1461), Column: int(5), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(67), }, }, @@ -195358,7 +197890,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "$std", "arr", @@ -195371,11 +197903,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1440), + Line: int(1460), Column: int(5), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(67), }, }, @@ -195390,7 +197922,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "$std", "arr", @@ -195402,11 +197934,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1426), + Line: int(1446), Column: int(5), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(67), }, }, @@ -195421,7 +197953,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "$std", "arr", @@ -195433,11 +197965,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1414), + Line: int(1434), Column: int(5), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(67), }, }, @@ -195454,11 +197986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1413), + Line: int(1433), Column: int(8), }, End: ast.Location{ - Line: int(1413), + Line: int(1433), Column: int(11), }, }, @@ -195472,7 +198004,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "id", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15285, + Ctx: p15467, FreeVars: ast.Identifiers{ "id", }, @@ -195480,11 +198012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1413), + Line: int(1433), Column: int(18), }, End: ast.Location{ - Line: int(1413), + Line: int(1433), Column: int(20), }, }, @@ -195494,11 +198026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1413), + Line: int(1433), Column: int(13), }, End: ast.Location{ - Line: int(1413), + Line: int(1433), Column: int(20), }, }, @@ -195531,11 +198063,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1413), + Line: int(1433), Column: int(3), }, End: ast.Location{ - Line: int(1446), + Line: int(1466), Column: int(67), }, }, @@ -195582,17 +198114,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(27), }, End: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(28), }, }, @@ -195612,11 +198144,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(10), }, End: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(13), }, }, @@ -195650,7 +198182,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "std", }, @@ -195658,11 +198190,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(10), }, End: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(20), }, }, @@ -195676,7 +198208,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15428, + Ctx: p15610, FreeVars: ast.Identifiers{ "a", }, @@ -195684,11 +198216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(21), }, End: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(22), }, }, @@ -195703,7 +198235,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", "std", @@ -195712,11 +198244,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(10), }, End: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(23), }, }, @@ -195727,7 +198259,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", "std", @@ -195736,11 +198268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(10), }, End: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(28), }, }, @@ -195754,7 +198286,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15435, + Ctx: p15617, FreeVars: ast.Identifiers{ "b", }, @@ -195762,11 +198294,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1451), + Line: int(1471), Column: int(10), }, End: ast.Location{ - Line: int(1451), + Line: int(1471), Column: int(11), }, }, @@ -195785,7 +198317,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "b", }, @@ -195793,11 +198325,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1451), + Line: int(1471), Column: int(9), }, End: ast.Location{ - Line: int(1451), + Line: int(1471), Column: int(12), }, }, @@ -195811,7 +198343,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "keyF", }, @@ -195819,11 +198351,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(45), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(49), }, }, @@ -195837,7 +198369,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15446, + Ctx: p15628, FreeVars: ast.Identifiers{ "b", }, @@ -195845,11 +198377,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(50), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(51), }, }, @@ -195864,7 +198396,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "b", "keyF", @@ -195873,11 +198405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(45), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(52), }, }, @@ -195890,7 +198422,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "keyF", }, @@ -195898,11 +198430,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(15), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(19), }, }, @@ -195917,7 +198449,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15455, + Ctx: p15637, FreeVars: ast.Identifiers{ "a", }, @@ -195925,11 +198457,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(20), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(21), }, }, @@ -195940,17 +198472,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15455, + Ctx: p15637, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(38), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(39), }, }, @@ -195970,11 +198502,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(22), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(25), }, }, @@ -196008,7 +198540,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15455, + Ctx: p15637, FreeVars: ast.Identifiers{ "std", }, @@ -196016,11 +198548,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(22), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(32), }, }, @@ -196034,7 +198566,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15467, + Ctx: p15649, FreeVars: ast.Identifiers{ "a", }, @@ -196042,11 +198574,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(33), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(34), }, }, @@ -196061,7 +198593,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15455, + Ctx: p15637, FreeVars: ast.Identifiers{ "a", "std", @@ -196070,11 +198602,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(22), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(35), }, }, @@ -196085,7 +198617,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15455, + Ctx: p15637, FreeVars: ast.Identifiers{ "a", "std", @@ -196094,11 +198626,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(22), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(39), }, }, @@ -196110,7 +198642,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15455, + Ctx: p15637, FreeVars: ast.Identifiers{ "a", "std", @@ -196119,11 +198651,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(20), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(40), }, }, @@ -196138,7 +198670,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", "keyF", @@ -196148,11 +198680,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(15), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(41), }, }, @@ -196163,7 +198695,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", "b", @@ -196174,11 +198706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(15), }, End: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(52), }, }, @@ -196196,7 +198728,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", }, @@ -196204,11 +198736,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1453), + Line: int(1473), Column: int(9), }, End: ast.Location{ - Line: int(1453), + Line: int(1473), Column: int(10), }, }, @@ -196222,7 +198754,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15481, + Ctx: p15663, FreeVars: ast.Identifiers{ "b", }, @@ -196230,11 +198762,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(14), }, End: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(15), }, }, @@ -196246,7 +198778,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "b", }, @@ -196254,11 +198786,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(13), }, End: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(16), }, }, @@ -196276,7 +198808,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", }, @@ -196284,11 +198816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(9), }, End: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(10), }, }, @@ -196297,7 +198829,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", "b", @@ -196306,11 +198838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(9), }, End: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(16), }, }, @@ -196328,7 +198860,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", "b", @@ -196339,11 +198871,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1452), + Line: int(1472), Column: int(12), }, End: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(16), }, }, @@ -196367,7 +198899,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15419, + Ctx: p15601, FreeVars: ast.Identifiers{ "a", "b", @@ -196378,11 +198910,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1450), + Line: int(1470), Column: int(7), }, End: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(16), }, }, @@ -196399,11 +198931,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1449), + Line: int(1469), Column: int(13), }, End: ast.Location{ - Line: int(1449), + Line: int(1469), Column: int(14), }, }, @@ -196418,11 +198950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1449), + Line: int(1469), Column: int(16), }, End: ast.Location{ - Line: int(1449), + Line: int(1469), Column: int(17), }, }, @@ -196430,7 +198962,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p15494, + Ctx: p15676, FreeVars: ast.Identifiers{ "keyF", "std", @@ -196439,11 +198971,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1449), + Line: int(1469), Column: int(11), }, End: ast.Location{ - Line: int(1455), + Line: int(1475), Column: int(16), }, }, @@ -196489,11 +199021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(5), }, End: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(8), }, }, @@ -196527,7 +199059,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15502, + Ctx: p15684, FreeVars: ast.Identifiers{ "std", }, @@ -196535,11 +199067,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(5), }, End: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(14), }, }, @@ -196553,7 +199085,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15506, + Ctx: p15688, FreeVars: ast.Identifiers{ "f", }, @@ -196561,11 +199093,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(15), }, End: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(16), }, }, @@ -196578,7 +199110,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15506, + Ctx: p15688, FreeVars: ast.Identifiers{ "arr", }, @@ -196586,11 +199118,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(18), }, End: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(21), }, }, @@ -196604,17 +199136,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15506, + Ctx: p15688, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(23), }, End: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(25), }, }, @@ -196630,7 +199162,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15502, + Ctx: p15684, FreeVars: ast.Identifiers{ "arr", "f", @@ -196640,11 +199172,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(5), }, End: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(26), }, }, @@ -196661,7 +199193,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p15502, + Ctx: p15684, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -196671,11 +199203,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1449), + Line: int(1469), Column: int(5), }, End: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(26), }, }, @@ -196692,11 +199224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1448), + Line: int(1468), Column: int(8), }, End: ast.Location{ - Line: int(1448), + Line: int(1468), Column: int(11), }, }, @@ -196710,7 +199242,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "id", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15502, + Ctx: p15684, FreeVars: ast.Identifiers{ "id", }, @@ -196718,11 +199250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1448), + Line: int(1468), Column: int(18), }, End: ast.Location{ - Line: int(1448), + Line: int(1468), Column: int(20), }, }, @@ -196732,11 +199264,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1448), + Line: int(1468), Column: int(13), }, End: ast.Location{ - Line: int(1448), + Line: int(1468), Column: int(20), }, }, @@ -196768,11 +199300,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1448), + Line: int(1468), Column: int(3), }, End: ast.Location{ - Line: int(1456), + Line: int(1476), Column: int(26), }, }, @@ -196827,11 +199359,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(5), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(8), }, }, @@ -196865,7 +199397,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15526, + Ctx: p15708, FreeVars: ast.Identifiers{ "std", }, @@ -196873,11 +199405,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(5), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(13), }, }, @@ -196901,11 +199433,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(14), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(17), }, }, @@ -196939,7 +199471,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15534, + Ctx: p15716, FreeVars: ast.Identifiers{ "std", }, @@ -196947,11 +199479,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(14), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(22), }, }, @@ -196965,7 +199497,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15538, + Ctx: p15720, FreeVars: ast.Identifiers{ "arr", }, @@ -196973,11 +199505,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(23), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(26), }, }, @@ -196990,7 +199522,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15538, + Ctx: p15720, FreeVars: ast.Identifiers{ "keyF", }, @@ -196998,11 +199530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(28), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(32), }, }, @@ -197017,7 +199549,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15534, + Ctx: p15716, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -197027,11 +199559,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(14), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(33), }, }, @@ -197046,7 +199578,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15534, + Ctx: p15716, FreeVars: ast.Identifiers{ "keyF", }, @@ -197054,11 +199586,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(35), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(39), }, }, @@ -197073,7 +199605,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15526, + Ctx: p15708, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -197083,11 +199615,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(5), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(40), }, }, @@ -197106,11 +199638,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1458), + Line: int(1478), Column: int(7), }, End: ast.Location{ - Line: int(1458), + Line: int(1478), Column: int(10), }, }, @@ -197124,7 +199656,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "id", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15526, + Ctx: p15708, FreeVars: ast.Identifiers{ "id", }, @@ -197132,11 +199664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1458), + Line: int(1478), Column: int(17), }, End: ast.Location{ - Line: int(1458), + Line: int(1478), Column: int(19), }, }, @@ -197146,11 +199678,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1458), + Line: int(1478), Column: int(12), }, End: ast.Location{ - Line: int(1458), + Line: int(1478), Column: int(19), }, }, @@ -197182,11 +199714,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1458), + Line: int(1478), Column: int(3), }, End: ast.Location{ - Line: int(1459), + Line: int(1479), Column: int(40), }, }, @@ -197225,17 +199757,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15554, + Ctx: p15736, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(48), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(49), }, }, @@ -197270,11 +199802,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(5), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(8), }, }, @@ -197308,7 +199840,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15554, + Ctx: p15736, FreeVars: ast.Identifiers{ "std", }, @@ -197316,11 +199848,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(5), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(15), }, }, @@ -197344,11 +199876,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(16), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(19), }, }, @@ -197382,7 +199914,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15569, + Ctx: p15751, FreeVars: ast.Identifiers{ "std", }, @@ -197390,11 +199922,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(16), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(28), }, }, @@ -197411,7 +199943,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15575, + Ctx: p15757, FreeVars: ast.Identifiers{ "x", }, @@ -197419,11 +199951,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(30), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(31), }, }, @@ -197435,7 +199967,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15577, + Ctx: p15759, FreeVars: ast.Identifiers{ "x", }, @@ -197443,11 +199975,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(29), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(32), }, }, @@ -197461,7 +199993,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15577, + Ctx: p15759, FreeVars: ast.Identifiers{ "arr", }, @@ -197469,11 +200001,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(34), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(37), }, }, @@ -197486,7 +200018,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15577, + Ctx: p15759, FreeVars: ast.Identifiers{ "keyF", }, @@ -197494,11 +200026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(39), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(43), }, }, @@ -197513,7 +200045,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15569, + Ctx: p15751, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -197524,11 +200056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(16), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(44), }, }, @@ -197545,7 +200077,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15554, + Ctx: p15736, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -197556,11 +200088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(5), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(45), }, }, @@ -197571,7 +200103,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15554, + Ctx: p15736, FreeVars: ast.Identifiers{ "arr", "keyF", @@ -197582,11 +200114,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(5), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(49), }, }, @@ -197604,11 +200136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(13), }, End: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(14), }, }, @@ -197623,11 +200155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(16), }, End: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(19), }, }, @@ -197641,7 +200173,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "id", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15554, + Ctx: p15736, FreeVars: ast.Identifiers{ "id", }, @@ -197649,11 +200181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(26), }, End: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(28), }, }, @@ -197663,11 +200195,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(21), }, End: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(28), }, }, @@ -197699,11 +200231,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1461), + Line: int(1481), Column: int(3), }, End: ast.Location{ - Line: int(1463), + Line: int(1483), Column: int(49), }, }, @@ -197760,11 +200292,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(15), }, End: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(18), }, }, @@ -197798,7 +200330,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "std", }, @@ -197806,11 +200338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(15), }, End: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(25), }, }, @@ -197824,7 +200356,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15606, + Ctx: p15788, FreeVars: ast.Identifiers{ "a", }, @@ -197832,11 +200364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(26), }, End: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(27), }, }, @@ -197851,7 +200383,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "std", @@ -197860,11 +200392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(15), }, End: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(28), }, }, @@ -197876,7 +200408,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "i", }, @@ -197884,11 +200416,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(10), }, End: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(11), }, }, @@ -197897,7 +200429,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "i", @@ -197907,11 +200439,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(10), }, End: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(28), }, }, @@ -197997,7 +200529,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "b", }, @@ -198005,11 +200537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(15), }, End: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(16), }, }, @@ -198022,7 +200554,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "j", }, @@ -198030,11 +200562,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(17), }, End: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(18), }, }, @@ -198103,11 +200635,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(15), }, End: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(20), }, }, @@ -198126,7 +200658,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "acc", }, @@ -198134,11 +200666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(9), }, End: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(12), }, }, @@ -198147,7 +200679,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "$std", "acc", @@ -198158,11 +200690,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(9), }, End: ast.Location{ - Line: int(1469), + Line: int(1489), Column: int(20), }, }, @@ -198185,11 +200717,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(20), }, End: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(23), }, }, @@ -198223,7 +200755,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "std", }, @@ -198231,11 +200763,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(20), }, End: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(30), }, }, @@ -198249,7 +200781,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15641, + Ctx: p15823, FreeVars: ast.Identifiers{ "b", }, @@ -198257,11 +200789,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(31), }, End: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(32), }, }, @@ -198276,7 +200808,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "b", "std", @@ -198285,11 +200817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(20), }, End: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(33), }, }, @@ -198301,7 +200833,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "j", }, @@ -198309,11 +200841,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(15), }, End: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(16), }, }, @@ -198322,7 +200854,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "b", "j", @@ -198332,11 +200864,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(15), }, End: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(33), }, }, @@ -198422,7 +200954,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", }, @@ -198430,11 +200962,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(15), }, End: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(16), }, }, @@ -198447,7 +200979,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "i", }, @@ -198455,11 +200987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(17), }, End: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(18), }, }, @@ -198528,11 +201060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(15), }, End: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(20), }, }, @@ -198551,7 +201083,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "acc", }, @@ -198559,11 +201091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(9), }, End: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(12), }, }, @@ -198572,7 +201104,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "$std", "a", @@ -198583,11 +201115,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(9), }, End: ast.Location{ - Line: int(1471), + Line: int(1491), Column: int(20), }, }, @@ -198603,7 +201135,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15670, + Ctx: p15852, FreeVars: ast.Identifiers{ "keyF", }, @@ -198611,11 +201143,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(20), }, End: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(24), }, }, @@ -198630,7 +201162,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15675, + Ctx: p15857, FreeVars: ast.Identifiers{ "a", }, @@ -198638,11 +201170,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(25), }, End: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(26), }, }, @@ -198652,7 +201184,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15675, + Ctx: p15857, FreeVars: ast.Identifiers{ "i", }, @@ -198660,11 +201192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(27), }, End: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(28), }, }, @@ -198675,7 +201207,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15675, + Ctx: p15857, FreeVars: ast.Identifiers{ "a", "i", @@ -198684,11 +201216,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(25), }, End: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(29), }, }, @@ -198703,7 +201235,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15670, + Ctx: p15852, FreeVars: ast.Identifiers{ "a", "i", @@ -198713,11 +201245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(20), }, End: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(30), }, }, @@ -198733,11 +201265,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(15), }, End: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(30), }, }, @@ -198752,7 +201284,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15685, + Ctx: p15867, FreeVars: ast.Identifiers{ "keyF", }, @@ -198760,11 +201292,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(20), }, End: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(24), }, }, @@ -198779,7 +201311,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15690, + Ctx: p15872, FreeVars: ast.Identifiers{ "b", }, @@ -198787,11 +201319,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(25), }, End: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(26), }, }, @@ -198801,7 +201333,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15690, + Ctx: p15872, FreeVars: ast.Identifiers{ "j", }, @@ -198809,11 +201341,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(27), }, End: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(28), }, }, @@ -198824,7 +201356,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15690, + Ctx: p15872, FreeVars: ast.Identifiers{ "b", "j", @@ -198833,11 +201365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(25), }, End: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(29), }, }, @@ -198852,7 +201384,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15685, + Ctx: p15867, FreeVars: ast.Identifiers{ "b", "j", @@ -198862,11 +201394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(20), }, End: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(30), }, }, @@ -198882,11 +201414,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(15), }, End: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(30), }, }, @@ -198898,7 +201430,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bk", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "bk", }, @@ -198906,11 +201438,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1475), + Line: int(1495), Column: int(18), }, End: ast.Location{ - Line: int(1475), + Line: int(1495), Column: int(20), }, }, @@ -198920,7 +201452,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ak", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "ak", }, @@ -198928,11 +201460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1475), + Line: int(1495), Column: int(12), }, End: ast.Location{ - Line: int(1475), + Line: int(1495), Column: int(14), }, }, @@ -198941,7 +201473,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "ak", "bk", @@ -198950,11 +201482,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1475), + Line: int(1495), Column: int(12), }, End: ast.Location{ - Line: int(1475), + Line: int(1495), Column: int(20), }, }, @@ -198973,7 +201505,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "aux", }, @@ -198981,11 +201513,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(11), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(14), }, }, @@ -198999,7 +201531,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "a", }, @@ -199007,11 +201539,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(15), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(16), }, }, @@ -199024,7 +201556,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "b", }, @@ -199032,11 +201564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(18), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(19), }, }, @@ -199050,17 +201582,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(25), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(26), }, }, @@ -199070,7 +201602,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "i", }, @@ -199078,11 +201610,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(21), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(22), }, }, @@ -199091,7 +201623,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "i", }, @@ -199099,11 +201631,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(21), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(26), }, }, @@ -199118,17 +201650,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(32), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(33), }, }, @@ -199138,7 +201670,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "j", }, @@ -199146,11 +201678,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(28), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(29), }, }, @@ -199159,7 +201691,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "j", }, @@ -199167,11 +201699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(28), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(33), }, }, @@ -199190,7 +201722,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15728, + Ctx: p15910, FreeVars: ast.Identifiers{ "a", }, @@ -199198,11 +201730,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(42), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(43), }, }, @@ -199212,7 +201744,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15728, + Ctx: p15910, FreeVars: ast.Identifiers{ "i", }, @@ -199220,11 +201752,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(44), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(45), }, }, @@ -199235,7 +201767,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15728, + Ctx: p15910, FreeVars: ast.Identifiers{ "a", "i", @@ -199244,11 +201776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(42), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(46), }, }, @@ -199260,7 +201792,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "a", "i", @@ -199269,11 +201801,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(41), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(47), }, }, @@ -199284,7 +201816,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "acc", }, @@ -199292,11 +201824,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(35), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(38), }, }, @@ -199305,7 +201837,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15709, + Ctx: p15891, FreeVars: ast.Identifiers{ "a", "acc", @@ -199315,11 +201847,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(35), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(47), }, }, @@ -199335,7 +201867,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "acc", @@ -199348,11 +201880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(11), }, End: ast.Location{ - Line: int(1476), + Line: int(1496), Column: int(48), }, }, @@ -199366,7 +201898,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "bk", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "bk", }, @@ -199374,11 +201906,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1477), + Line: int(1497), Column: int(22), }, End: ast.Location{ - Line: int(1477), + Line: int(1497), Column: int(24), }, }, @@ -199388,7 +201920,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ak", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "ak", }, @@ -199396,11 +201928,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1477), + Line: int(1497), Column: int(17), }, End: ast.Location{ - Line: int(1477), + Line: int(1497), Column: int(19), }, }, @@ -199409,7 +201941,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "ak", "bk", @@ -199418,11 +201950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1477), + Line: int(1497), Column: int(17), }, End: ast.Location{ - Line: int(1477), + Line: int(1497), Column: int(24), }, }, @@ -199441,7 +201973,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "aux", }, @@ -199449,11 +201981,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(11), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(14), }, }, @@ -199467,7 +201999,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{ "a", }, @@ -199475,11 +202007,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(15), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(16), }, }, @@ -199492,7 +202024,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{ "b", }, @@ -199500,11 +202032,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(18), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(19), }, }, @@ -199518,17 +202050,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(25), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(26), }, }, @@ -199538,7 +202070,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{ "i", }, @@ -199546,11 +202078,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(21), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(22), }, }, @@ -199559,7 +202091,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{ "i", }, @@ -199567,11 +202099,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(21), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(26), }, }, @@ -199585,7 +202117,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{ "j", }, @@ -199593,11 +202125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(28), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(29), }, }, @@ -199615,7 +202147,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15767, + Ctx: p15949, FreeVars: ast.Identifiers{ "a", }, @@ -199623,11 +202155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(38), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(39), }, }, @@ -199637,7 +202169,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15767, + Ctx: p15949, FreeVars: ast.Identifiers{ "i", }, @@ -199645,11 +202177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(40), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(41), }, }, @@ -199660,7 +202192,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15767, + Ctx: p15949, FreeVars: ast.Identifiers{ "a", "i", @@ -199669,11 +202201,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(38), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(42), }, }, @@ -199685,7 +202217,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{ "a", "i", @@ -199694,11 +202226,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(37), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(43), }, }, @@ -199709,7 +202241,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{ "acc", }, @@ -199717,11 +202249,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(31), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(34), }, }, @@ -199730,7 +202262,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15751, + Ctx: p15933, FreeVars: ast.Identifiers{ "a", "acc", @@ -199740,11 +202272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(31), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(43), }, }, @@ -199760,7 +202292,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "acc", @@ -199773,11 +202305,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(11), }, End: ast.Location{ - Line: int(1478), + Line: int(1498), Column: int(44), }, }, @@ -199797,7 +202329,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "aux", }, @@ -199805,11 +202337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(11), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(14), }, }, @@ -199823,7 +202355,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{ "a", }, @@ -199831,11 +202363,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(15), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(16), }, }, @@ -199848,7 +202380,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{ "b", }, @@ -199856,11 +202388,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(18), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(19), }, }, @@ -199873,7 +202405,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{ "i", }, @@ -199881,11 +202413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(21), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(22), }, }, @@ -199899,17 +202431,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(28), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(29), }, }, @@ -199919,7 +202451,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{ "j", }, @@ -199927,11 +202459,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(24), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(25), }, }, @@ -199940,7 +202472,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{ "j", }, @@ -199948,11 +202480,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(24), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(29), }, }, @@ -199971,7 +202503,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15799, + Ctx: p15981, FreeVars: ast.Identifiers{ "b", }, @@ -199979,11 +202511,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(38), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(39), }, }, @@ -199993,7 +202525,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15799, + Ctx: p15981, FreeVars: ast.Identifiers{ "j", }, @@ -200001,11 +202533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(40), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(41), }, }, @@ -200016,7 +202548,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15799, + Ctx: p15981, FreeVars: ast.Identifiers{ "b", "j", @@ -200025,11 +202557,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(38), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(42), }, }, @@ -200041,7 +202573,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{ "b", "j", @@ -200050,11 +202582,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(37), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(43), }, }, @@ -200065,7 +202597,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{ "acc", }, @@ -200073,11 +202605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(31), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(34), }, }, @@ -200086,7 +202618,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15783, + Ctx: p15965, FreeVars: ast.Identifiers{ "acc", "b", @@ -200096,11 +202628,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(31), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(43), }, }, @@ -200116,7 +202648,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "acc", @@ -200129,11 +202661,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(11), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(44), }, }, @@ -200152,7 +202684,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "acc", @@ -200167,11 +202699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1477), + Line: int(1497), Column: int(14), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(44), }, }, @@ -200195,7 +202727,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "acc", @@ -200210,11 +202742,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1475), + Line: int(1495), Column: int(9), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(44), }, }, @@ -200229,7 +202761,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "acc", @@ -200244,11 +202776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1474), + Line: int(1494), Column: int(9), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(44), }, }, @@ -200263,7 +202795,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "a", "acc", @@ -200277,11 +202809,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1473), + Line: int(1493), Column: int(9), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(44), }, }, @@ -200298,7 +202830,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "$std", "a", @@ -200314,11 +202846,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1470), + Line: int(1490), Column: int(12), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(44), }, }, @@ -200342,7 +202874,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15602, + Ctx: p15784, FreeVars: ast.Identifiers{ "$std", "a", @@ -200358,11 +202890,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1468), + Line: int(1488), Column: int(7), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(44), }, }, @@ -200379,11 +202911,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(15), }, End: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(16), }, }, @@ -200398,11 +202930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(18), }, End: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(19), }, }, @@ -200417,11 +202949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(21), }, End: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(22), }, }, @@ -200436,11 +202968,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(24), }, End: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(25), }, }, @@ -200455,11 +202987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(27), }, End: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(30), }, }, @@ -200467,7 +202999,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p15824, + Ctx: p16006, FreeVars: ast.Identifiers{ "$std", "aux", @@ -200478,11 +203010,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(11), }, End: ast.Location{ - Line: int(1480), + Line: int(1500), Column: int(44), }, }, @@ -200519,7 +203051,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p15829, + Ctx: p16011, FreeVars: ast.Identifiers{ "aux", }, @@ -200527,11 +203059,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(5), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(8), }, }, @@ -200545,7 +203077,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15833, + Ctx: p16015, FreeVars: ast.Identifiers{ "a", }, @@ -200553,11 +203085,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(9), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(10), }, }, @@ -200570,7 +203102,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15833, + Ctx: p16015, FreeVars: ast.Identifiers{ "b", }, @@ -200578,11 +203110,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(12), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(13), }, }, @@ -200595,17 +203127,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15833, + Ctx: p16015, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(15), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(16), }, }, @@ -200618,17 +203150,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15833, + Ctx: p16015, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(18), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(19), }, }, @@ -200642,17 +203174,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15833, + Ctx: p16015, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(21), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(23), }, }, @@ -200668,7 +203200,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15829, + Ctx: p16011, FreeVars: ast.Identifiers{ "a", "aux", @@ -200678,11 +203210,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(5), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(24), }, }, @@ -200707,7 +203239,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p15829, + Ctx: p16011, FreeVars: ast.Identifiers{ "$std", "a", @@ -200719,11 +203251,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1467), + Line: int(1487), Column: int(5), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(24), }, }, @@ -200740,11 +203272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(12), }, End: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(13), }, }, @@ -200759,11 +203291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(15), }, End: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(16), }, }, @@ -200777,7 +203309,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "id", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15829, + Ctx: p16011, FreeVars: ast.Identifiers{ "id", }, @@ -200785,11 +203317,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(23), }, End: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(25), }, }, @@ -200799,11 +203331,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(18), }, End: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(25), }, }, @@ -200836,11 +203368,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1465), + Line: int(1485), Column: int(3), }, End: ast.Location{ - Line: int(1481), + Line: int(1501), Column: int(24), }, }, @@ -200898,11 +203430,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(37), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(40), }, }, @@ -200936,7 +203468,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "std", }, @@ -200944,11 +203476,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(37), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(47), }, }, @@ -200962,7 +203494,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15865, + Ctx: p16047, FreeVars: ast.Identifiers{ "b", }, @@ -200970,11 +203502,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(48), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(49), }, }, @@ -200989,7 +203521,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "b", "std", @@ -200998,11 +203530,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(37), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(50), }, }, @@ -201014,7 +203546,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "j", }, @@ -201022,11 +203554,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(32), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(33), }, }, @@ -201035,7 +203567,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "b", "j", @@ -201045,11 +203577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(32), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(50), }, }, @@ -201071,11 +203603,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(15), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(18), }, }, @@ -201109,7 +203641,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "std", }, @@ -201117,11 +203649,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(15), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(25), }, }, @@ -201135,7 +203667,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15880, + Ctx: p16062, FreeVars: ast.Identifiers{ "a", }, @@ -201143,11 +203675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(26), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(27), }, }, @@ -201162,7 +203694,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "std", @@ -201171,11 +203703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(15), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(28), }, }, @@ -201187,7 +203719,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "i", }, @@ -201195,11 +203727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(10), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(11), }, }, @@ -201208,7 +203740,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "i", @@ -201218,11 +203750,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(10), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(28), }, }, @@ -201232,7 +203764,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "b", @@ -201244,11 +203776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(10), }, End: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(50), }, }, @@ -201266,7 +203798,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "acc", }, @@ -201274,11 +203806,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1486), + Line: int(1506), Column: int(9), }, End: ast.Location{ - Line: int(1486), + Line: int(1506), Column: int(12), }, }, @@ -201291,7 +203823,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "keyF", }, @@ -201299,11 +203831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(26), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(30), }, }, @@ -201318,7 +203850,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15898, + Ctx: p16080, FreeVars: ast.Identifiers{ "b", }, @@ -201326,11 +203858,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(31), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(32), }, }, @@ -201340,7 +203872,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15898, + Ctx: p16080, FreeVars: ast.Identifiers{ "j", }, @@ -201348,11 +203880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(33), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(34), }, }, @@ -201363,7 +203895,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15898, + Ctx: p16080, FreeVars: ast.Identifiers{ "b", "j", @@ -201372,11 +203904,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(31), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(35), }, }, @@ -201391,7 +203923,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "b", "j", @@ -201401,11 +203933,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(26), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(36), }, }, @@ -201418,7 +203950,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "keyF", }, @@ -201426,11 +203958,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(12), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(16), }, }, @@ -201445,7 +203977,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15910, + Ctx: p16092, FreeVars: ast.Identifiers{ "a", }, @@ -201453,11 +203985,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(17), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(18), }, }, @@ -201467,7 +203999,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15910, + Ctx: p16092, FreeVars: ast.Identifiers{ "i", }, @@ -201475,11 +204007,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(19), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(20), }, }, @@ -201490,7 +204022,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15910, + Ctx: p16092, FreeVars: ast.Identifiers{ "a", "i", @@ -201499,11 +204031,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(17), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(21), }, }, @@ -201518,7 +204050,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "i", @@ -201528,11 +204060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(12), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(22), }, }, @@ -201543,7 +204075,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "b", @@ -201555,11 +204087,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(12), }, End: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(36), }, }, @@ -201578,7 +204110,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "aux", }, @@ -201586,11 +204118,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(11), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(14), }, }, @@ -201604,7 +204136,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "a", }, @@ -201612,11 +204144,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(15), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(16), }, }, @@ -201629,7 +204161,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "b", }, @@ -201637,11 +204169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(18), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(19), }, }, @@ -201655,17 +204187,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(25), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(26), }, }, @@ -201675,7 +204207,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "i", }, @@ -201683,11 +204215,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(21), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(22), }, }, @@ -201696,7 +204228,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "i", }, @@ -201704,11 +204236,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(21), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(26), }, }, @@ -201723,17 +204255,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(32), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(33), }, }, @@ -201743,7 +204275,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "j", }, @@ -201751,11 +204283,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(28), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(29), }, }, @@ -201764,7 +204296,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "j", }, @@ -201772,11 +204304,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(28), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(33), }, }, @@ -201795,7 +204327,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15942, + Ctx: p16124, FreeVars: ast.Identifiers{ "a", }, @@ -201803,11 +204335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(42), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(43), }, }, @@ -201817,7 +204349,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15942, + Ctx: p16124, FreeVars: ast.Identifiers{ "i", }, @@ -201825,11 +204357,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(44), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(45), }, }, @@ -201840,7 +204372,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15942, + Ctx: p16124, FreeVars: ast.Identifiers{ "a", "i", @@ -201849,11 +204381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(42), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(46), }, }, @@ -201865,7 +204397,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "a", "i", @@ -201874,11 +204406,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(41), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(47), }, }, @@ -201889,7 +204421,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "acc", }, @@ -201897,11 +204429,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(35), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(38), }, }, @@ -201910,7 +204442,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15923, + Ctx: p16105, FreeVars: ast.Identifiers{ "a", "acc", @@ -201920,11 +204452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(35), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(47), }, }, @@ -201940,7 +204472,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "acc", @@ -201953,11 +204485,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(11), }, End: ast.Location{ - Line: int(1489), + Line: int(1509), Column: int(48), }, }, @@ -201972,7 +204504,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "keyF", }, @@ -201980,11 +204512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(30), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(34), }, }, @@ -201999,7 +204531,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15960, + Ctx: p16142, FreeVars: ast.Identifiers{ "b", }, @@ -202007,11 +204539,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(35), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(36), }, }, @@ -202021,7 +204553,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15960, + Ctx: p16142, FreeVars: ast.Identifiers{ "j", }, @@ -202029,11 +204561,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(37), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(38), }, }, @@ -202044,7 +204576,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15960, + Ctx: p16142, FreeVars: ast.Identifiers{ "b", "j", @@ -202053,11 +204585,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(35), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(39), }, }, @@ -202072,7 +204604,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "b", "j", @@ -202082,11 +204614,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(30), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(40), }, }, @@ -202099,7 +204631,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "keyF", }, @@ -202107,11 +204639,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(17), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(21), }, }, @@ -202126,7 +204658,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15972, + Ctx: p16154, FreeVars: ast.Identifiers{ "a", }, @@ -202134,11 +204666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(22), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(23), }, }, @@ -202148,7 +204680,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15972, + Ctx: p16154, FreeVars: ast.Identifiers{ "i", }, @@ -202156,11 +204688,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(24), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(25), }, }, @@ -202171,7 +204703,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15972, + Ctx: p16154, FreeVars: ast.Identifiers{ "a", "i", @@ -202180,11 +204712,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(22), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(26), }, }, @@ -202199,7 +204731,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "i", @@ -202209,11 +204741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(17), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(27), }, }, @@ -202224,7 +204756,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "b", @@ -202236,11 +204768,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(17), }, End: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(40), }, }, @@ -202259,7 +204791,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "aux", }, @@ -202267,11 +204799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(11), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(14), }, }, @@ -202285,7 +204817,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15985, + Ctx: p16167, FreeVars: ast.Identifiers{ "a", }, @@ -202293,11 +204825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(15), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(16), }, }, @@ -202310,7 +204842,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15985, + Ctx: p16167, FreeVars: ast.Identifiers{ "b", }, @@ -202318,11 +204850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(18), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(19), }, }, @@ -202336,17 +204868,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15985, + Ctx: p16167, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(25), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(26), }, }, @@ -202356,7 +204888,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15985, + Ctx: p16167, FreeVars: ast.Identifiers{ "i", }, @@ -202364,11 +204896,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(21), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(22), }, }, @@ -202377,7 +204909,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15985, + Ctx: p16167, FreeVars: ast.Identifiers{ "i", }, @@ -202385,11 +204917,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(21), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(26), }, }, @@ -202403,7 +204935,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15985, + Ctx: p16167, FreeVars: ast.Identifiers{ "j", }, @@ -202411,11 +204943,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(28), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(29), }, }, @@ -202428,7 +204960,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15985, + Ctx: p16167, FreeVars: ast.Identifiers{ "acc", }, @@ -202436,11 +204968,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(31), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(34), }, }, @@ -202455,7 +204987,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "acc", @@ -202468,11 +205000,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(11), }, End: ast.Location{ - Line: int(1491), + Line: int(1511), Column: int(35), }, }, @@ -202492,7 +205024,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "aux", }, @@ -202500,11 +205032,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(11), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(14), }, }, @@ -202518,7 +205050,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16005, + Ctx: p16187, FreeVars: ast.Identifiers{ "a", }, @@ -202526,11 +205058,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(15), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(16), }, }, @@ -202543,7 +205075,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16005, + Ctx: p16187, FreeVars: ast.Identifiers{ "b", }, @@ -202551,11 +205083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(18), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(19), }, }, @@ -202568,7 +205100,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16005, + Ctx: p16187, FreeVars: ast.Identifiers{ "i", }, @@ -202576,11 +205108,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(21), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(22), }, }, @@ -202594,17 +205126,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16005, + Ctx: p16187, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(28), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(29), }, }, @@ -202614,7 +205146,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16005, + Ctx: p16187, FreeVars: ast.Identifiers{ "j", }, @@ -202622,11 +205154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(24), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(25), }, }, @@ -202635,7 +205167,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16005, + Ctx: p16187, FreeVars: ast.Identifiers{ "j", }, @@ -202643,11 +205175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(24), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(29), }, }, @@ -202661,7 +205193,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16005, + Ctx: p16187, FreeVars: ast.Identifiers{ "acc", }, @@ -202669,11 +205201,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(31), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(34), }, }, @@ -202688,7 +205220,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "acc", @@ -202701,11 +205233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(11), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(35), }, }, @@ -202724,7 +205256,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "acc", @@ -202738,11 +205270,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1490), + Line: int(1510), Column: int(14), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(35), }, }, @@ -202766,7 +205298,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "acc", @@ -202780,11 +205312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1488), + Line: int(1508), Column: int(9), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(35), }, }, @@ -202808,7 +205340,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p15861, + Ctx: p16043, FreeVars: ast.Identifiers{ "a", "acc", @@ -202823,11 +205355,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1485), + Line: int(1505), Column: int(7), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(35), }, }, @@ -202844,11 +205376,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(15), }, End: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(16), }, }, @@ -202863,11 +205395,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(18), }, End: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(19), }, }, @@ -202882,11 +205414,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(21), }, End: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(22), }, }, @@ -202901,11 +205433,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(24), }, End: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(25), }, }, @@ -202920,11 +205452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(27), }, End: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(30), }, }, @@ -202932,7 +205464,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p16028, + Ctx: p16210, FreeVars: ast.Identifiers{ "aux", "keyF", @@ -202942,11 +205474,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(11), }, End: ast.Location{ - Line: int(1493), + Line: int(1513), Column: int(35), }, }, @@ -202983,7 +205515,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16033, + Ctx: p16215, FreeVars: ast.Identifiers{ "aux", }, @@ -202991,11 +205523,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(5), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(8), }, }, @@ -203009,7 +205541,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16037, + Ctx: p16219, FreeVars: ast.Identifiers{ "a", }, @@ -203017,11 +205549,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(9), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(10), }, }, @@ -203034,7 +205566,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16037, + Ctx: p16219, FreeVars: ast.Identifiers{ "b", }, @@ -203042,11 +205574,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(12), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(13), }, }, @@ -203059,17 +205591,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16037, + Ctx: p16219, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(15), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(16), }, }, @@ -203082,17 +205614,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16037, + Ctx: p16219, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(18), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(19), }, }, @@ -203106,17 +205638,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16037, + Ctx: p16219, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(21), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(23), }, }, @@ -203132,7 +205664,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16033, + Ctx: p16215, FreeVars: ast.Identifiers{ "a", "aux", @@ -203142,11 +205674,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(5), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(24), }, }, @@ -203163,7 +205695,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16033, + Ctx: p16215, FreeVars: ast.Identifiers{ "a", "b", @@ -203174,11 +205706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1484), + Line: int(1504), Column: int(5), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(24), }, }, @@ -203195,11 +205727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(12), }, End: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(13), }, }, @@ -203214,11 +205746,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(15), }, End: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(16), }, }, @@ -203232,7 +205764,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "id", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16033, + Ctx: p16215, FreeVars: ast.Identifiers{ "id", }, @@ -203240,11 +205772,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(23), }, End: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(25), }, }, @@ -203254,11 +205786,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(18), }, End: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(25), }, }, @@ -203290,11 +205822,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1483), + Line: int(1503), Column: int(3), }, End: ast.Location{ - Line: int(1494), + Line: int(1514), Column: int(24), }, }, @@ -203351,11 +205883,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(15), }, End: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(18), }, }, @@ -203389,7 +205921,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "std", }, @@ -203397,11 +205929,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(15), }, End: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(25), }, }, @@ -203415,7 +205947,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16067, + Ctx: p16249, FreeVars: ast.Identifiers{ "a", }, @@ -203423,11 +205955,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(26), }, End: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(27), }, }, @@ -203442,7 +205974,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "std", @@ -203451,11 +205983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(15), }, End: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(28), }, }, @@ -203467,7 +205999,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "i", }, @@ -203475,11 +206007,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(10), }, End: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(11), }, }, @@ -203488,7 +206020,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "i", @@ -203498,11 +206030,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(10), }, End: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(28), }, }, @@ -203520,7 +206052,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "acc", }, @@ -203528,11 +206060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1499), + Line: int(1519), Column: int(9), }, End: ast.Location{ - Line: int(1499), + Line: int(1519), Column: int(12), }, }, @@ -203554,11 +206086,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(20), }, End: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(23), }, }, @@ -203592,7 +206124,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "std", }, @@ -203600,11 +206132,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(20), }, End: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(30), }, }, @@ -203618,7 +206150,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16086, + Ctx: p16268, FreeVars: ast.Identifiers{ "b", }, @@ -203626,11 +206158,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(31), }, End: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(32), }, }, @@ -203645,7 +206177,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "b", "std", @@ -203654,11 +206186,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(20), }, End: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(33), }, }, @@ -203670,7 +206202,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "j", }, @@ -203678,11 +206210,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(15), }, End: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(16), }, }, @@ -203691,7 +206223,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "b", "j", @@ -203701,11 +206233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(15), }, End: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(33), }, }, @@ -203791,7 +206323,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", }, @@ -203799,11 +206331,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(15), }, End: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(16), }, }, @@ -203816,7 +206348,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "i", }, @@ -203824,11 +206356,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(17), }, End: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(18), }, }, @@ -203897,11 +206429,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(15), }, End: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(20), }, }, @@ -203920,7 +206452,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "acc", }, @@ -203928,11 +206460,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(9), }, End: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(12), }, }, @@ -203941,7 +206473,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "$std", "a", @@ -203952,11 +206484,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(9), }, End: ast.Location{ - Line: int(1501), + Line: int(1521), Column: int(20), }, }, @@ -203970,7 +206502,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "keyF", }, @@ -203978,11 +206510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(26), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(30), }, }, @@ -203997,7 +206529,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16119, + Ctx: p16301, FreeVars: ast.Identifiers{ "b", }, @@ -204005,11 +206537,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(31), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(32), }, }, @@ -204019,7 +206551,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16119, + Ctx: p16301, FreeVars: ast.Identifiers{ "j", }, @@ -204027,11 +206559,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(33), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(34), }, }, @@ -204042,7 +206574,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16119, + Ctx: p16301, FreeVars: ast.Identifiers{ "b", "j", @@ -204051,11 +206583,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(31), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(35), }, }, @@ -204070,7 +206602,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "b", "j", @@ -204080,11 +206612,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(26), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(36), }, }, @@ -204097,7 +206629,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "keyF", }, @@ -204105,11 +206637,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(12), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(16), }, }, @@ -204124,7 +206656,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16131, + Ctx: p16313, FreeVars: ast.Identifiers{ "a", }, @@ -204132,11 +206664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(17), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(18), }, }, @@ -204146,7 +206678,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16131, + Ctx: p16313, FreeVars: ast.Identifiers{ "i", }, @@ -204154,11 +206686,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(19), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(20), }, }, @@ -204169,7 +206701,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16131, + Ctx: p16313, FreeVars: ast.Identifiers{ "a", "i", @@ -204178,11 +206710,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(17), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(21), }, }, @@ -204197,7 +206729,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "i", @@ -204207,11 +206739,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(12), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(22), }, }, @@ -204222,7 +206754,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "b", @@ -204234,11 +206766,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(12), }, End: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(36), }, }, @@ -204257,7 +206789,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "aux", }, @@ -204265,11 +206797,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(11), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(14), }, }, @@ -204283,7 +206815,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{ "a", }, @@ -204291,11 +206823,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(15), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(16), }, }, @@ -204308,7 +206840,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{ "b", }, @@ -204316,11 +206848,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(18), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(19), }, }, @@ -204334,17 +206866,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(25), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(26), }, }, @@ -204354,7 +206886,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{ "i", }, @@ -204362,11 +206894,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(21), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(22), }, }, @@ -204375,7 +206907,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{ "i", }, @@ -204383,11 +206915,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(21), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(26), }, }, @@ -204402,17 +206934,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(32), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(33), }, }, @@ -204422,7 +206954,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{ "j", }, @@ -204430,11 +206962,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(28), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(29), }, }, @@ -204443,7 +206975,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{ "j", }, @@ -204451,11 +206983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(28), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(33), }, }, @@ -204469,7 +207001,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16144, + Ctx: p16326, FreeVars: ast.Identifiers{ "acc", }, @@ -204477,11 +207009,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(35), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(38), }, }, @@ -204496,7 +207028,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "acc", @@ -204509,11 +207041,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(11), }, End: ast.Location{ - Line: int(1504), + Line: int(1524), Column: int(39), }, }, @@ -204528,7 +207060,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "keyF", }, @@ -204536,11 +207068,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(30), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(34), }, }, @@ -204555,7 +207087,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16169, + Ctx: p16351, FreeVars: ast.Identifiers{ "b", }, @@ -204563,11 +207095,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(35), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(36), }, }, @@ -204577,7 +207109,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16169, + Ctx: p16351, FreeVars: ast.Identifiers{ "j", }, @@ -204585,11 +207117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(37), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(38), }, }, @@ -204600,7 +207132,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16169, + Ctx: p16351, FreeVars: ast.Identifiers{ "b", "j", @@ -204609,11 +207141,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(35), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(39), }, }, @@ -204628,7 +207160,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "b", "j", @@ -204638,11 +207170,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(30), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(40), }, }, @@ -204655,7 +207187,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "keyF", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "keyF", }, @@ -204663,11 +207195,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(17), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(21), }, }, @@ -204682,7 +207214,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16181, + Ctx: p16363, FreeVars: ast.Identifiers{ "a", }, @@ -204690,11 +207222,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(22), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(23), }, }, @@ -204704,7 +207236,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16181, + Ctx: p16363, FreeVars: ast.Identifiers{ "i", }, @@ -204712,11 +207244,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(24), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(25), }, }, @@ -204727,7 +207259,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16181, + Ctx: p16363, FreeVars: ast.Identifiers{ "a", "i", @@ -204736,11 +207268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(22), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(26), }, }, @@ -204755,7 +207287,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "i", @@ -204765,11 +207297,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(17), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(27), }, }, @@ -204780,7 +207312,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "b", @@ -204792,11 +207324,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(17), }, End: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(40), }, }, @@ -204815,7 +207347,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "aux", }, @@ -204823,11 +207355,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(11), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(14), }, }, @@ -204841,7 +207373,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{ "a", }, @@ -204849,11 +207381,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(15), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(16), }, }, @@ -204866,7 +207398,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{ "b", }, @@ -204874,11 +207406,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(18), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(19), }, }, @@ -204892,17 +207424,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(25), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(26), }, }, @@ -204912,7 +207444,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{ "i", }, @@ -204920,11 +207452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(21), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(22), }, }, @@ -204933,7 +207465,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{ "i", }, @@ -204941,11 +207473,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(21), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(26), }, }, @@ -204959,7 +207491,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{ "j", }, @@ -204967,11 +207499,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(28), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(29), }, }, @@ -204989,7 +207521,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16210, + Ctx: p16392, FreeVars: ast.Identifiers{ "a", }, @@ -204997,11 +207529,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(38), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(39), }, }, @@ -205011,7 +207543,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16210, + Ctx: p16392, FreeVars: ast.Identifiers{ "i", }, @@ -205019,11 +207551,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(40), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(41), }, }, @@ -205034,7 +207566,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16210, + Ctx: p16392, FreeVars: ast.Identifiers{ "a", "i", @@ -205043,11 +207575,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(38), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(42), }, }, @@ -205059,7 +207591,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{ "a", "i", @@ -205068,11 +207600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(37), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(43), }, }, @@ -205083,7 +207615,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{ "acc", }, @@ -205091,11 +207623,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(31), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(34), }, }, @@ -205104,7 +207636,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16194, + Ctx: p16376, FreeVars: ast.Identifiers{ "a", "acc", @@ -205114,11 +207646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(31), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(43), }, }, @@ -205134,7 +207666,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "acc", @@ -205147,11 +207679,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(11), }, End: ast.Location{ - Line: int(1506), + Line: int(1526), Column: int(44), }, }, @@ -205171,7 +207703,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "aux", }, @@ -205179,11 +207711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(11), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(14), }, }, @@ -205197,7 +207729,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16226, + Ctx: p16408, FreeVars: ast.Identifiers{ "a", }, @@ -205205,11 +207737,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(15), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(16), }, }, @@ -205222,7 +207754,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16226, + Ctx: p16408, FreeVars: ast.Identifiers{ "b", }, @@ -205230,11 +207762,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(18), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(19), }, }, @@ -205247,7 +207779,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16226, + Ctx: p16408, FreeVars: ast.Identifiers{ "i", }, @@ -205255,11 +207787,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(21), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(22), }, }, @@ -205273,17 +207805,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16226, + Ctx: p16408, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(28), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(29), }, }, @@ -205293,7 +207825,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "j", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16226, + Ctx: p16408, FreeVars: ast.Identifiers{ "j", }, @@ -205301,11 +207833,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(24), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(25), }, }, @@ -205314,7 +207846,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16226, + Ctx: p16408, FreeVars: ast.Identifiers{ "j", }, @@ -205322,11 +207854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(24), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(29), }, }, @@ -205340,7 +207872,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "acc", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16226, + Ctx: p16408, FreeVars: ast.Identifiers{ "acc", }, @@ -205348,11 +207880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(31), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(34), }, }, @@ -205367,7 +207899,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "acc", @@ -205380,11 +207912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(11), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(35), }, }, @@ -205403,7 +207935,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "acc", @@ -205417,11 +207949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1505), + Line: int(1525), Column: int(14), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(35), }, }, @@ -205445,7 +207977,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "a", "acc", @@ -205459,11 +207991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1503), + Line: int(1523), Column: int(9), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(35), }, }, @@ -205480,7 +208012,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "$std", "a", @@ -205496,11 +208028,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1500), + Line: int(1520), Column: int(12), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(35), }, }, @@ -205524,7 +208056,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16063, + Ctx: p16245, FreeVars: ast.Identifiers{ "$std", "a", @@ -205540,11 +208072,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1498), + Line: int(1518), Column: int(7), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(35), }, }, @@ -205561,11 +208093,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(15), }, End: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(16), }, }, @@ -205580,11 +208112,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(18), }, End: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(19), }, }, @@ -205599,11 +208131,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(21), }, End: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(22), }, }, @@ -205618,11 +208150,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(24), }, End: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(25), }, }, @@ -205637,11 +208169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(27), }, End: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(30), }, }, @@ -205649,7 +208181,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p16251, + Ctx: p16433, FreeVars: ast.Identifiers{ "$std", "aux", @@ -205660,11 +208192,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(11), }, End: ast.Location{ - Line: int(1508), + Line: int(1528), Column: int(35), }, }, @@ -205701,7 +208233,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16256, + Ctx: p16438, FreeVars: ast.Identifiers{ "aux", }, @@ -205709,11 +208241,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(5), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(8), }, }, @@ -205727,7 +208259,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16260, + Ctx: p16442, FreeVars: ast.Identifiers{ "a", }, @@ -205735,11 +208267,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(9), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(10), }, }, @@ -205752,7 +208284,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16260, + Ctx: p16442, FreeVars: ast.Identifiers{ "b", }, @@ -205760,11 +208292,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(12), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(13), }, }, @@ -205777,17 +208309,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16260, + Ctx: p16442, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(15), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(16), }, }, @@ -205800,17 +208332,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16260, + Ctx: p16442, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(18), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(19), }, }, @@ -205824,17 +208356,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16260, + Ctx: p16442, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(21), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(23), }, }, @@ -205850,7 +208382,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16256, + Ctx: p16438, FreeVars: ast.Identifiers{ "a", "aux", @@ -205860,11 +208392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(5), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(24), }, }, @@ -205881,7 +208413,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16256, + Ctx: p16438, FreeVars: ast.Identifiers{ "$std", "a", @@ -205893,11 +208425,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1497), + Line: int(1517), Column: int(5), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(24), }, }, @@ -205914,11 +208446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(11), }, End: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(12), }, }, @@ -205933,11 +208465,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(14), }, End: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(15), }, }, @@ -205951,7 +208483,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "id", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16256, + Ctx: p16438, FreeVars: ast.Identifiers{ "id", }, @@ -205959,11 +208491,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(22), }, End: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(24), }, }, @@ -205973,11 +208505,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(17), }, End: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(24), }, }, @@ -206010,11 +208542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1496), + Line: int(1516), Column: int(3), }, End: ast.Location{ - Line: int(1509), + Line: int(1529), Column: int(24), }, }, @@ -206063,11 +208595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(8), }, End: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(11), }, }, @@ -206101,7 +208633,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "std", }, @@ -206109,11 +208641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(8), }, End: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(20), }, }, @@ -206127,7 +208659,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "patch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16286, + Ctx: p16468, FreeVars: ast.Identifiers{ "patch", }, @@ -206135,11 +208667,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(21), }, End: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(26), }, }, @@ -206154,7 +208686,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "patch", "std", @@ -206163,11 +208695,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(8), }, End: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(27), }, }, @@ -206194,11 +208726,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(12), }, End: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(15), }, }, @@ -206232,7 +208764,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16297, + Ctx: p16479, FreeVars: ast.Identifiers{ "std", }, @@ -206240,11 +208772,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(12), }, End: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(24), }, }, @@ -206258,7 +208790,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "target", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16301, + Ctx: p16483, FreeVars: ast.Identifiers{ "target", }, @@ -206266,11 +208798,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(25), }, End: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(31), }, }, @@ -206285,7 +208817,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16297, + Ctx: p16479, FreeVars: ast.Identifiers{ "std", "target", @@ -206294,11 +208826,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(12), }, End: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(32), }, }, @@ -206310,7 +208842,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "target", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16297, + Ctx: p16479, FreeVars: ast.Identifiers{ "target", }, @@ -206318,11 +208850,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(38), }, End: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(44), }, }, @@ -206334,17 +208866,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16297, + Ctx: p16479, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(50), }, End: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(52), }, }, @@ -206361,7 +208893,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16297, + Ctx: p16479, FreeVars: ast.Identifiers{ "std", "target", @@ -206370,11 +208902,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(9), }, End: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(52), }, }, @@ -206388,11 +208920,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1513), + Line: int(1533), Column: int(13), }, End: ast.Location{ - Line: int(1514), + Line: int(1534), Column: int(52), }, }, @@ -206417,11 +208949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(12), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(15), }, }, @@ -206455,7 +208987,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16317, + Ctx: p16499, FreeVars: ast.Identifiers{ "std", }, @@ -206463,11 +208995,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(12), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(24), }, }, @@ -206481,7 +209013,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "target_object", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16321, + Ctx: p16503, FreeVars: ast.Identifiers{ "target_object", }, @@ -206489,11 +209021,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(25), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(38), }, }, @@ -206508,7 +209040,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16317, + Ctx: p16499, FreeVars: ast.Identifiers{ "std", "target_object", @@ -206517,11 +209049,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(12), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(39), }, }, @@ -206543,11 +209075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(45), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(48), }, }, @@ -206581,7 +209113,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16317, + Ctx: p16499, FreeVars: ast.Identifiers{ "std", }, @@ -206589,11 +209121,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(45), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(61), }, }, @@ -206607,7 +209139,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "target_object", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16332, + Ctx: p16514, FreeVars: ast.Identifiers{ "target_object", }, @@ -206615,11 +209147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(62), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(75), }, }, @@ -206634,7 +209166,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16317, + Ctx: p16499, FreeVars: ast.Identifiers{ "std", "target_object", @@ -206643,11 +209175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(45), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(76), }, }, @@ -206660,17 +209192,17 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16317, + Ctx: p16499, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(82), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(84), }, }, @@ -206688,7 +209220,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16317, + Ctx: p16499, FreeVars: ast.Identifiers{ "std", "target_object", @@ -206697,11 +209229,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(9), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(84), }, }, @@ -206715,11 +209247,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1516), + Line: int(1536), Column: int(13), }, End: ast.Location{ - Line: int(1517), + Line: int(1537), Column: int(84), }, }, @@ -206754,7 +209286,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -206811,17 +209343,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16351, + Ctx: p16533, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(78), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(82), }, }, @@ -206832,7 +209364,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "patch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16351, + Ctx: p16533, FreeVars: ast.Identifiers{ "patch", }, @@ -206840,11 +209372,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(66), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(71), }, }, @@ -206854,7 +209386,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16351, + Ctx: p16533, FreeVars: ast.Identifiers{ "k", }, @@ -206862,11 +209394,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(72), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(73), }, }, @@ -206877,7 +209409,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16351, + Ctx: p16533, FreeVars: ast.Identifiers{ "k", "patch", @@ -206886,11 +209418,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(66), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(74), }, }, @@ -206899,7 +209431,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16351, + Ctx: p16533, FreeVars: ast.Identifiers{ "k", "patch", @@ -206908,11 +209440,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(66), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(82), }, }, @@ -206926,7 +209458,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16362, + Ctx: p16544, FreeVars: ast.Identifiers{ "k", }, @@ -206934,11 +209466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(28), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(29), }, }, @@ -207073,11 +209605,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(39), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(42), }, }, @@ -207111,7 +209643,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16351, + Ctx: p16533, FreeVars: ast.Identifiers{ "std", }, @@ -207119,11 +209651,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(39), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(55), }, }, @@ -207137,7 +209669,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "patch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16377, + Ctx: p16559, FreeVars: ast.Identifiers{ "patch", }, @@ -207145,11 +209677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(56), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(61), }, }, @@ -207164,7 +209696,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16351, + Ctx: p16533, FreeVars: ast.Identifiers{ "patch", "std", @@ -207173,11 +209705,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(39), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(62), }, }, @@ -207204,11 +209736,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(27), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(83), }, }, @@ -207224,11 +209756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(13), }, End: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(83), }, }, @@ -207252,11 +209784,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(27), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(30), }, }, @@ -207290,7 +209822,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16388, + Ctx: p16570, FreeVars: ast.Identifiers{ "std", }, @@ -207298,11 +209830,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(27), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(39), }, }, @@ -207316,7 +209848,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "target_fields", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16392, + Ctx: p16574, FreeVars: ast.Identifiers{ "target_fields", }, @@ -207324,11 +209856,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(40), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(53), }, }, @@ -207351,11 +209883,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(55), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(58), }, }, @@ -207389,7 +209921,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16392, + Ctx: p16574, FreeVars: ast.Identifiers{ "std", }, @@ -207397,11 +209929,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(55), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(71), }, }, @@ -207415,7 +209947,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "patch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16402, + Ctx: p16584, FreeVars: ast.Identifiers{ "patch", }, @@ -207423,11 +209955,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(72), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(77), }, }, @@ -207442,7 +209974,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16392, + Ctx: p16574, FreeVars: ast.Identifiers{ "patch", "std", @@ -207451,11 +209983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(55), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(78), }, }, @@ -207472,7 +210004,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16388, + Ctx: p16570, FreeVars: ast.Identifiers{ "patch", "std", @@ -207482,11 +210014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(27), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(79), }, }, @@ -207502,11 +210034,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(13), }, End: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(79), }, }, @@ -207611,7 +210143,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -207674,7 +210206,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "k", }, @@ -207682,11 +210214,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1523), + Line: int(1543), Column: int(10), }, End: ast.Location{ - Line: int(1523), + Line: int(1543), Column: int(11), }, }, @@ -207708,11 +210240,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(15), }, End: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(18), }, }, @@ -207746,7 +210278,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "std", }, @@ -207754,11 +210286,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(15), }, End: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(28), }, }, @@ -207772,7 +210304,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "patch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16438, + Ctx: p16620, FreeVars: ast.Identifiers{ "patch", }, @@ -207780,11 +210312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(29), }, End: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(34), }, }, @@ -207797,7 +210329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16438, + Ctx: p16620, FreeVars: ast.Identifiers{ "k", }, @@ -207805,11 +210337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(36), }, End: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(37), }, }, @@ -207824,7 +210356,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "patch", @@ -207834,11 +210366,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(15), }, End: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(38), }, }, @@ -207848,7 +210380,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "patch", @@ -207858,11 +210390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(14), }, End: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(38), }, }, @@ -207881,7 +210413,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "target_object", }, @@ -207889,11 +210421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1525), + Line: int(1545), Column: int(13), }, End: ast.Location{ - Line: int(1525), + Line: int(1545), Column: int(26), }, }, @@ -207903,7 +210435,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", }, @@ -207911,11 +210443,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1525), + Line: int(1545), Column: int(27), }, End: ast.Location{ - Line: int(1525), + Line: int(1545), Column: int(28), }, }, @@ -207926,7 +210458,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "target_object", @@ -207935,11 +210467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1525), + Line: int(1545), Column: int(13), }, End: ast.Location{ - Line: int(1525), + Line: int(1545), Column: int(29), }, }, @@ -207961,11 +210493,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(20), }, End: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(23), }, }, @@ -207999,7 +210531,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "std", }, @@ -208007,11 +210539,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(20), }, End: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(33), }, }, @@ -208025,7 +210557,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "target_object", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16461, + Ctx: p16643, FreeVars: ast.Identifiers{ "target_object", }, @@ -208033,11 +210565,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(34), }, End: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(47), }, }, @@ -208050,7 +210582,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16461, + Ctx: p16643, FreeVars: ast.Identifiers{ "k", }, @@ -208058,11 +210590,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(49), }, End: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(50), }, }, @@ -208077,7 +210609,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "std", @@ -208087,11 +210619,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(20), }, End: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(51), }, }, @@ -208101,7 +210633,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "std", @@ -208111,11 +210643,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(19), }, End: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(51), }, }, @@ -208143,11 +210675,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(13), }, End: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(16), }, }, @@ -208181,7 +210713,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "std", }, @@ -208189,11 +210721,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(13), }, End: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(27), }, }, @@ -208206,17 +210738,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16476, + Ctx: p16658, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(28), }, End: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(32), }, }, @@ -208230,7 +210762,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "patch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16476, + Ctx: p16658, FreeVars: ast.Identifiers{ "patch", }, @@ -208238,11 +210770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(34), }, End: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(39), }, }, @@ -208252,7 +210784,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16476, + Ctx: p16658, FreeVars: ast.Identifiers{ "k", }, @@ -208260,11 +210792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(40), }, End: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(41), }, }, @@ -208275,7 +210807,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16476, + Ctx: p16658, FreeVars: ast.Identifiers{ "k", "patch", @@ -208284,11 +210816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(34), }, End: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(42), }, }, @@ -208303,7 +210835,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "patch", @@ -208313,11 +210845,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(13), }, End: ast.Location{ - Line: int(1527), + Line: int(1547), Column: int(43), }, }, @@ -208346,11 +210878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(13), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(16), }, }, @@ -208384,7 +210916,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "std", }, @@ -208392,11 +210924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(13), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(27), }, }, @@ -208411,7 +210943,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "target_object", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16494, + Ctx: p16676, FreeVars: ast.Identifiers{ "target_object", }, @@ -208419,11 +210951,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(28), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(41), }, }, @@ -208433,7 +210965,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16494, + Ctx: p16676, FreeVars: ast.Identifiers{ "k", }, @@ -208441,11 +210973,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(42), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(43), }, }, @@ -208456,7 +210988,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16494, + Ctx: p16676, FreeVars: ast.Identifiers{ "k", "target_object", @@ -208465,11 +210997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(28), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(44), }, }, @@ -208483,7 +211015,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "patch", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16494, + Ctx: p16676, FreeVars: ast.Identifiers{ "patch", }, @@ -208491,11 +211023,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(46), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(51), }, }, @@ -208505,7 +211037,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16494, + Ctx: p16676, FreeVars: ast.Identifiers{ "k", }, @@ -208513,11 +211045,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(52), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(53), }, }, @@ -208528,7 +211060,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16494, + Ctx: p16676, FreeVars: ast.Identifiers{ "k", "patch", @@ -208537,11 +211069,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(46), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(54), }, }, @@ -208556,7 +211088,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "patch", @@ -208567,11 +211099,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(13), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(55), }, }, @@ -208590,7 +211122,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "patch", @@ -208601,11 +211133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1526), + Line: int(1546), Column: int(16), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(55), }, }, @@ -208629,7 +211161,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16434, + Ctx: p16616, FreeVars: ast.Identifiers{ "k", "patch", @@ -208640,11 +211172,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1524), + Line: int(1544), Column: int(11), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(55), }, }, @@ -208654,11 +211186,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1523), + Line: int(1543), Column: int(9), }, End: ast.Location{ - Line: int(1529), + Line: int(1549), Column: int(55), }, }, @@ -208676,7 +211208,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "k", "patch", @@ -208687,11 +211219,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1522), + Line: int(1542), Column: int(7), }, End: ast.Location{ - Line: int(1531), + Line: int(1551), Column: int(8), }, }, @@ -208786,11 +211318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(18), }, End: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(21), }, }, @@ -208824,7 +211356,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "std", }, @@ -208832,11 +211364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(18), }, End: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(29), }, }, @@ -208850,7 +211382,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "both_fields", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16524, + Ctx: p16706, FreeVars: ast.Identifiers{ "both_fields", }, @@ -208858,11 +211390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(30), }, End: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(41), }, }, @@ -208875,7 +211407,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "null_fields", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16524, + Ctx: p16706, FreeVars: ast.Identifiers{ "null_fields", }, @@ -208883,11 +211415,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(43), }, End: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(54), }, }, @@ -208902,7 +211434,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "both_fields", "null_fields", @@ -208912,11 +211444,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(18), }, End: ast.Location{ - Line: int(1530), + Line: int(1550), Column: int(55), }, }, @@ -208946,11 +211478,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1522), + Line: int(1542), Column: int(7), }, End: ast.Location{ - Line: int(1531), + Line: int(1551), Column: int(8), }, }, @@ -208980,11 +211512,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1522), + Line: int(1542), Column: int(7), }, End: ast.Location{ - Line: int(1531), + Line: int(1551), Column: int(8), }, }, @@ -209001,7 +211533,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "$std", "null_fields", @@ -209014,11 +211546,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1520), + Line: int(1540), Column: int(7), }, End: ast.Location{ - Line: int(1531), + Line: int(1551), Column: int(8), }, }, @@ -209033,7 +211565,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "$std", "patch", @@ -209045,11 +211577,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1519), + Line: int(1539), Column: int(7), }, End: ast.Location{ - Line: int(1531), + Line: int(1551), Column: int(8), }, }, @@ -209064,7 +211596,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "$std", "patch", @@ -209075,11 +211607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1516), + Line: int(1536), Column: int(7), }, End: ast.Location{ - Line: int(1531), + Line: int(1551), Column: int(8), }, }, @@ -209094,7 +211626,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "$std", "patch", @@ -209105,11 +211637,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1513), + Line: int(1533), Column: int(7), }, End: ast.Location{ - Line: int(1531), + Line: int(1551), Column: int(8), }, }, @@ -209126,7 +211658,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "patch", }, @@ -209134,11 +211666,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1533), + Line: int(1553), Column: int(7), }, End: ast.Location{ - Line: int(1533), + Line: int(1553), Column: int(12), }, }, @@ -209162,7 +211694,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16282, + Ctx: p16464, FreeVars: ast.Identifiers{ "$std", "patch", @@ -209173,11 +211705,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1512), + Line: int(1532), Column: int(5), }, End: ast.Location{ - Line: int(1533), + Line: int(1553), Column: int(12), }, }, @@ -209194,11 +211726,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1511), + Line: int(1531), Column: int(14), }, End: ast.Location{ - Line: int(1511), + Line: int(1531), Column: int(20), }, }, @@ -209213,11 +211745,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1511), + Line: int(1531), Column: int(22), }, End: ast.Location{ - Line: int(1511), + Line: int(1531), Column: int(27), }, }, @@ -209249,11 +211781,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1511), + Line: int(1531), Column: int(3), }, End: ast.Location{ - Line: int(1533), + Line: int(1553), Column: int(12), }, }, @@ -209302,11 +211834,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(8), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(11), }, }, @@ -209340,7 +211872,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{ "std", }, @@ -209348,11 +211880,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(8), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(23), }, }, @@ -209366,7 +211898,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16559, + Ctx: p16741, FreeVars: ast.Identifiers{ "o", }, @@ -209374,11 +211906,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(24), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(25), }, }, @@ -209391,7 +211923,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16559, + Ctx: p16741, FreeVars: ast.Identifiers{ "f", }, @@ -209399,11 +211931,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(27), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(28), }, }, @@ -209416,7 +211948,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "inc_hidden", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16559, + Ctx: p16741, FreeVars: ast.Identifiers{ "inc_hidden", }, @@ -209424,11 +211956,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(30), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(40), }, }, @@ -209443,7 +211975,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{ "f", "inc_hidden", @@ -209454,11 +211986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(8), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(41), }, }, @@ -209471,7 +212003,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{ "o", }, @@ -209479,11 +212011,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(47), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(48), }, }, @@ -209493,7 +212025,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{ "f", }, @@ -209501,11 +212033,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(49), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(50), }, }, @@ -209516,7 +212048,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{ "f", "o", @@ -209525,11 +212057,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(47), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(51), }, }, @@ -209539,7 +212071,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "default", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{ "default", }, @@ -209547,11 +212079,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(57), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(64), }, }, @@ -209568,7 +212100,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{ "default", "f", @@ -209580,11 +212112,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(5), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(64), }, }, @@ -209601,11 +212133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(7), }, End: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(8), }, }, @@ -209620,11 +212152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(10), }, End: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(11), }, }, @@ -209637,17 +212169,17 @@ var _StdAst = &ast.DesugaredObject{ DefaultArg: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(21), }, End: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(25), }, }, @@ -209657,11 +212189,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(13), }, End: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(25), }, }, @@ -209674,17 +212206,17 @@ var _StdAst = &ast.DesugaredObject{ DefaultArg: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16555, + Ctx: p16737, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(38), }, End: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(42), }, }, @@ -209695,11 +212227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(27), }, End: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(42), }, }, @@ -209730,11 +212262,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1535), + Line: int(1555), Column: int(3), }, End: ast.Location{ - Line: int(1536), + Line: int(1556), Column: int(64), }, }, @@ -209789,11 +212321,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(5), }, End: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(8), }, }, @@ -209827,7 +212359,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16588, + Ctx: p16770, FreeVars: ast.Identifiers{ "std", }, @@ -209835,11 +212367,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(5), }, End: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(23), }, }, @@ -209853,7 +212385,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16592, + Ctx: p16774, FreeVars: ast.Identifiers{ "o", }, @@ -209861,11 +212393,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(24), }, End: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(25), }, }, @@ -209877,17 +212409,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16592, + Ctx: p16774, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(27), }, End: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(32), }, }, @@ -209903,7 +212435,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16588, + Ctx: p16770, FreeVars: ast.Identifiers{ "o", "std", @@ -209912,11 +212444,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(5), }, End: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(33), }, }, @@ -209935,11 +212467,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1538), + Line: int(1558), Column: int(16), }, End: ast.Location{ - Line: int(1538), + Line: int(1558), Column: int(17), }, }, @@ -209970,11 +212502,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1538), + Line: int(1558), Column: int(3), }, End: ast.Location{ - Line: int(1539), + Line: int(1559), Column: int(33), }, }, @@ -210029,11 +212561,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(5), }, End: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(8), }, }, @@ -210067,7 +212599,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16606, + Ctx: p16788, FreeVars: ast.Identifiers{ "std", }, @@ -210075,11 +212607,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(5), }, End: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(23), }, }, @@ -210093,7 +212625,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16610, + Ctx: p16792, FreeVars: ast.Identifiers{ "o", }, @@ -210101,11 +212633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(24), }, End: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(25), }, }, @@ -210117,17 +212649,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16610, + Ctx: p16792, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(27), }, End: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(31), }, }, @@ -210143,7 +212675,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16606, + Ctx: p16788, FreeVars: ast.Identifiers{ "o", "std", @@ -210152,11 +212684,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(5), }, End: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(32), }, }, @@ -210175,11 +212707,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1541), + Line: int(1561), Column: int(19), }, End: ast.Location{ - Line: int(1541), + Line: int(1561), Column: int(20), }, }, @@ -210210,11 +212742,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1541), + Line: int(1561), Column: int(3), }, End: ast.Location{ - Line: int(1542), + Line: int(1562), Column: int(32), }, }, @@ -210269,11 +212801,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(5), }, End: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(8), }, }, @@ -210307,7 +212839,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16624, + Ctx: p16806, FreeVars: ast.Identifiers{ "std", }, @@ -210315,11 +212847,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(5), }, End: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(20), }, }, @@ -210333,7 +212865,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16628, + Ctx: p16810, FreeVars: ast.Identifiers{ "o", }, @@ -210341,11 +212873,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(21), }, End: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(22), }, }, @@ -210358,7 +212890,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16628, + Ctx: p16810, FreeVars: ast.Identifiers{ "f", }, @@ -210366,11 +212898,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(24), }, End: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(25), }, }, @@ -210382,17 +212914,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16628, + Ctx: p16810, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(27), }, End: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(32), }, }, @@ -210408,7 +212940,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16624, + Ctx: p16806, FreeVars: ast.Identifiers{ "f", "o", @@ -210418,11 +212950,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(5), }, End: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(33), }, }, @@ -210441,11 +212973,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1544), + Line: int(1564), Column: int(13), }, End: ast.Location{ - Line: int(1544), + Line: int(1564), Column: int(14), }, }, @@ -210460,11 +212992,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1544), + Line: int(1564), Column: int(16), }, End: ast.Location{ - Line: int(1544), + Line: int(1564), Column: int(17), }, }, @@ -210495,11 +213027,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1544), + Line: int(1564), Column: int(3), }, End: ast.Location{ - Line: int(1545), + Line: int(1565), Column: int(33), }, }, @@ -210554,11 +213086,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(5), }, End: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(8), }, }, @@ -210592,7 +213124,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16644, + Ctx: p16826, FreeVars: ast.Identifiers{ "std", }, @@ -210600,11 +213132,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(5), }, End: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(20), }, }, @@ -210618,7 +213150,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16648, + Ctx: p16830, FreeVars: ast.Identifiers{ "o", }, @@ -210626,11 +213158,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(21), }, End: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(22), }, }, @@ -210643,7 +213175,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16648, + Ctx: p16830, FreeVars: ast.Identifiers{ "f", }, @@ -210651,11 +213183,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(24), }, End: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(25), }, }, @@ -210667,17 +213199,17 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.LiteralBoolean{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16648, + Ctx: p16830, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(27), }, End: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(31), }, }, @@ -210693,7 +213225,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16644, + Ctx: p16826, FreeVars: ast.Identifiers{ "f", "o", @@ -210703,11 +213235,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(5), }, End: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(32), }, }, @@ -210726,11 +213258,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1547), + Line: int(1567), Column: int(16), }, End: ast.Location{ - Line: int(1547), + Line: int(1567), Column: int(17), }, }, @@ -210745,11 +213277,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1547), + Line: int(1567), Column: int(19), }, End: ast.Location{ - Line: int(1547), + Line: int(1567), Column: int(20), }, }, @@ -210780,11 +213312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1547), + Line: int(1567), Column: int(3), }, End: ast.Location{ - Line: int(1548), + Line: int(1568), Column: int(32), }, }, @@ -210843,7 +213375,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -210903,7 +213435,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16670, + Ctx: p16852, FreeVars: ast.Identifiers{ "o", }, @@ -210911,11 +213443,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(6), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(7), }, }, @@ -210925,7 +213457,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16670, + Ctx: p16852, FreeVars: ast.Identifiers{ "k", }, @@ -210933,11 +213465,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(8), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(9), }, }, @@ -210948,7 +213480,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16670, + Ctx: p16852, FreeVars: ast.Identifiers{ "k", "o", @@ -210957,11 +213489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(6), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(10), }, }, @@ -211052,11 +213584,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(20), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(23), }, }, @@ -211090,7 +213622,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16683, + Ctx: p16865, FreeVars: ast.Identifiers{ "std", }, @@ -211098,11 +213630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(20), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(36), }, }, @@ -211116,7 +213648,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16687, + Ctx: p16869, FreeVars: ast.Identifiers{ "o", }, @@ -211124,11 +213656,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(37), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(38), }, }, @@ -211143,7 +213675,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16683, + Ctx: p16865, FreeVars: ast.Identifiers{ "o", "std", @@ -211152,11 +213684,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(20), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(39), }, }, @@ -211183,11 +213715,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(5), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(40), }, }, @@ -211206,11 +213738,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1550), + Line: int(1570), Column: int(16), }, End: ast.Location{ - Line: int(1550), + Line: int(1570), Column: int(17), }, }, @@ -211242,11 +213774,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1550), + Line: int(1570), Column: int(3), }, End: ast.Location{ - Line: int(1551), + Line: int(1571), Column: int(40), }, }, @@ -211305,7 +213837,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -211365,7 +213897,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16707, + Ctx: p16889, FreeVars: ast.Identifiers{ "o", }, @@ -211373,11 +213905,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(6), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(7), }, }, @@ -211387,7 +213919,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16707, + Ctx: p16889, FreeVars: ast.Identifiers{ "k", }, @@ -211395,11 +213927,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(8), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(9), }, }, @@ -211410,7 +213942,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16707, + Ctx: p16889, FreeVars: ast.Identifiers{ "k", "o", @@ -211419,11 +213951,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(6), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(10), }, }, @@ -211514,11 +214046,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(20), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(23), }, }, @@ -211552,7 +214084,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16720, + Ctx: p16902, FreeVars: ast.Identifiers{ "std", }, @@ -211560,11 +214092,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(20), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(39), }, }, @@ -211578,7 +214110,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16724, + Ctx: p16906, FreeVars: ast.Identifiers{ "o", }, @@ -211586,11 +214118,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(40), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(41), }, }, @@ -211605,7 +214137,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16720, + Ctx: p16902, FreeVars: ast.Identifiers{ "o", "std", @@ -211614,11 +214146,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(20), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(42), }, }, @@ -211645,11 +214177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(5), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(43), }, }, @@ -211668,11 +214200,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1553), + Line: int(1573), Column: int(19), }, End: ast.Location{ - Line: int(1553), + Line: int(1573), Column: int(20), }, }, @@ -211704,11 +214236,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1553), + Line: int(1573), Column: int(3), }, End: ast.Location{ - Line: int(1554), + Line: int(1574), Column: int(43), }, }, @@ -211767,7 +214299,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -211853,7 +214385,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16746, + Ctx: p16928, FreeVars: ast.Identifiers{ "k", }, @@ -211861,11 +214393,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(13), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(14), }, }, @@ -211875,11 +214407,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(8), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(14), }, }, @@ -211915,7 +214447,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16746, + Ctx: p16928, FreeVars: ast.Identifiers{ "o", }, @@ -211923,11 +214455,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(23), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(24), }, }, @@ -211937,7 +214469,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16746, + Ctx: p16928, FreeVars: ast.Identifiers{ "k", }, @@ -211945,11 +214477,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(25), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(26), }, }, @@ -211960,7 +214492,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16746, + Ctx: p16928, FreeVars: ast.Identifiers{ "k", "o", @@ -211969,11 +214501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(23), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(27), }, }, @@ -211983,11 +214515,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(16), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(27), }, }, @@ -211998,7 +214530,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16755, + Ctx: p16937, FreeVars: ast.Identifiers{ "k", "o", @@ -212007,11 +214539,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(6), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(29), }, }, @@ -212102,11 +214634,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(39), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(42), }, }, @@ -212140,7 +214672,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16765, + Ctx: p16947, FreeVars: ast.Identifiers{ "std", }, @@ -212148,11 +214680,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(39), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(55), }, }, @@ -212166,7 +214698,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16769, + Ctx: p16951, FreeVars: ast.Identifiers{ "o", }, @@ -212174,11 +214706,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(56), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(57), }, }, @@ -212193,7 +214725,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16765, + Ctx: p16947, FreeVars: ast.Identifiers{ "o", "std", @@ -212202,11 +214734,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(39), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(58), }, }, @@ -212233,11 +214765,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(5), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(59), }, }, @@ -212256,11 +214788,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1556), + Line: int(1576), Column: int(20), }, End: ast.Location{ - Line: int(1556), + Line: int(1576), Column: int(21), }, }, @@ -212292,11 +214824,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1556), + Line: int(1576), Column: int(3), }, End: ast.Location{ - Line: int(1557), + Line: int(1577), Column: int(59), }, }, @@ -212355,7 +214887,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -212441,7 +214973,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16791, + Ctx: p16973, FreeVars: ast.Identifiers{ "k", }, @@ -212449,11 +214981,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(13), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(14), }, }, @@ -212463,11 +214995,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(8), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(14), }, }, @@ -212503,7 +215035,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16791, + Ctx: p16973, FreeVars: ast.Identifiers{ "o", }, @@ -212511,11 +215043,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(23), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(24), }, }, @@ -212525,7 +215057,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "k", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16791, + Ctx: p16973, FreeVars: ast.Identifiers{ "k", }, @@ -212533,11 +215065,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(25), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(26), }, }, @@ -212548,7 +215080,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16791, + Ctx: p16973, FreeVars: ast.Identifiers{ "k", "o", @@ -212557,11 +215089,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(23), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(27), }, }, @@ -212571,11 +215103,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(16), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(27), }, }, @@ -212586,7 +215118,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16800, + Ctx: p16982, FreeVars: ast.Identifiers{ "k", "o", @@ -212595,11 +215127,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(6), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(29), }, }, @@ -212690,11 +215222,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(39), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(42), }, }, @@ -212728,7 +215260,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16810, + Ctx: p16992, FreeVars: ast.Identifiers{ "std", }, @@ -212736,11 +215268,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(39), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(58), }, }, @@ -212754,7 +215286,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "o", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16814, + Ctx: p16996, FreeVars: ast.Identifiers{ "o", }, @@ -212762,11 +215294,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(59), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(60), }, }, @@ -212781,7 +215313,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16810, + Ctx: p16992, FreeVars: ast.Identifiers{ "o", "std", @@ -212790,11 +215322,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(39), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(61), }, }, @@ -212821,11 +215353,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(5), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(62), }, }, @@ -212844,11 +215376,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1559), + Line: int(1579), Column: int(23), }, End: ast.Location{ - Line: int(1559), + Line: int(1579), Column: int(24), }, }, @@ -212880,11 +215412,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1559), + Line: int(1579), Column: int(3), }, End: ast.Location{ - Line: int(1560), + Line: int(1580), Column: int(62), }, }, @@ -212936,11 +215468,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(16), }, End: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(19), }, }, @@ -212974,7 +215506,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16829, + Ctx: p17011, FreeVars: ast.Identifiers{ "std", }, @@ -212982,11 +215514,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(16), }, End: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(24), }, }, @@ -213000,7 +215532,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16833, + Ctx: p17015, FreeVars: ast.Identifiers{ "a", }, @@ -213008,11 +215540,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(25), }, End: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(26), }, }, @@ -213027,7 +215559,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16829, + Ctx: p17011, FreeVars: ast.Identifiers{ "a", "std", @@ -213036,11 +215568,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(16), }, End: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(27), }, }, @@ -213056,11 +215588,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(11), }, End: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(27), }, }, @@ -213084,11 +215616,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(16), }, End: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(19), }, }, @@ -213122,7 +215654,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16843, + Ctx: p17025, FreeVars: ast.Identifiers{ "std", }, @@ -213130,11 +215662,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(16), }, End: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(24), }, }, @@ -213148,7 +215680,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16847, + Ctx: p17029, FreeVars: ast.Identifiers{ "b", }, @@ -213156,11 +215688,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(25), }, End: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(26), }, }, @@ -213175,7 +215707,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16843, + Ctx: p17025, FreeVars: ast.Identifiers{ "b", "std", @@ -213184,11 +215716,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(16), }, End: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(27), }, }, @@ -213204,11 +215736,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(11), }, End: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(27), }, }, @@ -213230,11 +215762,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(9), }, End: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(12), }, }, @@ -213268,7 +215800,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", }, @@ -213276,11 +215808,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(9), }, End: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(28), }, }, @@ -213294,7 +215826,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ta", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16861, + Ctx: p17043, FreeVars: ast.Identifiers{ "ta", }, @@ -213302,11 +215834,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(29), }, End: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(31), }, }, @@ -213319,7 +215851,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "tb", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16861, + Ctx: p17043, FreeVars: ast.Identifiers{ "tb", }, @@ -213327,11 +215859,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(33), }, End: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(35), }, }, @@ -213346,7 +215878,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", "ta", @@ -213356,11 +215888,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(9), }, End: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(36), }, }, @@ -213370,7 +215902,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", "ta", @@ -213380,11 +215912,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(8), }, End: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(36), }, }, @@ -213401,17 +215933,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1566), + Line: int(1586), Column: int(7), }, End: ast.Location{ - Line: int(1566), + Line: int(1586), Column: int(12), }, }, @@ -213433,11 +215965,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(10), }, End: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(13), }, }, @@ -213471,7 +216003,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", }, @@ -213479,11 +216011,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(10), }, End: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(29), }, }, @@ -213497,7 +216029,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ta", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16878, + Ctx: p17060, FreeVars: ast.Identifiers{ "ta", }, @@ -213505,11 +216037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(30), }, End: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(32), }, }, @@ -213524,17 +216056,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16878, + Ctx: p17060, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(34), }, End: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(41), }, }, @@ -213550,7 +216082,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", "ta", @@ -213559,11 +216091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(10), }, End: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(42), }, }, @@ -213589,11 +216121,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(20), }, End: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(23), }, }, @@ -213627,7 +216159,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16889, + Ctx: p17071, FreeVars: ast.Identifiers{ "std", }, @@ -213635,11 +216167,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(20), }, End: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(30), }, }, @@ -213653,7 +216185,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16893, + Ctx: p17075, FreeVars: ast.Identifiers{ "a", }, @@ -213661,11 +216193,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(31), }, End: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(32), }, }, @@ -213680,7 +216212,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16889, + Ctx: p17071, FreeVars: ast.Identifiers{ "a", "std", @@ -213689,11 +216221,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(20), }, End: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(33), }, }, @@ -213709,11 +216241,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(15), }, End: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(33), }, }, @@ -213735,11 +216267,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(13), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(16), }, }, @@ -213773,7 +216305,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", }, @@ -213781,11 +216313,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(13), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(32), }, }, @@ -213799,7 +216331,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "la", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16906, + Ctx: p17088, FreeVars: ast.Identifiers{ "la", }, @@ -213807,11 +216339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(33), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(35), }, }, @@ -213834,11 +216366,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(37), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(40), }, }, @@ -213872,7 +216404,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16906, + Ctx: p17088, FreeVars: ast.Identifiers{ "std", }, @@ -213880,11 +216412,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(37), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(47), }, }, @@ -213898,7 +216430,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16916, + Ctx: p17098, FreeVars: ast.Identifiers{ "b", }, @@ -213906,11 +216438,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(48), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(49), }, }, @@ -213925,7 +216457,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16906, + Ctx: p17088, FreeVars: ast.Identifiers{ "b", "std", @@ -213934,11 +216466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(37), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(50), }, }, @@ -213955,7 +216487,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "b", "la", @@ -213965,11 +216497,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(13), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(51), }, }, @@ -213979,7 +216511,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "b", "la", @@ -213989,11 +216521,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(12), }, End: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(51), }, }, @@ -214010,17 +216542,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1571), + Line: int(1591), Column: int(11), }, End: ast.Location{ - Line: int(1571), + Line: int(1591), Column: int(16), }, }, @@ -214040,7 +216572,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "la", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "la", }, @@ -214048,11 +216580,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1574), + Line: int(1594), Column: int(21), }, End: ast.Location{ - Line: int(1574), + Line: int(1594), Column: int(23), }, }, @@ -214062,7 +216594,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "i", }, @@ -214070,11 +216602,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1574), + Line: int(1594), Column: int(16), }, End: ast.Location{ - Line: int(1574), + Line: int(1594), Column: int(17), }, }, @@ -214083,7 +216615,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "i", "la", @@ -214092,11 +216624,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1574), + Line: int(1594), Column: int(16), }, End: ast.Location{ - Line: int(1574), + Line: int(1594), Column: int(23), }, }, @@ -214113,17 +216645,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1575), + Line: int(1595), Column: int(15), }, End: ast.Location{ - Line: int(1575), + Line: int(1595), Column: int(19), }, }, @@ -214137,7 +216669,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "b", }, @@ -214145,11 +216677,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(29), }, End: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(30), }, }, @@ -214159,7 +216691,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "i", }, @@ -214167,11 +216699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(31), }, End: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(32), }, }, @@ -214182,7 +216714,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "b", "i", @@ -214191,11 +216723,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(29), }, End: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(33), }, }, @@ -214206,7 +216738,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "a", }, @@ -214214,11 +216746,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(21), }, End: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(22), }, }, @@ -214228,7 +216760,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "i", }, @@ -214236,11 +216768,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(23), }, End: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(24), }, }, @@ -214251,7 +216783,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "a", "i", @@ -214260,11 +216792,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(21), }, End: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(25), }, }, @@ -214273,7 +216805,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "a", "b", @@ -214283,11 +216815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(21), }, End: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(33), }, }, @@ -214304,17 +216836,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1577), + Line: int(1597), Column: int(15), }, End: ast.Location{ - Line: int(1577), + Line: int(1597), Column: int(20), }, }, @@ -214333,7 +216865,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "aux", }, @@ -214341,11 +216873,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(15), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(18), }, }, @@ -214359,7 +216891,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16959, + Ctx: p17141, FreeVars: ast.Identifiers{ "a", }, @@ -214367,11 +216899,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(19), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(20), }, }, @@ -214384,7 +216916,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16959, + Ctx: p17141, FreeVars: ast.Identifiers{ "b", }, @@ -214392,11 +216924,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(22), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(23), }, }, @@ -214410,17 +216942,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16959, + Ctx: p17141, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(29), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(30), }, }, @@ -214430,7 +216962,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16959, + Ctx: p17141, FreeVars: ast.Identifiers{ "i", }, @@ -214438,11 +216970,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(25), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(26), }, }, @@ -214451,7 +216983,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16959, + Ctx: p17141, FreeVars: ast.Identifiers{ "i", }, @@ -214459,11 +216991,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(25), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(30), }, }, @@ -214479,7 +217011,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "a", "aux", @@ -214490,11 +217022,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(15), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(31), }, }, @@ -214513,7 +217045,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "a", "aux", @@ -214524,11 +217056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1576), + Line: int(1596), Column: int(18), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(31), }, }, @@ -214552,7 +217084,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p16929, + Ctx: p17111, FreeVars: ast.Identifiers{ "a", "aux", @@ -214564,11 +217096,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1574), + Line: int(1594), Column: int(13), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(31), }, }, @@ -214585,11 +217117,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1573), + Line: int(1593), Column: int(21), }, End: ast.Location{ - Line: int(1573), + Line: int(1593), Column: int(22), }, }, @@ -214604,11 +217136,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1573), + Line: int(1593), Column: int(24), }, End: ast.Location{ - Line: int(1573), + Line: int(1593), Column: int(25), }, }, @@ -214623,11 +217155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1573), + Line: int(1593), Column: int(27), }, End: ast.Location{ - Line: int(1573), + Line: int(1593), Column: int(28), }, }, @@ -214635,7 +217167,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p16975, + Ctx: p17157, FreeVars: ast.Identifiers{ "aux", "la", @@ -214644,11 +217176,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1573), + Line: int(1593), Column: int(17), }, End: ast.Location{ - Line: int(1579), + Line: int(1599), Column: int(31), }, }, @@ -214685,7 +217217,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "aux", }, @@ -214693,11 +217225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(11), }, End: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(14), }, }, @@ -214711,7 +217243,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16983, + Ctx: p17165, FreeVars: ast.Identifiers{ "a", }, @@ -214719,11 +217251,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(15), }, End: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(16), }, }, @@ -214736,7 +217268,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16983, + Ctx: p17165, FreeVars: ast.Identifiers{ "b", }, @@ -214744,11 +217276,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(18), }, End: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(19), }, }, @@ -214761,17 +217293,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16983, + Ctx: p17165, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(21), }, End: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(22), }, }, @@ -214786,7 +217318,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "aux", @@ -214796,11 +217328,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(11), }, End: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(23), }, }, @@ -214817,7 +217349,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -214827,11 +217359,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1573), + Line: int(1593), Column: int(11), }, End: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(23), }, }, @@ -214855,7 +217387,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -214866,11 +217398,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1570), + Line: int(1590), Column: int(9), }, End: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(23), }, }, @@ -214885,7 +217417,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -214895,11 +217427,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1569), + Line: int(1589), Column: int(9), }, End: ast.Location{ - Line: int(1580), + Line: int(1600), Column: int(23), }, }, @@ -214920,11 +217452,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(15), }, End: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(18), }, }, @@ -214958,7 +217490,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", }, @@ -214966,11 +217498,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(15), }, End: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(34), }, }, @@ -214984,7 +217516,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "ta", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17005, + Ctx: p17187, FreeVars: ast.Identifiers{ "ta", }, @@ -214992,11 +217524,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(35), }, End: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(37), }, }, @@ -215011,17 +217543,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17005, + Ctx: p17187, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(39), }, End: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(47), }, }, @@ -215037,7 +217569,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", "ta", @@ -215046,11 +217578,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(15), }, End: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(48), }, }, @@ -215076,11 +217608,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(24), }, End: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(27), }, }, @@ -215114,7 +217646,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17016, + Ctx: p17198, FreeVars: ast.Identifiers{ "std", }, @@ -215122,11 +217654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(24), }, End: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(40), }, }, @@ -215140,7 +217672,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17020, + Ctx: p17202, FreeVars: ast.Identifiers{ "a", }, @@ -215148,11 +217680,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(41), }, End: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(42), }, }, @@ -215167,7 +217699,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17016, + Ctx: p17198, FreeVars: ast.Identifiers{ "a", "std", @@ -215176,11 +217708,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(24), }, End: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(43), }, }, @@ -215196,11 +217728,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(15), }, End: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(43), }, }, @@ -215224,11 +217756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(25), }, End: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(28), }, }, @@ -215262,7 +217794,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17030, + Ctx: p17212, FreeVars: ast.Identifiers{ "std", }, @@ -215270,11 +217802,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(25), }, End: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(35), }, }, @@ -215288,7 +217820,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fields", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17034, + Ctx: p17216, FreeVars: ast.Identifiers{ "fields", }, @@ -215296,11 +217828,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(36), }, End: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(42), }, }, @@ -215315,7 +217847,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17030, + Ctx: p17212, FreeVars: ast.Identifiers{ "fields", "std", @@ -215324,11 +217856,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(25), }, End: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(43), }, }, @@ -215344,11 +217876,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(15), }, End: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(43), }, }, @@ -215370,11 +217902,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(22), }, End: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(25), }, }, @@ -215408,7 +217940,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", }, @@ -215416,11 +217948,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(22), }, End: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(38), }, }, @@ -215434,7 +217966,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17047, + Ctx: p17229, FreeVars: ast.Identifiers{ "b", }, @@ -215442,11 +217974,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(39), }, End: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(40), }, }, @@ -215461,7 +217993,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "b", "std", @@ -215470,11 +218002,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(22), }, End: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(41), }, }, @@ -215486,7 +218018,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fields", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "fields", }, @@ -215494,11 +218026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(12), }, End: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(18), }, }, @@ -215507,7 +218039,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "b", "fields", @@ -215517,11 +218049,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(12), }, End: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(41), }, }, @@ -215538,17 +218070,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1585), + Line: int(1605), Column: int(11), }, End: ast.Location{ - Line: int(1585), + Line: int(1605), Column: int(16), }, }, @@ -215568,7 +218100,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lfields", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "lfields", }, @@ -215576,11 +218108,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1588), + Line: int(1608), Column: int(21), }, End: ast.Location{ - Line: int(1588), + Line: int(1608), Column: int(28), }, }, @@ -215590,7 +218122,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "i", }, @@ -215598,11 +218130,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1588), + Line: int(1608), Column: int(16), }, End: ast.Location{ - Line: int(1588), + Line: int(1608), Column: int(17), }, }, @@ -215611,7 +218143,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "i", "lfields", @@ -215620,11 +218152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1588), + Line: int(1608), Column: int(16), }, End: ast.Location{ - Line: int(1588), + Line: int(1608), Column: int(28), }, }, @@ -215641,17 +218173,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1589), + Line: int(1609), Column: int(15), }, End: ast.Location{ - Line: int(1589), + Line: int(1609), Column: int(19), }, }, @@ -215668,7 +218200,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "fields", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17073, + Ctx: p17255, FreeVars: ast.Identifiers{ "fields", }, @@ -215676,11 +218208,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(31), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(37), }, }, @@ -215690,7 +218222,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17073, + Ctx: p17255, FreeVars: ast.Identifiers{ "i", }, @@ -215698,11 +218230,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(38), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(39), }, }, @@ -215713,7 +218245,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17073, + Ctx: p17255, FreeVars: ast.Identifiers{ "fields", "i", @@ -215722,11 +218254,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(31), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(40), }, }, @@ -215740,11 +218272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(27), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(40), }, }, @@ -215756,7 +218288,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "b", }, @@ -215764,11 +218296,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(50), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(51), }, }, @@ -215778,7 +218310,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "f", }, @@ -215786,11 +218318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(52), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(53), }, }, @@ -215801,7 +218333,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "b", "f", @@ -215810,11 +218342,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(50), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(54), }, }, @@ -215825,7 +218357,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "a", }, @@ -215833,11 +218365,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(42), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(43), }, }, @@ -215847,7 +218379,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "f", }, @@ -215855,11 +218387,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(44), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(45), }, }, @@ -215870,7 +218402,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "a", "f", @@ -215879,11 +218411,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(42), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(46), }, }, @@ -215892,7 +218424,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "a", "b", @@ -215902,11 +218434,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(42), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(54), }, }, @@ -215915,7 +218447,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "a", "b", @@ -215926,11 +218458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(21), }, End: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(54), }, }, @@ -215946,17 +218478,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1591), + Line: int(1611), Column: int(15), }, End: ast.Location{ - Line: int(1591), + Line: int(1611), Column: int(20), }, }, @@ -215975,7 +218507,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(14), }, }, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "aux", }, @@ -215983,11 +218515,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(15), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(18), }, }, @@ -216001,7 +218533,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17101, + Ctx: p17283, FreeVars: ast.Identifiers{ "a", }, @@ -216009,11 +218541,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(19), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(20), }, }, @@ -216026,7 +218558,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17101, + Ctx: p17283, FreeVars: ast.Identifiers{ "b", }, @@ -216034,11 +218566,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(22), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(23), }, }, @@ -216052,17 +218584,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17101, + Ctx: p17283, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(29), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(30), }, }, @@ -216072,7 +218604,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17101, + Ctx: p17283, FreeVars: ast.Identifiers{ "i", }, @@ -216080,11 +218612,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(25), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(26), }, }, @@ -216093,7 +218625,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17101, + Ctx: p17283, FreeVars: ast.Identifiers{ "i", }, @@ -216101,11 +218633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(25), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(30), }, }, @@ -216121,7 +218653,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "a", "aux", @@ -216132,11 +218664,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(15), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(31), }, }, @@ -216155,7 +218687,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "a", "aux", @@ -216167,11 +218699,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1590), + Line: int(1610), Column: int(18), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(31), }, }, @@ -216195,7 +218727,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(12), }, }, - Ctx: p17061, + Ctx: p17243, FreeVars: ast.Identifiers{ "a", "aux", @@ -216208,11 +218740,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1588), + Line: int(1608), Column: int(13), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(31), }, }, @@ -216229,11 +218761,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1587), + Line: int(1607), Column: int(21), }, End: ast.Location{ - Line: int(1587), + Line: int(1607), Column: int(22), }, }, @@ -216248,11 +218780,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1587), + Line: int(1607), Column: int(24), }, End: ast.Location{ - Line: int(1587), + Line: int(1607), Column: int(25), }, }, @@ -216267,11 +218799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1587), + Line: int(1607), Column: int(27), }, End: ast.Location{ - Line: int(1587), + Line: int(1607), Column: int(28), }, }, @@ -216279,7 +218811,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p17117, + Ctx: p17299, FreeVars: ast.Identifiers{ "aux", "fields", @@ -216289,11 +218821,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1587), + Line: int(1607), Column: int(17), }, End: ast.Location{ - Line: int(1593), + Line: int(1613), Column: int(31), }, }, @@ -216330,7 +218862,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "aux", }, @@ -216338,11 +218870,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(11), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(14), }, }, @@ -216356,7 +218888,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17125, + Ctx: p17307, FreeVars: ast.Identifiers{ "a", }, @@ -216364,11 +218896,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(15), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(16), }, }, @@ -216381,7 +218913,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17125, + Ctx: p17307, FreeVars: ast.Identifiers{ "b", }, @@ -216389,11 +218921,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(18), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(19), }, }, @@ -216406,17 +218938,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17125, + Ctx: p17307, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(21), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(22), }, }, @@ -216431,7 +218963,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "aux", @@ -216441,11 +218973,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(11), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(23), }, }, @@ -216462,7 +218994,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216473,11 +219005,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1587), + Line: int(1607), Column: int(11), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(23), }, }, @@ -216501,7 +219033,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216513,11 +219045,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1584), + Line: int(1604), Column: int(9), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(23), }, }, @@ -216532,7 +219064,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216543,11 +219075,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1583), + Line: int(1603), Column: int(9), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(23), }, }, @@ -216562,7 +219094,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216572,11 +219104,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1582), + Line: int(1602), Column: int(9), }, End: ast.Location{ - Line: int(1594), + Line: int(1614), Column: int(23), }, }, @@ -216603,11 +219135,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(9), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(12), }, }, @@ -216641,7 +219173,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "std", }, @@ -216649,11 +219181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(9), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(28), }, }, @@ -216667,7 +219199,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17149, + Ctx: p17331, FreeVars: ast.Identifiers{ "a", }, @@ -216675,11 +219207,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(29), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(30), }, }, @@ -216692,7 +219224,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17149, + Ctx: p17331, FreeVars: ast.Identifiers{ "b", }, @@ -216700,11 +219232,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(32), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(33), }, }, @@ -216719,7 +219251,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216729,11 +219261,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(9), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(34), }, }, @@ -216752,7 +219284,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216763,11 +219295,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1581), + Line: int(1601), Column: int(12), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(34), }, }, @@ -216791,7 +219323,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216802,11 +219334,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1568), + Line: int(1588), Column: int(7), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(34), }, }, @@ -216830,7 +219362,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216842,11 +219374,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1565), + Line: int(1585), Column: int(5), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(34), }, }, @@ -216861,7 +219393,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216872,11 +219404,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1564), + Line: int(1584), Column: int(5), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(34), }, }, @@ -216891,7 +219423,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p16857, + Ctx: p17039, FreeVars: ast.Identifiers{ "a", "b", @@ -216901,11 +219433,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1563), + Line: int(1583), Column: int(5), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(34), }, }, @@ -216922,11 +219454,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1562), + Line: int(1582), Column: int(10), }, End: ast.Location{ - Line: int(1562), + Line: int(1582), Column: int(11), }, }, @@ -216941,11 +219473,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1562), + Line: int(1582), Column: int(13), }, End: ast.Location{ - Line: int(1562), + Line: int(1582), Column: int(14), }, }, @@ -216976,11 +219508,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1562), + Line: int(1582), Column: int(3), }, End: ast.Location{ - Line: int(1596), + Line: int(1616), Column: int(34), }, }, @@ -217032,11 +219564,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(17), }, End: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(20), }, }, @@ -217070,7 +219602,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17177, + Ctx: p17359, FreeVars: ast.Identifiers{ "std", }, @@ -217078,11 +219610,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(17), }, End: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(26), }, }, @@ -217096,7 +219628,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "f", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17181, + Ctx: p17363, FreeVars: ast.Identifiers{ "f", }, @@ -217104,11 +219636,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(27), }, End: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(28), }, }, @@ -217123,17 +219655,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17181, + Ctx: p17363, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(30), }, End: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(33), }, }, @@ -217149,7 +219681,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17177, + Ctx: p17359, FreeVars: ast.Identifiers{ "f", "std", @@ -217158,11 +219690,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(17), }, End: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(34), }, }, @@ -217178,11 +219710,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(11), }, End: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(34), }, }, @@ -217209,11 +219741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(5), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(8), }, }, @@ -217247,7 +219779,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17191, + Ctx: p17373, FreeVars: ast.Identifiers{ "std", }, @@ -217255,11 +219787,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(5), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(13), }, }, @@ -217275,17 +219807,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17195, + Ctx: p17377, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(14), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(17), }, }, @@ -217303,7 +219835,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "r", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17200, + Ctx: p17382, FreeVars: ast.Identifiers{ "r", }, @@ -217311,11 +219843,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(77), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(78), }, }, @@ -217327,7 +219859,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17195, + Ctx: p17377, FreeVars: ast.Identifiers{ "r", }, @@ -217335,11 +219867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(76), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(79), }, }, @@ -217360,11 +219892,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(19), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(22), }, }, @@ -217398,7 +219930,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17195, + Ctx: p17377, FreeVars: ast.Identifiers{ "std", }, @@ -217406,11 +219938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(19), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(32), }, }, @@ -217425,17 +219957,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17212, + Ctx: p17394, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(51), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(52), }, }, @@ -217455,11 +219987,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(33), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(36), }, }, @@ -217493,7 +220025,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17212, + Ctx: p17394, FreeVars: ast.Identifiers{ "std", }, @@ -217501,11 +220033,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(33), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(43), }, }, @@ -217519,7 +220051,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17221, + Ctx: p17403, FreeVars: ast.Identifiers{ "arr", }, @@ -217527,11 +220059,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(44), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(47), }, }, @@ -217546,7 +220078,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17212, + Ctx: p17394, FreeVars: ast.Identifiers{ "arr", "std", @@ -217555,11 +220087,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(33), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(48), }, }, @@ -217570,7 +220102,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17212, + Ctx: p17394, FreeVars: ast.Identifiers{ "arr", "std", @@ -217579,11 +220111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(33), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(52), }, }, @@ -217601,7 +220133,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17228, + Ctx: p17410, FreeVars: ast.Identifiers{ "arr", }, @@ -217609,11 +220141,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(66), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(69), }, }, @@ -217623,7 +220155,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17228, + Ctx: p17410, FreeVars: ast.Identifiers{ "i", }, @@ -217631,11 +220163,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(70), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(71), }, }, @@ -217646,7 +220178,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17228, + Ctx: p17410, FreeVars: ast.Identifiers{ "arr", "i", @@ -217655,11 +220187,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(66), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(72), }, }, @@ -217676,11 +220208,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(63), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(64), }, }, @@ -217688,7 +220220,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17212, + Ctx: p17394, FreeVars: ast.Identifiers{ "arr", }, @@ -217696,11 +220228,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(54), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(72), }, }, @@ -217716,7 +220248,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17195, + Ctx: p17377, FreeVars: ast.Identifiers{ "arr", "std", @@ -217725,11 +220257,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(19), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(73), }, }, @@ -217740,7 +220272,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17195, + Ctx: p17377, FreeVars: ast.Identifiers{ "arr", "r", @@ -217750,11 +220282,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(19), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(79), }, }, @@ -217770,7 +220302,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17191, + Ctx: p17373, FreeVars: ast.Identifiers{ "arr", "r", @@ -217780,11 +220312,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(5), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(80), }, }, @@ -217801,7 +220333,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17191, + Ctx: p17373, FreeVars: ast.Identifiers{ "f", "r", @@ -217811,11 +220343,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1600), + Line: int(1620), Column: int(5), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(80), }, }, @@ -217832,11 +220364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1599), + Line: int(1619), Column: int(15), }, End: ast.Location{ - Line: int(1599), + Line: int(1619), Column: int(16), }, }, @@ -217851,11 +220383,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1599), + Line: int(1619), Column: int(18), }, End: ast.Location{ - Line: int(1599), + Line: int(1619), Column: int(19), }, }, @@ -217886,11 +220418,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1599), + Line: int(1619), Column: int(3), }, End: ast.Location{ - Line: int(1601), + Line: int(1621), Column: int(80), }, }, @@ -217936,17 +220468,17 @@ var _StdAst = &ast.DesugaredObject{ Right: &ast.LiteralNull{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1605), + Line: int(1625), Column: int(15), }, End: ast.Location{ - Line: int(1605), + Line: int(1625), Column: int(19), }, }, @@ -217956,7 +220488,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", }, @@ -217964,11 +220496,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1605), + Line: int(1625), Column: int(10), }, End: ast.Location{ - Line: int(1605), + Line: int(1625), Column: int(11), }, }, @@ -217977,7 +220509,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", }, @@ -217985,11 +220517,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1605), + Line: int(1625), Column: int(10), }, End: ast.Location{ - Line: int(1605), + Line: int(1625), Column: int(19), }, }, @@ -218006,17 +220538,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1606), + Line: int(1626), Column: int(9), }, End: ast.Location{ - Line: int(1606), + Line: int(1626), Column: int(14), }, }, @@ -218038,11 +220570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(15), }, End: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(18), }, }, @@ -218076,7 +220608,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "std", }, @@ -218084,11 +220616,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(15), }, End: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(26), }, }, @@ -218102,7 +220634,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17265, + Ctx: p17447, FreeVars: ast.Identifiers{ "b", }, @@ -218110,11 +220642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(27), }, End: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(28), }, }, @@ -218129,7 +220661,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218138,11 +220670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(15), }, End: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(29), }, }, @@ -218155,17 +220687,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(25), }, End: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(26), }, }, @@ -218192,11 +220724,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(9), }, End: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(12), }, }, @@ -218230,7 +220762,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "std", }, @@ -218238,11 +220770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(9), }, End: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(19), }, }, @@ -218256,7 +220788,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17279, + Ctx: p17461, FreeVars: ast.Identifiers{ "b", }, @@ -218264,11 +220796,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(20), }, End: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(21), }, }, @@ -218283,7 +220815,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218292,11 +220824,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(9), }, End: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(22), }, }, @@ -218307,7 +220839,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218316,11 +220848,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(9), }, End: ast.Location{ - Line: int(1608), + Line: int(1628), Column: int(26), }, }, @@ -218342,11 +220874,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(15), }, End: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(18), }, }, @@ -218380,7 +220912,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "std", }, @@ -218388,11 +220920,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(15), }, End: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(27), }, }, @@ -218406,7 +220938,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17292, + Ctx: p17474, FreeVars: ast.Identifiers{ "b", }, @@ -218414,11 +220946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(28), }, End: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(29), }, }, @@ -218433,7 +220965,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218442,11 +220974,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(15), }, End: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(30), }, }, @@ -218459,17 +220991,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(25), }, End: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(26), }, }, @@ -218496,11 +221028,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(9), }, End: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(12), }, }, @@ -218534,7 +221066,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "std", }, @@ -218542,11 +221074,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(9), }, End: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(19), }, }, @@ -218560,7 +221092,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "b", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17306, + Ctx: p17488, FreeVars: ast.Identifiers{ "b", }, @@ -218568,11 +221100,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(20), }, End: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(21), }, }, @@ -218587,7 +221119,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218596,11 +221128,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(9), }, End: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(22), }, }, @@ -218611,7 +221143,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218620,11 +221152,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(9), }, End: ast.Location{ - Line: int(1610), + Line: int(1630), Column: int(26), }, }, @@ -218641,17 +221173,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1612), + Line: int(1632), Column: int(9), }, End: ast.Location{ - Line: int(1612), + Line: int(1632), Column: int(13), }, }, @@ -218669,7 +221201,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218678,11 +221210,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1609), + Line: int(1629), Column: int(12), }, End: ast.Location{ - Line: int(1612), + Line: int(1632), Column: int(13), }, }, @@ -218699,7 +221231,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218708,11 +221240,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1607), + Line: int(1627), Column: int(12), }, End: ast.Location{ - Line: int(1612), + Line: int(1632), Column: int(13), }, }, @@ -218736,7 +221268,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17250, + Ctx: p17432, FreeVars: ast.Identifiers{ "b", "std", @@ -218745,11 +221277,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1605), + Line: int(1625), Column: int(7), }, End: ast.Location{ - Line: int(1612), + Line: int(1632), Column: int(13), }, }, @@ -218766,11 +221298,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1604), + Line: int(1624), Column: int(21), }, End: ast.Location{ - Line: int(1604), + Line: int(1624), Column: int(22), }, }, @@ -218778,7 +221310,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p17320, + Ctx: p17502, FreeVars: ast.Identifiers{ "std", }, @@ -218786,11 +221318,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1604), + Line: int(1624), Column: int(11), }, End: ast.Location{ - Line: int(1612), + Line: int(1632), Column: int(13), }, }, @@ -218830,11 +221362,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(8), }, End: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(11), }, }, @@ -218868,7 +221400,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "std", }, @@ -218876,11 +221408,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(8), }, End: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(19), }, }, @@ -218894,7 +221426,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17332, + Ctx: p17514, FreeVars: ast.Identifiers{ "a", }, @@ -218902,11 +221434,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(20), }, End: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(21), }, }, @@ -218921,7 +221453,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "a", "std", @@ -218930,11 +221462,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(8), }, End: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(22), }, }, @@ -218967,7 +221499,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -219025,7 +221557,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "isContent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "isContent", }, @@ -219033,11 +221565,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(35), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(44), }, }, @@ -219061,11 +221593,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(45), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(46), }, }, @@ -219099,7 +221631,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17353, + Ctx: p17535, FreeVars: ast.Identifiers{ "$", }, @@ -219107,11 +221639,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(45), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(52), }, }, @@ -219125,7 +221657,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17357, + Ctx: p17539, FreeVars: ast.Identifiers{ "x", }, @@ -219133,11 +221665,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(53), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(54), }, }, @@ -219152,7 +221684,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17353, + Ctx: p17535, FreeVars: ast.Identifiers{ "$", "x", @@ -219161,11 +221693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(45), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(55), }, }, @@ -219182,7 +221714,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "$", "isContent", @@ -219192,11 +221724,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(35), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(56), }, }, @@ -219221,11 +221753,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(8), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(11), }, }, @@ -219259,7 +221791,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17368, + Ctx: p17550, FreeVars: ast.Identifiers{ "std", }, @@ -219267,11 +221799,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(8), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(17), }, }, @@ -219285,7 +221817,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17372, + Ctx: p17554, FreeVars: ast.Identifiers{ "x", }, @@ -219293,11 +221825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(18), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(19), }, }, @@ -219312,7 +221844,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17368, + Ctx: p17550, FreeVars: ast.Identifiers{ "std", "x", @@ -219321,11 +221853,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(8), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(20), }, }, @@ -219457,7 +221989,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "a", }, @@ -219465,11 +221997,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(30), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(31), }, }, @@ -219496,11 +222028,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(7), }, End: ast.Location{ - Line: int(1614), + Line: int(1634), Column: int(57), }, }, @@ -219523,11 +222055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(13), }, End: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(16), }, }, @@ -219561,7 +222093,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "std", }, @@ -219569,11 +222101,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(13), }, End: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(25), }, }, @@ -219587,7 +222119,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17392, + Ctx: p17574, FreeVars: ast.Identifiers{ "a", }, @@ -219595,11 +222127,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(26), }, End: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(27), }, }, @@ -219614,7 +222146,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "a", "std", @@ -219623,11 +222155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(13), }, End: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(28), }, }, @@ -219734,7 +222266,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -219792,7 +222324,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "isContent", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "isContent", }, @@ -219800,11 +222332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(10), }, End: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(19), }, }, @@ -219828,11 +222360,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(20), }, End: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(23), }, }, @@ -219866,7 +222398,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17420, + Ctx: p17602, FreeVars: ast.Identifiers{ "std", }, @@ -219874,11 +222406,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(20), }, End: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(29), }, }, @@ -219893,7 +222425,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17425, + Ctx: p17607, FreeVars: ast.Identifiers{ "a", }, @@ -219901,11 +222433,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(30), }, End: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(31), }, }, @@ -219915,7 +222447,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17425, + Ctx: p17607, FreeVars: ast.Identifiers{ "x", }, @@ -219923,11 +222455,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(32), }, End: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(33), }, }, @@ -219938,7 +222470,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17425, + Ctx: p17607, FreeVars: ast.Identifiers{ "a", "x", @@ -219947,11 +222479,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(30), }, End: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(34), }, }, @@ -219966,7 +222498,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17420, + Ctx: p17602, FreeVars: ast.Identifiers{ "a", "std", @@ -219976,11 +222508,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(20), }, End: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(35), }, }, @@ -219997,7 +222529,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "a", "isContent", @@ -220008,11 +222540,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(10), }, End: ast.Location{ - Line: int(1618), + Line: int(1638), Column: int(36), }, }, @@ -220031,7 +222563,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "x", }, @@ -220039,11 +222571,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(8), }, End: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(9), }, }, @@ -220063,11 +222595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(12), }, End: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(13), }, }, @@ -220101,7 +222633,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17443, + Ctx: p17625, FreeVars: ast.Identifiers{ "$", }, @@ -220109,11 +222641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(12), }, End: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(19), }, }, @@ -220128,7 +222660,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17448, + Ctx: p17630, FreeVars: ast.Identifiers{ "a", }, @@ -220136,11 +222668,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(20), }, End: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(21), }, }, @@ -220150,7 +222682,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17448, + Ctx: p17630, FreeVars: ast.Identifiers{ "x", }, @@ -220158,11 +222690,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(22), }, End: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(23), }, }, @@ -220173,7 +222705,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17448, + Ctx: p17630, FreeVars: ast.Identifiers{ "a", "x", @@ -220182,11 +222714,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(20), }, End: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(24), }, }, @@ -220201,7 +222733,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17443, + Ctx: p17625, FreeVars: ast.Identifiers{ "$", "a", @@ -220211,11 +222743,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(12), }, End: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(25), }, }, @@ -220227,11 +222759,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(7), }, End: ast.Location{ - Line: int(1616), + Line: int(1636), Column: int(25), }, }, @@ -220242,7 +222774,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "$", "a", @@ -220252,11 +222784,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(34), }, End: ast.Location{ - Line: int(1619), + Line: int(1639), Column: int(6), }, }, @@ -220399,11 +222931,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1617), + Line: int(1637), Column: int(16), }, End: ast.Location{ - Line: int(1617), + Line: int(1637), Column: int(19), }, }, @@ -220437,7 +222969,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "std", }, @@ -220445,11 +222977,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1617), + Line: int(1637), Column: int(16), }, End: ast.Location{ - Line: int(1617), + Line: int(1637), Column: int(32), }, }, @@ -220463,7 +222995,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "a", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17468, + Ctx: p17650, FreeVars: ast.Identifiers{ "a", }, @@ -220471,11 +223003,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1617), + Line: int(1637), Column: int(33), }, End: ast.Location{ - Line: int(1617), + Line: int(1637), Column: int(34), }, }, @@ -220490,7 +223022,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "a", "std", @@ -220499,11 +223031,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1617), + Line: int(1637), Column: int(16), }, End: ast.Location{ - Line: int(1617), + Line: int(1637), Column: int(35), }, }, @@ -220532,11 +223064,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(34), }, End: ast.Location{ - Line: int(1619), + Line: int(1639), Column: int(6), }, }, @@ -220565,11 +223097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(34), }, End: ast.Location{ - Line: int(1619), + Line: int(1639), Column: int(6), }, }, @@ -220588,7 +223120,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "a", }, @@ -220596,11 +223128,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1620), + Line: int(1640), Column: int(7), }, End: ast.Location{ - Line: int(1620), + Line: int(1640), Column: int(8), }, }, @@ -220610,7 +223142,7 @@ var _StdAst = &ast.DesugaredObject{ ElseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "$", "$std", @@ -220622,11 +223154,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1615), + Line: int(1635), Column: int(10), }, End: ast.Location{ - Line: int(1620), + Line: int(1640), Column: int(8), }, }, @@ -220650,7 +223182,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "$", "$std", @@ -220662,11 +223194,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1613), + Line: int(1633), Column: int(5), }, End: ast.Location{ - Line: int(1620), + Line: int(1640), Column: int(8), }, }, @@ -220681,7 +223213,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17328, + Ctx: p17510, FreeVars: ast.Identifiers{ "$", "$std", @@ -220692,11 +223224,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1604), + Line: int(1624), Column: int(5), }, End: ast.Location{ - Line: int(1620), + Line: int(1640), Column: int(8), }, }, @@ -220713,11 +223245,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1603), + Line: int(1623), Column: int(9), }, End: ast.Location{ - Line: int(1603), + Line: int(1623), Column: int(10), }, }, @@ -220750,11 +223282,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1603), + Line: int(1623), Column: int(3), }, End: ast.Location{ - Line: int(1620), + Line: int(1640), Column: int(8), }, }, @@ -220804,11 +223336,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(9), }, End: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(12), }, }, @@ -220842,7 +223374,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", }, @@ -220850,11 +223382,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(9), }, End: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(21), }, }, @@ -220868,7 +223400,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pat", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17497, + Ctx: p17679, FreeVars: ast.Identifiers{ "pat", }, @@ -220876,11 +223408,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(22), }, End: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(25), }, }, @@ -220895,7 +223427,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat", "std", @@ -220904,11 +223436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(9), }, End: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(26), }, }, @@ -220918,7 +223450,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat", "std", @@ -220927,11 +223459,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(8), }, End: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(26), }, }, @@ -220954,11 +223486,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(69), }, End: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(72), }, }, @@ -220992,7 +223524,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", }, @@ -221000,11 +223532,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(69), }, End: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(77), }, }, @@ -221018,7 +223550,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pat", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17511, + Ctx: p17693, FreeVars: ast.Identifiers{ "pat", }, @@ -221026,11 +223558,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(78), }, End: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(81), }, }, @@ -221045,7 +223577,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat", "std", @@ -221054,11 +223586,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(69), }, End: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(82), }, }, @@ -221072,17 +223604,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(13), }, End: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(66), }, }, @@ -221092,7 +223624,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat", "std", @@ -221101,11 +223633,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(13), }, End: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(82), }, }, @@ -221121,7 +223653,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat", "std", @@ -221130,11 +223662,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(7), }, End: ast.Location{ - Line: int(1624), + Line: int(1644), Column: int(82), }, }, @@ -221156,11 +223688,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(14), }, End: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(17), }, }, @@ -221194,7 +223726,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", }, @@ -221202,11 +223734,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(14), }, End: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(26), }, }, @@ -221220,7 +223752,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17528, + Ctx: p17710, FreeVars: ast.Identifiers{ "str", }, @@ -221228,11 +223760,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(27), }, End: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(30), }, }, @@ -221247,7 +223779,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", "str", @@ -221256,11 +223788,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(14), }, End: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(31), }, }, @@ -221270,7 +223802,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", "str", @@ -221279,11 +223811,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(13), }, End: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(31), }, }, @@ -221306,11 +223838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(70), }, End: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(73), }, }, @@ -221344,7 +223876,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", }, @@ -221352,11 +223884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(70), }, End: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(78), }, }, @@ -221370,7 +223902,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17542, + Ctx: p17724, FreeVars: ast.Identifiers{ "str", }, @@ -221378,11 +223910,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(79), }, End: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(82), }, }, @@ -221397,7 +223929,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", "str", @@ -221406,11 +223938,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(70), }, End: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(83), }, }, @@ -221424,17 +223956,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(13), }, End: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(67), }, }, @@ -221444,7 +223976,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", "str", @@ -221453,11 +223985,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(13), }, End: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(83), }, }, @@ -221473,7 +224005,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", "str", @@ -221482,11 +224014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(7), }, End: ast.Location{ - Line: int(1626), + Line: int(1646), Column: int(83), }, }, @@ -221510,11 +224042,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(23), }, End: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(26), }, }, @@ -221548,7 +224080,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17556, + Ctx: p17738, FreeVars: ast.Identifiers{ "std", }, @@ -221556,11 +224088,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(23), }, End: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(33), }, }, @@ -221574,7 +224106,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pat", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17560, + Ctx: p17742, FreeVars: ast.Identifiers{ "pat", }, @@ -221582,11 +224114,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(34), }, End: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(37), }, }, @@ -221601,7 +224133,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17556, + Ctx: p17738, FreeVars: ast.Identifiers{ "pat", "std", @@ -221610,11 +224142,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(23), }, End: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(38), }, }, @@ -221630,11 +224162,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(13), }, End: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(38), }, }, @@ -221658,11 +224190,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(23), }, End: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(26), }, }, @@ -221696,7 +224228,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17570, + Ctx: p17752, FreeVars: ast.Identifiers{ "std", }, @@ -221704,11 +224236,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(23), }, End: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(33), }, }, @@ -221722,7 +224254,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17574, + Ctx: p17756, FreeVars: ast.Identifiers{ "str", }, @@ -221730,11 +224262,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(34), }, End: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(37), }, }, @@ -221749,7 +224281,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17570, + Ctx: p17752, FreeVars: ast.Identifiers{ "std", "str", @@ -221758,11 +224290,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(23), }, End: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(38), }, }, @@ -221778,11 +224310,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(13), }, End: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(38), }, }, @@ -221795,7 +224327,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str_len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "str_len", }, @@ -221803,11 +224335,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(52), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(59), }, }, @@ -221817,7 +224349,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pat_len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat_len", }, @@ -221825,11 +224357,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(42), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(49), }, }, @@ -221838,7 +224370,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat_len", "str_len", @@ -221847,11 +224379,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(42), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(59), }, }, @@ -221864,17 +224396,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(37), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(38), }, }, @@ -221884,7 +224416,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str_len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "str_len", }, @@ -221892,11 +224424,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(26), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(33), }, }, @@ -221905,7 +224437,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "str_len", }, @@ -221913,11 +224445,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(26), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(38), }, }, @@ -221929,17 +224461,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(21), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(22), }, }, @@ -221949,7 +224481,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pat_len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat_len", }, @@ -221957,11 +224489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(10), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(17), }, }, @@ -221970,7 +224502,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat_len", }, @@ -221978,11 +224510,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(10), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(22), }, }, @@ -221992,7 +224524,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat_len", "str_len", @@ -222001,11 +224533,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(10), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(38), }, }, @@ -222015,7 +224547,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "pat_len", "str_len", @@ -222024,11 +224556,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(10), }, End: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(59), }, }, @@ -222047,17 +224579,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1631), + Line: int(1651), Column: int(9), }, End: ast.Location{ - Line: int(1631), + Line: int(1651), Column: int(11), }, }, @@ -222085,11 +224617,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(9), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(12), }, }, @@ -222123,7 +224655,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "std", }, @@ -222131,11 +224663,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(9), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(19), }, }, @@ -222153,7 +224685,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pat", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17611, + Ctx: p17793, FreeVars: ast.Identifiers{ "pat", }, @@ -222161,11 +224693,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(54), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(57), }, }, @@ -222249,7 +224781,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17611, + Ctx: p17793, FreeVars: ast.Identifiers{ "str", }, @@ -222257,11 +224789,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(32), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(35), }, }, @@ -222274,7 +224806,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17611, + Ctx: p17793, FreeVars: ast.Identifiers{ "i", }, @@ -222282,11 +224814,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(36), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(37), }, }, @@ -222300,7 +224832,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pat_len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17611, + Ctx: p17793, FreeVars: ast.Identifiers{ "pat_len", }, @@ -222308,11 +224840,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(42), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(49), }, }, @@ -222322,7 +224854,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17611, + Ctx: p17793, FreeVars: ast.Identifiers{ "i", }, @@ -222330,11 +224862,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(38), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(39), }, }, @@ -222343,7 +224875,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17611, + Ctx: p17793, FreeVars: ast.Identifiers{ "i", "pat_len", @@ -222352,11 +224884,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(38), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(49), }, }, @@ -222405,11 +224937,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(32), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(50), }, }, @@ -222420,7 +224952,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17611, + Ctx: p17793, FreeVars: ast.Identifiers{ "$std", "i", @@ -222432,11 +224964,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(32), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(57), }, }, @@ -222454,11 +224986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(29), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(30), }, }, @@ -222466,7 +224998,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17634, + Ctx: p17816, FreeVars: ast.Identifiers{ "$std", "pat", @@ -222477,11 +225009,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(20), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(57), }, }, @@ -222505,11 +225037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(59), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(62), }, }, @@ -222543,7 +225075,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17634, + Ctx: p17816, FreeVars: ast.Identifiers{ "std", }, @@ -222551,11 +225083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(59), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(68), }, }, @@ -222569,17 +225101,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17644, + Ctx: p17826, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(69), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(70), }, }, @@ -222593,7 +225125,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "pat_len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17644, + Ctx: p17826, FreeVars: ast.Identifiers{ "pat_len", }, @@ -222601,11 +225133,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(82), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(89), }, }, @@ -222615,7 +225147,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str_len", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17644, + Ctx: p17826, FreeVars: ast.Identifiers{ "str_len", }, @@ -222623,11 +225155,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(72), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(79), }, }, @@ -222636,7 +225168,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17644, + Ctx: p17826, FreeVars: ast.Identifiers{ "pat_len", "str_len", @@ -222645,11 +225177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(72), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(89), }, }, @@ -222665,7 +225197,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17634, + Ctx: p17816, FreeVars: ast.Identifiers{ "pat_len", "std", @@ -222675,11 +225207,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(59), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(90), }, }, @@ -222696,7 +225228,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "$std", "pat", @@ -222709,11 +225241,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(9), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(91), }, }, @@ -222739,7 +225271,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "$std", "pat", @@ -222752,11 +225284,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1630), + Line: int(1650), Column: int(7), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(91), }, }, @@ -222771,7 +225303,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "$std", "pat", @@ -222783,11 +225315,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1629), + Line: int(1649), Column: int(7), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(91), }, }, @@ -222802,7 +225334,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "$std", "pat", @@ -222813,11 +225345,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1628), + Line: int(1648), Column: int(7), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(91), }, }, @@ -222834,7 +225366,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "$std", "pat", @@ -222845,11 +225377,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1625), + Line: int(1645), Column: int(10), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(91), }, }, @@ -222873,7 +225405,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17493, + Ctx: p17675, FreeVars: ast.Identifiers{ "$std", "pat", @@ -222884,11 +225416,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1623), + Line: int(1643), Column: int(5), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(91), }, }, @@ -222905,11 +225437,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1622), + Line: int(1642), Column: int(14), }, End: ast.Location{ - Line: int(1622), + Line: int(1642), Column: int(17), }, }, @@ -222924,11 +225456,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1622), + Line: int(1642), Column: int(19), }, End: ast.Location{ - Line: int(1622), + Line: int(1642), Column: int(22), }, }, @@ -222960,11 +225492,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1622), + Line: int(1642), Column: int(3), }, End: ast.Location{ - Line: int(1633), + Line: int(1653), Column: int(91), }, }, @@ -223014,11 +225546,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(9), }, End: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(12), }, }, @@ -223052,7 +225584,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "std", }, @@ -223060,11 +225592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(9), }, End: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(20), }, }, @@ -223078,7 +225610,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17680, + Ctx: p17862, FreeVars: ast.Identifiers{ "arr", }, @@ -223086,11 +225618,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(21), }, End: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(24), }, }, @@ -223105,7 +225637,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "arr", "std", @@ -223114,11 +225646,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(9), }, End: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(25), }, }, @@ -223128,7 +225660,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "arr", "std", @@ -223137,11 +225669,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(8), }, End: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(25), }, }, @@ -223164,11 +225696,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(64), }, End: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(67), }, }, @@ -223202,7 +225734,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "std", }, @@ -223210,11 +225742,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(64), }, End: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(72), }, }, @@ -223228,7 +225760,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17694, + Ctx: p17876, FreeVars: ast.Identifiers{ "arr", }, @@ -223236,11 +225768,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(73), }, End: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(76), }, }, @@ -223255,7 +225787,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "arr", "std", @@ -223264,11 +225796,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(64), }, End: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(77), }, }, @@ -223282,17 +225814,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(13), }, End: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(61), }, }, @@ -223302,7 +225834,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "arr", "std", @@ -223311,11 +225843,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(13), }, End: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(77), }, }, @@ -223331,7 +225863,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "arr", "std", @@ -223340,11 +225872,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(7), }, End: ast.Location{ - Line: int(1637), + Line: int(1657), Column: int(77), }, }, @@ -223371,11 +225903,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(7), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(10), }, }, @@ -223409,7 +225941,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "std", }, @@ -223417,11 +225949,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(7), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(17), }, }, @@ -223439,7 +225971,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "value", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17712, + Ctx: p17894, FreeVars: ast.Identifiers{ "value", }, @@ -223447,11 +225979,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(40), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(45), }, }, @@ -223462,7 +225994,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17712, + Ctx: p17894, FreeVars: ast.Identifiers{ "arr", }, @@ -223470,11 +226002,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(30), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(33), }, }, @@ -223484,7 +226016,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17712, + Ctx: p17894, FreeVars: ast.Identifiers{ "i", }, @@ -223492,11 +226024,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(34), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(35), }, }, @@ -223507,7 +226039,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17712, + Ctx: p17894, FreeVars: ast.Identifiers{ "arr", "i", @@ -223516,11 +226048,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(30), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(36), }, }, @@ -223529,7 +226061,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17712, + Ctx: p17894, FreeVars: ast.Identifiers{ "arr", "i", @@ -223539,11 +226071,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(30), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(45), }, }, @@ -223561,11 +226093,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(27), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(28), }, }, @@ -223573,7 +226105,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17722, + Ctx: p17904, FreeVars: ast.Identifiers{ "arr", "value", @@ -223582,11 +226114,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(18), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(45), }, }, @@ -223610,11 +226142,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(47), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(50), }, }, @@ -223648,7 +226180,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17722, + Ctx: p17904, FreeVars: ast.Identifiers{ "std", }, @@ -223656,11 +226188,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(47), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(56), }, }, @@ -223674,17 +226206,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17732, + Ctx: p17914, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(57), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(58), }, }, @@ -223698,17 +226230,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17732, + Ctx: p17914, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(78), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(79), }, }, @@ -223728,11 +226260,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(60), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(63), }, }, @@ -223766,7 +226298,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17732, + Ctx: p17914, FreeVars: ast.Identifiers{ "std", }, @@ -223774,11 +226306,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(60), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(70), }, }, @@ -223792,7 +226324,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17743, + Ctx: p17925, FreeVars: ast.Identifiers{ "arr", }, @@ -223800,11 +226332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(71), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(74), }, }, @@ -223819,7 +226351,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17732, + Ctx: p17914, FreeVars: ast.Identifiers{ "arr", "std", @@ -223828,11 +226360,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(60), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(75), }, }, @@ -223843,7 +226375,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17732, + Ctx: p17914, FreeVars: ast.Identifiers{ "arr", "std", @@ -223852,11 +226384,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(60), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(79), }, }, @@ -223872,7 +226404,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17722, + Ctx: p17904, FreeVars: ast.Identifiers{ "arr", "std", @@ -223881,11 +226413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(47), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(80), }, }, @@ -223902,7 +226434,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "arr", "std", @@ -223912,11 +226444,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(7), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(81), }, }, @@ -223942,7 +226474,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17676, + Ctx: p17858, FreeVars: ast.Identifiers{ "arr", "std", @@ -223952,11 +226484,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1636), + Line: int(1656), Column: int(5), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(81), }, }, @@ -223973,11 +226505,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1635), + Line: int(1655), Column: int(8), }, End: ast.Location{ - Line: int(1635), + Line: int(1655), Column: int(13), }, }, @@ -223992,11 +226524,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1635), + Line: int(1655), Column: int(15), }, End: ast.Location{ - Line: int(1635), + Line: int(1655), Column: int(18), }, }, @@ -224027,11 +226559,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1635), + Line: int(1655), Column: int(3), }, End: ast.Location{ - Line: int(1639), + Line: int(1659), Column: int(81), }, }, @@ -224080,11 +226612,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(12), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(15), }, }, @@ -224118,7 +226650,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ "std", }, @@ -224126,11 +226658,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(12), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(23), }, }, @@ -224144,7 +226676,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17766, + Ctx: p17948, FreeVars: ast.Identifiers{ "arr", }, @@ -224152,11 +226684,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(24), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(27), }, }, @@ -224171,7 +226703,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ "arr", "std", @@ -224180,11 +226712,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(12), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(28), }, }, @@ -224210,11 +226742,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(20), }, End: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(23), }, }, @@ -224248,7 +226780,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17776, + Ctx: p17958, FreeVars: ast.Identifiers{ "std", }, @@ -224256,11 +226788,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(20), }, End: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(30), }, }, @@ -224274,7 +226806,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17780, + Ctx: p17962, FreeVars: ast.Identifiers{ "arr", }, @@ -224282,11 +226814,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(31), }, End: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(34), }, }, @@ -224301,7 +226833,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17776, + Ctx: p17958, FreeVars: ast.Identifiers{ "arr", "std", @@ -224310,11 +226842,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(20), }, End: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(35), }, }, @@ -224330,11 +226862,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(11), }, End: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(35), }, }, @@ -224353,7 +226885,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arrLen", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "arrLen", }, @@ -224361,11 +226893,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1645), + Line: int(1665), Column: int(17), }, End: ast.Location{ - Line: int(1645), + Line: int(1665), Column: int(23), }, }, @@ -224375,7 +226907,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "idx", }, @@ -224383,11 +226915,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1645), + Line: int(1665), Column: int(10), }, End: ast.Location{ - Line: int(1645), + Line: int(1665), Column: int(13), }, }, @@ -224396,7 +226928,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "arrLen", "idx", @@ -224405,11 +226937,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1645), + Line: int(1665), Column: int(10), }, End: ast.Location{ - Line: int(1645), + Line: int(1665), Column: int(23), }, }, @@ -224426,17 +226958,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1646), + Line: int(1666), Column: int(9), }, End: ast.Location{ - Line: int(1646), + Line: int(1666), Column: int(13), }, }, @@ -224452,7 +226984,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17800, + Ctx: p17982, FreeVars: ast.Identifiers{ "arr", }, @@ -224460,11 +226992,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(19), }, End: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(22), }, }, @@ -224474,7 +227006,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17800, + Ctx: p17982, FreeVars: ast.Identifiers{ "idx", }, @@ -224482,11 +227014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(23), }, End: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(26), }, }, @@ -224497,7 +227029,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17800, + Ctx: p17982, FreeVars: ast.Identifiers{ "arr", "idx", @@ -224506,11 +227038,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(19), }, End: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(27), }, }, @@ -224524,11 +227056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(15), }, End: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(27), }, }, @@ -224549,11 +227081,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(16), }, End: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(19), }, }, @@ -224587,7 +227119,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "std", }, @@ -224595,11 +227127,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(16), }, End: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(29), }, }, @@ -224613,7 +227145,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "e", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17814, + Ctx: p17996, FreeVars: ast.Identifiers{ "e", }, @@ -224621,11 +227153,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(30), }, End: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(31), }, }, @@ -224640,7 +227172,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "e", "std", @@ -224649,11 +227181,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(16), }, End: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(32), }, }, @@ -224667,7 +227199,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "e", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "e", }, @@ -224675,11 +227207,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1650), + Line: int(1670), Column: int(13), }, End: ast.Location{ - Line: int(1650), + Line: int(1670), Column: int(14), }, }, @@ -224687,7 +227219,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "e", }, @@ -224695,11 +227227,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1650), + Line: int(1670), Column: int(12), }, End: ast.Location{ - Line: int(1650), + Line: int(1670), Column: int(14), }, }, @@ -224716,17 +227248,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1651), + Line: int(1671), Column: int(11), }, End: ast.Location{ - Line: int(1651), + Line: int(1671), Column: int(16), }, }, @@ -224745,7 +227277,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "aux", }, @@ -224753,11 +227285,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(11), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(14), }, }, @@ -224772,17 +227304,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17831, + Ctx: p18013, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(21), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(22), }, }, @@ -224792,7 +227324,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17831, + Ctx: p18013, FreeVars: ast.Identifiers{ "idx", }, @@ -224800,11 +227332,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(15), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(18), }, }, @@ -224813,7 +227345,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17831, + Ctx: p18013, FreeVars: ast.Identifiers{ "idx", }, @@ -224821,11 +227353,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(15), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(22), }, }, @@ -224841,7 +227373,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "aux", "idx", @@ -224850,11 +227382,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(11), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(23), }, }, @@ -224880,7 +227412,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ "aux", "e", @@ -224890,11 +227422,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1650), + Line: int(1670), Column: int(9), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(23), }, }, @@ -224904,29 +227436,29 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.Apply{ Target: &ast.Index{ Target: &ast.Var{ - Id: "std", + Id: "$std", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, + Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1649), - Column: int(35), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1649), - Column: int(38), + Line: int(0), + Column: int(0), }, }, }, }, Index: &ast.LiteralString{ - Value: "format", + Value: "mod", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -224948,30 +227480,30 @@ var _StdAst = &ast.DesugaredObject{ }, Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, + RightBracketFodder: nil, + LeftBracketFodder: nil, Id: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p17789, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1649), - Column: int(35), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1649), - Column: int(45), + Line: int(0), + Column: int(0), }, }, }, }, - FodderLeft: ast.Fodder{}, + FodderLeft: nil, Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ @@ -224981,157 +227513,187 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17848, + Ctx: p17971, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), - Column: int(46), + Line: int(1669), + Column: int(35), }, End: ast.Location{ - Line: int(1649), - Column: int(88), + Line: int(1669), + Column: int(77), }, }, }, Kind: ast.LiteralStringKind(1), }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "e", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p17848, - FreeVars: ast.Identifiers{ - "e", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1649), - Column: int(90), - }, - End: ast.Location{ - Line: int(1649), - Column: int(91), - }, - }, - }, - }, - CommaFodder: ast.Fodder{}, + CommaFodder: nil, }, ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1649), - Column: int(93), + Expr: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "e", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18033, + FreeVars: ast.Identifiers{ + "e", }, - End: ast.Location{ - Line: int(1649), - Column: int(96), + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1669), + Column: int(81), + }, + End: ast.Location{ + Line: int(1669), + Column: int(82), + }, }, }, }, + CommaFodder: ast.Fodder{}, }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1669), + Column: int(84), + }, + End: ast.Location{ + Line: int(1669), + Column: int(87), + }, + }, + }, }, - End: ast.Location{ - Line: int(0), - Column: int(0), + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p17848, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1649), - Column: int(93), - }, - End: ast.Location{ - Line: int(1649), - Column: int(101), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "e", + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17859, + Ctx: p18033, FreeVars: ast.Identifiers{ - "e", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), - Column: int(102), + Line: int(1669), + Column: int(84), }, End: ast.Location{ - Line: int(1649), - Column: int(103), + Line: int(1669), + Column: int(92), }, }, }, }, - CommaFodder: nil, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "e", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18043, + FreeVars: ast.Identifiers{ + "e", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1669), + Column: int(93), + }, + End: ast.Location{ + Line: int(1669), + Column: int(94), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18033, + FreeVars: ast.Identifiers{ + "e", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1669), + Column: int(84), + }, + End: ast.Location{ + Line: int(1669), + Column: int(95), + }, + }, + }, + TrailingComma: false, + TailStrict: false, }, + CommaFodder: nil, }, - Named: nil, }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17848, + Ctx: p17971, FreeVars: ast.Identifiers{ "e", "std", @@ -225140,29 +227702,29 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), - Column: int(93), + Line: int(1669), + Column: int(80), }, End: ast.Location{ - Line: int(1649), - Column: int(104), + Line: int(1669), + Column: int(96), }, }, }, TrailingComma: false, - TailStrict: false, }, CommaFodder: nil, }, }, Named: nil, }, - FodderRight: ast.Fodder{}, + FodderRight: nil, TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p17789, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ + "$std", "e", "std", }, @@ -225170,12 +227732,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(35), }, End: ast.Location{ - Line: int(1649), - Column: int(105), + Line: int(1669), + Column: int(96), }, }, }, @@ -225186,6 +227748,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ + "$std", "e", "std", }, @@ -225193,11 +227756,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1649), + Line: int(1669), Column: int(9), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(23), }, }, @@ -225209,6 +227772,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ + "$std", "aux", "e", "idx", @@ -225237,8 +227801,9 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ + "$std", "arr", "aux", "idx", @@ -225248,11 +227813,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1648), + Line: int(1668), Column: int(9), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(23), }, }, @@ -225276,8 +227841,9 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17789, + Ctx: p17971, FreeVars: ast.Identifiers{ + "$std", "arr", "arrLen", "aux", @@ -225288,11 +227854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1645), + Line: int(1665), Column: int(7), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(23), }, }, @@ -225309,11 +227875,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1644), + Line: int(1664), Column: int(15), }, End: ast.Location{ - Line: int(1644), + Line: int(1664), Column: int(18), }, }, @@ -225321,8 +227887,9 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p17871, + Ctx: p18056, FreeVars: ast.Identifiers{ + "$std", "arr", "arrLen", "aux", @@ -225332,11 +227899,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1644), + Line: int(1664), Column: int(11), }, End: ast.Location{ - Line: int(1653), + Line: int(1673), Column: int(23), }, }, @@ -225373,7 +227940,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ "aux", }, @@ -225381,11 +227948,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(5), }, End: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(8), }, }, @@ -225399,17 +227966,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17879, + Ctx: p18064, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(9), }, End: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(10), }, }, @@ -225424,7 +227991,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ "aux", }, @@ -225432,11 +227999,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(5), }, End: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(11), }, }, @@ -225453,8 +228020,9 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ + "$std", "arr", "arrLen", "std", @@ -225463,11 +228031,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1644), + Line: int(1664), Column: int(5), }, End: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(11), }, }, @@ -225482,8 +228050,9 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ + "$std", "arr", "std", }, @@ -225491,11 +228060,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1643), + Line: int(1663), Column: int(5), }, End: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(11), }, }, @@ -225517,11 +228086,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(76), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(79), }, }, @@ -225555,7 +228124,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ "std", }, @@ -225563,11 +228132,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(76), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(84), }, }, @@ -225581,7 +228150,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17895, + Ctx: p18080, FreeVars: ast.Identifiers{ "arr", }, @@ -225589,11 +228158,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(85), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(88), }, }, @@ -225608,7 +228177,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ "arr", "std", @@ -225617,11 +228186,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(76), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(89), }, }, @@ -225635,17 +228204,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(31), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(73), }, }, @@ -225655,7 +228224,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17762, + Ctx: p17944, FreeVars: ast.Identifiers{ "arr", "std", @@ -225664,11 +228233,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(31), }, End: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(89), }, }, @@ -225686,11 +228255,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1642), + Line: int(1662), Column: int(5), }, End: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(11), }, }, @@ -225702,6 +228271,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ + "$std", "arr", "std", }, @@ -225730,11 +228300,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1641), + Line: int(1661), Column: int(7), }, End: ast.Location{ - Line: int(1641), + Line: int(1661), Column: int(10), }, }, @@ -225744,6 +228314,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: p23, FreeVars: ast.Identifiers{ + "$std", "std", }, LocRange: ast.LocationRange{ @@ -225765,11 +228336,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1641), + Line: int(1661), Column: int(3), }, End: ast.Location{ - Line: int(1654), + Line: int(1674), Column: int(11), }, }, @@ -225818,11 +228389,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(12), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(15), }, }, @@ -225856,7 +228427,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ "std", }, @@ -225864,11 +228435,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(12), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(23), }, }, @@ -225882,7 +228453,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17916, + Ctx: p18101, FreeVars: ast.Identifiers{ "arr", }, @@ -225890,11 +228461,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(24), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(27), }, }, @@ -225909,7 +228480,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ "arr", "std", @@ -225918,11 +228489,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(12), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(28), }, }, @@ -225948,11 +228519,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(20), }, End: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(23), }, }, @@ -225986,7 +228557,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17926, + Ctx: p18111, FreeVars: ast.Identifiers{ "std", }, @@ -225994,11 +228565,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(20), }, End: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(30), }, }, @@ -226012,7 +228583,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17930, + Ctx: p18115, FreeVars: ast.Identifiers{ "arr", }, @@ -226020,11 +228591,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(31), }, End: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(34), }, }, @@ -226039,7 +228610,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17926, + Ctx: p18111, FreeVars: ast.Identifiers{ "arr", "std", @@ -226048,11 +228619,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(20), }, End: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(35), }, }, @@ -226068,11 +228639,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(11), }, End: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(35), }, }, @@ -226091,7 +228662,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arrLen", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "arrLen", }, @@ -226099,11 +228670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1660), + Line: int(1680), Column: int(17), }, End: ast.Location{ - Line: int(1660), + Line: int(1680), Column: int(23), }, }, @@ -226113,7 +228684,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "idx", }, @@ -226121,11 +228692,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1660), + Line: int(1680), Column: int(10), }, End: ast.Location{ - Line: int(1660), + Line: int(1680), Column: int(13), }, }, @@ -226134,7 +228705,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "arrLen", "idx", @@ -226143,11 +228714,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1660), + Line: int(1680), Column: int(10), }, End: ast.Location{ - Line: int(1660), + Line: int(1680), Column: int(23), }, }, @@ -226164,17 +228735,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1661), + Line: int(1681), Column: int(9), }, End: ast.Location{ - Line: int(1661), + Line: int(1681), Column: int(14), }, }, @@ -226190,7 +228761,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17950, + Ctx: p18135, FreeVars: ast.Identifiers{ "arr", }, @@ -226198,11 +228769,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(19), }, End: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(22), }, }, @@ -226212,7 +228783,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17950, + Ctx: p18135, FreeVars: ast.Identifiers{ "idx", }, @@ -226220,11 +228791,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(23), }, End: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(26), }, }, @@ -226235,7 +228806,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17950, + Ctx: p18135, FreeVars: ast.Identifiers{ "arr", "idx", @@ -226244,11 +228815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(19), }, End: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(27), }, }, @@ -226262,11 +228833,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(15), }, End: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(27), }, }, @@ -226287,11 +228858,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(16), }, End: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(19), }, }, @@ -226325,7 +228896,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "std", }, @@ -226333,11 +228904,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(16), }, End: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(29), }, }, @@ -226351,7 +228922,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "e", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17964, + Ctx: p18149, FreeVars: ast.Identifiers{ "e", }, @@ -226359,11 +228930,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(30), }, End: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(31), }, }, @@ -226378,7 +228949,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "e", "std", @@ -226387,11 +228958,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(16), }, End: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(32), }, }, @@ -226404,7 +228975,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "e", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "e", }, @@ -226412,11 +228983,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1665), + Line: int(1685), Column: int(12), }, End: ast.Location{ - Line: int(1665), + Line: int(1685), Column: int(13), }, }, @@ -226432,17 +229003,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1666), + Line: int(1686), Column: int(11), }, End: ast.Location{ - Line: int(1666), + Line: int(1686), Column: int(15), }, }, @@ -226461,7 +229032,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "aux", }, @@ -226469,11 +229040,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(11), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(14), }, }, @@ -226488,17 +229059,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17979, + Ctx: p18164, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(21), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(22), }, }, @@ -226508,7 +229079,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "idx", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17979, + Ctx: p18164, FreeVars: ast.Identifiers{ "idx", }, @@ -226516,11 +229087,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(15), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(18), }, }, @@ -226529,7 +229100,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17979, + Ctx: p18164, FreeVars: ast.Identifiers{ "idx", }, @@ -226537,11 +229108,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(15), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(22), }, }, @@ -226557,7 +229128,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "aux", "idx", @@ -226566,11 +229137,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(11), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(23), }, }, @@ -226596,7 +229167,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ "aux", "e", @@ -226606,11 +229177,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1665), + Line: int(1685), Column: int(9), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(23), }, }, @@ -226620,29 +229191,29 @@ var _StdAst = &ast.DesugaredObject{ Expr: &ast.Apply{ Target: &ast.Index{ Target: &ast.Var{ - Id: "std", + Id: "$std", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, + Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1664), - Column: int(35), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1664), - Column: int(38), + Line: int(0), + Column: int(0), }, }, }, }, Index: &ast.LiteralString{ - Value: "format", + Value: "mod", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -226664,30 +229235,30 @@ var _StdAst = &ast.DesugaredObject{ }, Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, + RightBracketFodder: nil, + LeftBracketFodder: nil, Id: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p17939, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1664), - Column: int(35), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1664), - Column: int(45), + Line: int(0), + Column: int(0), }, }, }, }, - FodderLeft: ast.Fodder{}, + FodderLeft: nil, Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ @@ -226697,157 +229268,187 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17996, + Ctx: p18124, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), - Column: int(46), + Line: int(1684), + Column: int(35), }, End: ast.Location{ - Line: int(1664), - Column: int(88), + Line: int(1684), + Column: int(77), }, }, }, Kind: ast.LiteralStringKind(1), }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "e", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p17996, - FreeVars: ast.Identifiers{ - "e", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1664), - Column: int(90), - }, - End: ast.Location{ - Line: int(1664), - Column: int(91), - }, - }, - }, - }, - CommaFodder: ast.Fodder{}, + CommaFodder: nil, }, ast.CommaSeparatedExpr{ - Expr: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1664), - Column: int(93), + Expr: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "e", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18184, + FreeVars: ast.Identifiers{ + "e", }, - End: ast.Location{ - Line: int(1664), - Column: int(96), + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1684), + Column: int(81), + }, + End: ast.Location{ + Line: int(1684), + Column: int(82), + }, }, }, }, + CommaFodder: ast.Fodder{}, }, - Index: &ast.LiteralString{ - Value: "type", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1684), + Column: int(84), + }, + End: ast.Location{ + Line: int(1684), + Column: int(87), + }, + }, + }, }, - End: ast.Location{ - Line: int(0), - Column: int(0), + Index: &ast.LiteralString{ + Value: "type", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p17996, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1664), - Column: int(93), - }, - End: ast.Location{ - Line: int(1664), - Column: int(101), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "e", + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18007, + Ctx: p18184, FreeVars: ast.Identifiers{ - "e", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), - Column: int(102), + Line: int(1684), + Column: int(84), }, End: ast.Location{ - Line: int(1664), - Column: int(103), + Line: int(1684), + Column: int(92), }, }, }, }, - CommaFodder: nil, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "e", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18194, + FreeVars: ast.Identifiers{ + "e", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1684), + Column: int(93), + }, + End: ast.Location{ + Line: int(1684), + Column: int(94), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18184, + FreeVars: ast.Identifiers{ + "e", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1684), + Column: int(84), + }, + End: ast.Location{ + Line: int(1684), + Column: int(95), + }, + }, + }, + TrailingComma: false, + TailStrict: false, }, + CommaFodder: nil, }, - Named: nil, }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17996, + Ctx: p18124, FreeVars: ast.Identifiers{ "e", "std", @@ -226856,29 +229457,29 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), - Column: int(93), + Line: int(1684), + Column: int(80), }, End: ast.Location{ - Line: int(1664), - Column: int(104), + Line: int(1684), + Column: int(96), }, }, }, TrailingComma: false, - TailStrict: false, }, CommaFodder: nil, }, }, Named: nil, }, - FodderRight: ast.Fodder{}, + FodderRight: nil, TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p17939, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ + "$std", "e", "std", }, @@ -226886,12 +229487,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(35), }, End: ast.Location{ - Line: int(1664), - Column: int(105), + Line: int(1684), + Column: int(96), }, }, }, @@ -226902,6 +229503,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ + "$std", "e", "std", }, @@ -226909,11 +229511,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1664), + Line: int(1684), Column: int(9), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(23), }, }, @@ -226925,6 +229527,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ + "$std", "aux", "e", "idx", @@ -226953,8 +229556,9 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ + "$std", "arr", "aux", "idx", @@ -226964,11 +229568,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1663), + Line: int(1683), Column: int(9), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(23), }, }, @@ -226992,8 +229596,9 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p17939, + Ctx: p18124, FreeVars: ast.Identifiers{ + "$std", "arr", "arrLen", "aux", @@ -227004,11 +229609,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1660), + Line: int(1680), Column: int(7), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(23), }, }, @@ -227025,11 +229630,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1659), + Line: int(1679), Column: int(15), }, End: ast.Location{ - Line: int(1659), + Line: int(1679), Column: int(18), }, }, @@ -227037,8 +229642,9 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p18019, + Ctx: p18207, FreeVars: ast.Identifiers{ + "$std", "arr", "arrLen", "aux", @@ -227048,11 +229654,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1659), + Line: int(1679), Column: int(11), }, End: ast.Location{ - Line: int(1668), + Line: int(1688), Column: int(23), }, }, @@ -227089,7 +229695,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ "aux", }, @@ -227097,11 +229703,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(5), }, End: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(8), }, }, @@ -227115,17 +229721,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18027, + Ctx: p18215, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(9), }, End: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(10), }, }, @@ -227140,7 +229746,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ "aux", }, @@ -227148,11 +229754,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(5), }, End: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(11), }, }, @@ -227169,8 +229775,9 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ + "$std", "arr", "arrLen", "std", @@ -227179,11 +229786,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1659), + Line: int(1679), Column: int(5), }, End: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(11), }, }, @@ -227198,8 +229805,9 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ + "$std", "arr", "std", }, @@ -227207,11 +229815,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1658), + Line: int(1678), Column: int(5), }, End: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(11), }, }, @@ -227233,11 +229841,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(76), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(79), }, }, @@ -227271,7 +229879,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ "std", }, @@ -227279,11 +229887,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(76), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(84), }, }, @@ -227297,7 +229905,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18043, + Ctx: p18231, FreeVars: ast.Identifiers{ "arr", }, @@ -227305,11 +229913,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(85), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(88), }, }, @@ -227324,7 +229932,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ "arr", "std", @@ -227333,11 +229941,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(76), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(89), }, }, @@ -227351,17 +229959,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(31), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(73), }, }, @@ -227371,7 +229979,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p17912, + Ctx: p18097, FreeVars: ast.Identifiers{ "arr", "std", @@ -227380,11 +229988,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(31), }, End: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(89), }, }, @@ -227402,11 +230010,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1657), + Line: int(1677), Column: int(5), }, End: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(11), }, }, @@ -227418,6 +230026,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ + "$std", "arr", "std", }, @@ -227446,11 +230055,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1656), + Line: int(1676), Column: int(7), }, End: ast.Location{ - Line: int(1656), + Line: int(1676), Column: int(10), }, }, @@ -227460,6 +230069,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: p23, FreeVars: ast.Identifiers{ + "$std", "std", }, LocRange: ast.LocationRange{ @@ -227481,11 +230091,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1656), + Line: int(1676), Column: int(3), }, End: ast.Location{ - Line: int(1669), + Line: int(1689), Column: int(11), }, }, @@ -227537,11 +230147,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(16), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(19), }, }, @@ -227575,7 +230185,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18061, + Ctx: p18249, FreeVars: ast.Identifiers{ "std", }, @@ -227583,11 +230193,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(16), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(24), }, }, @@ -227601,7 +230211,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18065, + Ctx: p18253, FreeVars: ast.Identifiers{ "v1", }, @@ -227609,11 +230219,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(25), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(27), }, }, @@ -227628,7 +230238,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18061, + Ctx: p18249, FreeVars: ast.Identifiers{ "std", "v1", @@ -227637,11 +230247,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(16), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(28), }, }, @@ -227657,11 +230267,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(11), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(28), }, }, @@ -227682,11 +230292,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(35), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(38), }, }, @@ -227720,7 +230330,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18073, + Ctx: p18261, FreeVars: ast.Identifiers{ "std", }, @@ -227728,11 +230338,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(35), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(43), }, }, @@ -227746,7 +230356,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18077, + Ctx: p18265, FreeVars: ast.Identifiers{ "v2", }, @@ -227754,11 +230364,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(44), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(46), }, }, @@ -227773,7 +230383,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18073, + Ctx: p18261, FreeVars: ast.Identifiers{ "std", "v2", @@ -227782,11 +230392,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(35), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(47), }, }, @@ -227802,11 +230412,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(30), }, End: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(47), }, }, @@ -227818,7 +230428,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t2", }, @@ -227826,11 +230436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1675), + Line: int(1695), Column: int(14), }, End: ast.Location{ - Line: int(1675), + Line: int(1695), Column: int(16), }, }, @@ -227840,7 +230450,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -227848,11 +230458,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1675), + Line: int(1695), Column: int(8), }, End: ast.Location{ - Line: int(1675), + Line: int(1695), Column: int(10), }, }, @@ -227861,7 +230471,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", "t2", @@ -227870,11 +230480,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1675), + Line: int(1695), Column: int(8), }, End: ast.Location{ - Line: int(1675), + Line: int(1695), Column: int(16), }, }, @@ -227887,7 +230497,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t2", }, @@ -227895,11 +230505,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(73), }, End: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(75), }, }, @@ -227912,17 +230522,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(63), }, End: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(70), }, }, @@ -227934,7 +230544,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -227942,11 +230552,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(58), }, End: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(60), }, }, @@ -227958,17 +230568,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(13), }, End: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(55), }, }, @@ -227978,7 +230588,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -227986,11 +230596,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(13), }, End: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(60), }, }, @@ -228000,7 +230610,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228008,11 +230618,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(13), }, End: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(70), }, }, @@ -228022,7 +230632,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", "t2", @@ -228031,11 +230641,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(13), }, End: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(75), }, }, @@ -228051,7 +230661,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", "t2", @@ -228060,11 +230670,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(7), }, End: ast.Location{ - Line: int(1676), + Line: int(1696), Column: int(75), }, }, @@ -228078,17 +230688,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1677), + Line: int(1697), Column: int(19), }, End: ast.Location{ - Line: int(1677), + Line: int(1697), Column: int(26), }, }, @@ -228099,7 +230709,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228107,11 +230717,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1677), + Line: int(1697), Column: int(13), }, End: ast.Location{ - Line: int(1677), + Line: int(1697), Column: int(15), }, }, @@ -228120,7 +230730,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228128,11 +230738,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1677), + Line: int(1697), Column: int(13), }, End: ast.Location{ - Line: int(1677), + Line: int(1697), Column: int(26), }, }, @@ -228160,11 +230770,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(7), }, End: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(10), }, }, @@ -228198,7 +230808,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "std", }, @@ -228206,11 +230816,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(7), }, End: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(26), }, }, @@ -228224,7 +230834,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18118, + Ctx: p18306, FreeVars: ast.Identifiers{ "v1", }, @@ -228232,11 +230842,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(27), }, End: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(29), }, }, @@ -228249,7 +230859,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18118, + Ctx: p18306, FreeVars: ast.Identifiers{ "v2", }, @@ -228257,11 +230867,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(31), }, End: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(33), }, }, @@ -228276,7 +230886,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "std", "v1", @@ -228286,11 +230896,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(7), }, End: ast.Location{ - Line: int(1678), + Line: int(1698), Column: int(34), }, }, @@ -228307,17 +230917,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(57), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(66), }, }, @@ -228328,7 +230938,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228336,11 +230946,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(51), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(53), }, }, @@ -228349,7 +230959,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228357,11 +230967,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(51), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(66), }, }, @@ -228376,17 +230986,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(39), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(47), }, }, @@ -228397,7 +231007,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228405,11 +231015,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(33), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(35), }, }, @@ -228418,7 +231028,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228426,11 +231036,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(33), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(47), }, }, @@ -228444,17 +231054,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(19), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(29), }, }, @@ -228465,7 +231075,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228473,11 +231083,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(13), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(15), }, }, @@ -228486,7 +231096,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228494,11 +231104,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(13), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(29), }, }, @@ -228508,7 +231118,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228516,11 +231126,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(13), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(47), }, }, @@ -228530,7 +231140,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228538,11 +231148,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(13), }, End: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(66), }, }, @@ -228557,17 +231167,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(38), }, End: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(60), }, }, @@ -228579,7 +231189,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "t1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228587,11 +231197,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(33), }, End: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(35), }, }, @@ -228603,17 +231213,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(13), }, End: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(30), }, }, @@ -228623,7 +231233,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228631,11 +231241,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(13), }, End: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(35), }, }, @@ -228645,7 +231255,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228653,11 +231263,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(13), }, End: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(60), }, }, @@ -228673,7 +231283,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", }, @@ -228681,11 +231291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(7), }, End: ast.Location{ - Line: int(1680), + Line: int(1700), Column: int(60), }, }, @@ -228697,7 +231307,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "v2", }, @@ -228705,11 +231315,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(18), }, End: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(20), }, }, @@ -228719,7 +231329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "v1", }, @@ -228727,11 +231337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(13), }, End: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(15), }, }, @@ -228740,7 +231350,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "v1", "v2", @@ -228749,11 +231359,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(13), }, End: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(20), }, }, @@ -228765,17 +231375,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(27), }, End: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(28), }, }, @@ -228783,17 +231393,17 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(26), }, End: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(28), }, }, @@ -228806,7 +231416,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "v2", }, @@ -228814,11 +231424,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(18), }, End: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(20), }, }, @@ -228828,7 +231438,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "v1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "v1", }, @@ -228836,11 +231446,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(13), }, End: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(15), }, }, @@ -228849,7 +231459,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "v1", "v2", @@ -228858,11 +231468,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(13), }, End: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(20), }, }, @@ -228873,17 +231483,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(26), }, End: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(27), }, }, @@ -228893,17 +231503,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(10), }, End: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(11), }, }, @@ -228920,7 +231530,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "v1", "v2", @@ -228929,11 +231539,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1682), + Line: int(1702), Column: int(10), }, End: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(11), }, }, @@ -228950,7 +231560,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "v1", "v2", @@ -228959,11 +231569,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1681), + Line: int(1701), Column: int(10), }, End: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(11), }, }, @@ -228980,7 +231590,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "t1", "v1", @@ -228990,11 +231600,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1679), + Line: int(1699), Column: int(10), }, End: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(11), }, }, @@ -229011,7 +231621,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "std", "t1", @@ -229022,11 +231632,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1677), + Line: int(1697), Column: int(10), }, End: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(11), }, }, @@ -229050,7 +231660,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "std", "t1", @@ -229062,11 +231672,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1675), + Line: int(1695), Column: int(5), }, End: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(11), }, }, @@ -229081,7 +231691,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18083, + Ctx: p18271, FreeVars: ast.Identifiers{ "std", "v1", @@ -229091,11 +231701,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1674), + Line: int(1694), Column: int(5), }, End: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(11), }, }, @@ -229112,11 +231722,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1673), + Line: int(1693), Column: int(13), }, End: ast.Location{ - Line: int(1673), + Line: int(1693), Column: int(15), }, }, @@ -229131,11 +231741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1673), + Line: int(1693), Column: int(17), }, End: ast.Location{ - Line: int(1673), + Line: int(1693), Column: int(19), }, }, @@ -229166,11 +231776,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1673), + Line: int(1693), Column: int(3), }, End: ast.Location{ - Line: int(1683), + Line: int(1703), Column: int(11), }, }, @@ -229222,11 +231832,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(18), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(21), }, }, @@ -229260,7 +231870,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18196, + Ctx: p18384, FreeVars: ast.Identifiers{ "std", }, @@ -229268,11 +231878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(18), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(28), }, }, @@ -229286,7 +231896,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18200, + Ctx: p18388, FreeVars: ast.Identifiers{ "arr1", }, @@ -229294,11 +231904,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(29), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(33), }, }, @@ -229313,7 +231923,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18196, + Ctx: p18384, FreeVars: ast.Identifiers{ "arr1", "std", @@ -229322,11 +231932,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(18), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(34), }, }, @@ -229342,11 +231952,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(11), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(34), }, }, @@ -229367,11 +231977,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(43), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(46), }, }, @@ -229405,7 +232015,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18208, + Ctx: p18396, FreeVars: ast.Identifiers{ "std", }, @@ -229413,11 +232023,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(43), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(53), }, }, @@ -229431,7 +232041,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18212, + Ctx: p18400, FreeVars: ast.Identifiers{ "arr2", }, @@ -229439,11 +232049,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(54), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(58), }, }, @@ -229458,7 +232068,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18208, + Ctx: p18396, FreeVars: ast.Identifiers{ "arr2", "std", @@ -229467,11 +232077,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(43), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(59), }, }, @@ -229487,11 +232097,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(36), }, End: ast.Location{ - Line: int(1686), + Line: int(1706), Column: int(59), }, }, @@ -229515,11 +232125,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(20), }, End: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(23), }, }, @@ -229553,7 +232163,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18222, + Ctx: p18410, FreeVars: ast.Identifiers{ "std", }, @@ -229561,11 +232171,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(20), }, End: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(27), }, }, @@ -229579,7 +232189,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "len1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18226, + Ctx: p18414, FreeVars: ast.Identifiers{ "len1", }, @@ -229587,11 +232197,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(28), }, End: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(32), }, }, @@ -229604,7 +232214,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "len2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18226, + Ctx: p18414, FreeVars: ast.Identifiers{ "len2", }, @@ -229612,11 +232222,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(34), }, End: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(38), }, }, @@ -229631,7 +232241,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18222, + Ctx: p18410, FreeVars: ast.Identifiers{ "len1", "len2", @@ -229641,11 +232251,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(20), }, End: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(39), }, }, @@ -229661,11 +232271,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(11), }, End: ast.Location{ - Line: int(1687), + Line: int(1707), Column: int(39), }, }, @@ -229684,7 +232294,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "minLen", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "minLen", }, @@ -229692,11 +232302,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1689), + Line: int(1709), Column: int(14), }, End: ast.Location{ - Line: int(1689), + Line: int(1709), Column: int(20), }, }, @@ -229706,7 +232316,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "i", }, @@ -229714,11 +232324,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1689), + Line: int(1709), Column: int(10), }, End: ast.Location{ - Line: int(1689), + Line: int(1709), Column: int(11), }, }, @@ -229727,7 +232337,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "i", "minLen", @@ -229736,11 +232346,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1689), + Line: int(1709), Column: int(10), }, End: ast.Location{ - Line: int(1689), + Line: int(1709), Column: int(20), }, }, @@ -229765,11 +232375,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(24), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(27), }, }, @@ -229803,7 +232413,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18249, + Ctx: p18437, FreeVars: ast.Identifiers{ "std", }, @@ -229811,11 +232421,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(24), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(37), }, }, @@ -229830,7 +232440,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18254, + Ctx: p18442, FreeVars: ast.Identifiers{ "arr1", }, @@ -229838,11 +232448,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(38), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(42), }, }, @@ -229852,7 +232462,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18254, + Ctx: p18442, FreeVars: ast.Identifiers{ "i", }, @@ -229860,11 +232470,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(43), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(44), }, }, @@ -229875,7 +232485,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18254, + Ctx: p18442, FreeVars: ast.Identifiers{ "arr1", "i", @@ -229884,11 +232494,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(38), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(45), }, }, @@ -229902,7 +232512,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "arr2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18254, + Ctx: p18442, FreeVars: ast.Identifiers{ "arr2", }, @@ -229910,11 +232520,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(47), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(51), }, }, @@ -229924,7 +232534,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18254, + Ctx: p18442, FreeVars: ast.Identifiers{ "i", }, @@ -229932,11 +232542,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(52), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(53), }, }, @@ -229947,7 +232557,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18254, + Ctx: p18442, FreeVars: ast.Identifiers{ "arr2", "i", @@ -229956,11 +232566,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(47), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(54), }, }, @@ -229975,7 +232585,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18249, + Ctx: p18437, FreeVars: ast.Identifiers{ "arr1", "arr2", @@ -229986,11 +232596,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(24), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(55), }, }, @@ -230006,11 +232616,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(15), }, End: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(55), }, }, @@ -230022,17 +232632,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1691), + Line: int(1711), Column: int(22), }, End: ast.Location{ - Line: int(1691), + Line: int(1711), Column: int(23), }, }, @@ -230042,7 +232652,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "cmpRes", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "cmpRes", }, @@ -230050,11 +232660,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1691), + Line: int(1711), Column: int(12), }, End: ast.Location{ - Line: int(1691), + Line: int(1711), Column: int(18), }, }, @@ -230063,7 +232673,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "cmpRes", }, @@ -230071,11 +232681,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1691), + Line: int(1711), Column: int(12), }, End: ast.Location{ - Line: int(1691), + Line: int(1711), Column: int(23), }, }, @@ -230093,7 +232703,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "cmpRes", }, @@ -230101,11 +232711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1692), + Line: int(1712), Column: int(11), }, End: ast.Location{ - Line: int(1692), + Line: int(1712), Column: int(17), }, }, @@ -230123,7 +232733,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(10), }, }, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "aux", }, @@ -230131,11 +232741,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(11), }, End: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(14), }, }, @@ -230150,17 +232760,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18282, + Ctx: p18470, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(19), }, End: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(20), }, }, @@ -230170,7 +232780,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18282, + Ctx: p18470, FreeVars: ast.Identifiers{ "i", }, @@ -230178,11 +232788,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(15), }, End: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(16), }, }, @@ -230191,7 +232801,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18282, + Ctx: p18470, FreeVars: ast.Identifiers{ "i", }, @@ -230199,11 +232809,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(15), }, End: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(20), }, }, @@ -230219,7 +232829,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "aux", "i", @@ -230228,11 +232838,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(11), }, End: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(21), }, }, @@ -230258,7 +232868,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "aux", "cmpRes", @@ -230268,11 +232878,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1691), + Line: int(1711), Column: int(9), }, End: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(21), }, }, @@ -230287,7 +232897,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "arr1", "arr2", @@ -230299,11 +232909,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1690), + Line: int(1710), Column: int(9), }, End: ast.Location{ - Line: int(1694), + Line: int(1714), Column: int(21), }, }, @@ -230330,11 +232940,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(9), }, End: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(12), }, }, @@ -230368,7 +232978,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "std", }, @@ -230376,11 +232986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(9), }, End: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(22), }, }, @@ -230394,7 +233004,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "len1", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18301, + Ctx: p18489, FreeVars: ast.Identifiers{ "len1", }, @@ -230402,11 +233012,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(23), }, End: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(27), }, }, @@ -230419,7 +233029,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "len2", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18301, + Ctx: p18489, FreeVars: ast.Identifiers{ "len2", }, @@ -230427,11 +233037,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(29), }, End: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(33), }, }, @@ -230446,7 +233056,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "len1", "len2", @@ -230456,11 +233066,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(9), }, End: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(34), }, }, @@ -230486,7 +233096,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p18237, + Ctx: p18425, FreeVars: ast.Identifiers{ "arr1", "arr2", @@ -230501,11 +233111,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1689), + Line: int(1709), Column: int(7), }, End: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(34), }, }, @@ -230522,11 +233132,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1688), + Line: int(1708), Column: int(15), }, End: ast.Location{ - Line: int(1688), + Line: int(1708), Column: int(16), }, }, @@ -230534,7 +233144,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p18310, + Ctx: p18498, FreeVars: ast.Identifiers{ "arr1", "arr2", @@ -230548,233 +233158,7682 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1688), + Line: int(1708), Column: int(11), }, End: ast.Location{ - Line: int(1696), + Line: int(1716), Column: int(34), }, }, }, TrailingComma: false, }, - EqFodder: nil, - Variable: "aux", - CloseFodder: nil, - Fun: nil, + EqFodder: nil, + Variable: "aux", + CloseFodder: nil, + Fun: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Body: &ast.Apply{ + Target: &ast.Var{ + Id: "aux", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p18503, + FreeVars: ast.Identifiers{ + "aux", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1717), + Column: int(5), + }, + End: ast.Location{ + Line: int(1717), + Column: int(8), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18507, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1717), + Column: int(9), + }, + End: ast.Location{ + Line: int(1717), + Column: int(10), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18503, + FreeVars: ast.Identifiers{ + "aux", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1717), + Column: int(5), + }, + End: ast.Location{ + Line: int(1717), + Column: int(11), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p18503, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "len1", + "len2", + "minLen", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1708), + Column: int(5), + }, + End: ast.Location{ + Line: int(1717), + Column: int(11), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p18503, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "len1", + "len2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1707), + Column: int(5), + }, + End: ast.Location{ + Line: int(1717), + Column: int(11), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p18503, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1706), + Column: int(5), + }, + End: ast.Location{ + Line: int(1717), + Column: int(11), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr1", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1705), + Column: int(19), + }, + End: ast.Location{ + Line: int(1705), + Column: int(23), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr2", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1705), + Column: int(25), + }, + End: ast.Location{ + Line: int(1705), + Column: int(29), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1705), + Column: int(3), + }, + End: ast.Location{ + Line: int(1717), + Column: int(11), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "__array_less", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Unary{ + Expr: &ast.LiteralNumber{ + OriginalString: "1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18522, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(66), + }, + End: ast.Location{ + Line: int(1719), + Column: int(67), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18522, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(65), + }, + End: ast.Location{ + Line: int(1719), + Column: int(67), + }, + }, + }, + Op: ast.UnaryOp(3), + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(30), + }, + End: ast.Location{ + Line: int(1719), + Column: int(33), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "__compare_array", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18522, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(30), + }, + End: ast.Location{ + Line: int(1719), + Column: int(49), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18531, + FreeVars: ast.Identifiers{ + "arr1", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(50), + }, + End: ast.Location{ + Line: int(1719), + Column: int(54), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr2", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18531, + FreeVars: ast.Identifiers{ + "arr2", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(56), + }, + End: ast.Location{ + Line: int(1719), + Column: int(60), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18522, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(30), + }, + End: ast.Location{ + Line: int(1719), + Column: int(61), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18522, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(30), + }, + End: ast.Location{ + Line: int(1719), + Column: int(67), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr1", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(16), + }, + End: ast.Location{ + Line: int(1719), + Column: int(20), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr2", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(22), + }, + End: ast.Location{ + Line: int(1719), + Column: int(26), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1719), + Column: int(3), + }, + End: ast.Location{ + Line: int(1719), + Column: int(67), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "__array_greater", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18543, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(68), + }, + End: ast.Location{ + Line: int(1720), + Column: int(69), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(33), + }, + End: ast.Location{ + Line: int(1720), + Column: int(36), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "__compare_array", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18543, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(33), + }, + End: ast.Location{ + Line: int(1720), + Column: int(52), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18552, + FreeVars: ast.Identifiers{ + "arr1", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(53), + }, + End: ast.Location{ + Line: int(1720), + Column: int(57), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr2", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18552, + FreeVars: ast.Identifiers{ + "arr2", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(59), + }, + End: ast.Location{ + Line: int(1720), + Column: int(63), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18543, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(33), + }, + End: ast.Location{ + Line: int(1720), + Column: int(64), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18543, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(33), + }, + End: ast.Location{ + Line: int(1720), + Column: int(69), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr1", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(19), + }, + End: ast.Location{ + Line: int(1720), + Column: int(23), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr2", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(25), + }, + End: ast.Location{ + Line: int(1720), + Column: int(29), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1720), + Column: int(3), + }, + End: ast.Location{ + Line: int(1720), + Column: int(69), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "__array_less_or_equal", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18564, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(74), + }, + End: ast.Location{ + Line: int(1721), + Column: int(75), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(39), + }, + End: ast.Location{ + Line: int(1721), + Column: int(42), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "__compare_array", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18564, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(39), + }, + End: ast.Location{ + Line: int(1721), + Column: int(58), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18573, + FreeVars: ast.Identifiers{ + "arr1", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(59), + }, + End: ast.Location{ + Line: int(1721), + Column: int(63), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr2", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18573, + FreeVars: ast.Identifiers{ + "arr2", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(65), + }, + End: ast.Location{ + Line: int(1721), + Column: int(69), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18564, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(39), + }, + End: ast.Location{ + Line: int(1721), + Column: int(70), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18564, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(39), + }, + End: ast.Location{ + Line: int(1721), + Column: int(75), + }, + }, + }, + Op: ast.BinaryOp(10), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr1", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(25), + }, + End: ast.Location{ + Line: int(1721), + Column: int(29), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr2", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(31), + }, + End: ast.Location{ + Line: int(1721), + Column: int(35), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1721), + Column: int(3), + }, + End: ast.Location{ + Line: int(1721), + Column: int(75), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "__array_greater_or_equal", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18585, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(77), + }, + End: ast.Location{ + Line: int(1722), + Column: int(78), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(42), + }, + End: ast.Location{ + Line: int(1722), + Column: int(45), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "__compare_array", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18585, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(42), + }, + End: ast.Location{ + Line: int(1722), + Column: int(61), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18594, + FreeVars: ast.Identifiers{ + "arr1", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(62), + }, + End: ast.Location{ + Line: int(1722), + Column: int(66), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr2", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18594, + FreeVars: ast.Identifiers{ + "arr2", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(68), + }, + End: ast.Location{ + Line: int(1722), + Column: int(72), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18585, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(42), + }, + End: ast.Location{ + Line: int(1722), + Column: int(73), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18585, + FreeVars: ast.Identifiers{ + "arr1", + "arr2", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(42), + }, + End: ast.Location{ + Line: int(1722), + Column: int(78), + }, + }, + }, + Op: ast.BinaryOp(8), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr1", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(28), + }, + End: ast.Location{ + Line: int(1722), + Column: int(32), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr2", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(34), + }, + End: ast.Location{ + Line: int(1722), + Column: int(38), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1722), + Column: int(3), + }, + End: ast.Location{ + Line: int(1722), + Column: int(78), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "sum", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(14), + }, + End: ast.Location{ + Line: int(1724), + Column: int(17), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "foldl", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18609, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(14), + }, + End: ast.Location{ + Line: int(1724), + Column: int(23), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18615, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(43), + }, + End: ast.Location{ + Line: int(1724), + Column: int(44), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18615, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(39), + }, + End: ast.Location{ + Line: int(1724), + Column: int(40), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18615, + FreeVars: ast.Identifiers{ + "a", + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(39), + }, + End: ast.Location{ + Line: int(1724), + Column: int(44), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "a", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(33), + }, + End: ast.Location{ + Line: int(1724), + Column: int(34), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "b", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(36), + }, + End: ast.Location{ + Line: int(1724), + Column: int(37), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18621, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(24), + }, + End: ast.Location{ + Line: int(1724), + Column: int(44), + }, + }, + }, + TrailingComma: false, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18621, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(46), + }, + End: ast.Location{ + Line: int(1724), + Column: int(49), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18621, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(51), + }, + End: ast.Location{ + Line: int(1724), + Column: int(52), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18609, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(14), + }, + End: ast.Location{ + Line: int(1724), + Column: int(53), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(7), + }, + End: ast.Location{ + Line: int(1724), + Column: int(10), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1724), + Column: int(3), + }, + End: ast.Location{ + Line: int(1724), + Column: int(53), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "avg", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1727), + Column: int(27), + }, + End: ast.Location{ + Line: int(1727), + Column: int(28), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1727), + Column: int(8), + }, + End: ast.Location{ + Line: int(1727), + Column: int(11), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1727), + Column: int(8), + }, + End: ast.Location{ + Line: int(1727), + Column: int(18), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18642, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1727), + Column: int(19), + }, + End: ast.Location{ + Line: int(1727), + Column: int(22), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1727), + Column: int(8), + }, + End: ast.Location{ + Line: int(1727), + Column: int(23), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1727), + Column: int(8), + }, + End: ast.Location{ + Line: int(1727), + Column: int(28), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + BranchTrue: &ast.Error{ + Expr: &ast.LiteralString{ + Value: "Cannot calculate average of an empty array.", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1728), + Column: int(13), + }, + End: ast.Location{ + Line: int(1728), + Column: int(58), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p18633, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1728), + Column: int(7), + }, + End: ast.Location{ + Line: int(1728), + Column: int(58), + }, + }, + }, + }, + BranchFalse: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(20), + }, + End: ast.Location{ + Line: int(1730), + Column: int(23), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(20), + }, + End: ast.Location{ + Line: int(1730), + Column: int(30), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18658, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(31), + }, + End: ast.Location{ + Line: int(1730), + Column: int(34), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(20), + }, + End: ast.Location{ + Line: int(1730), + Column: int(35), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(7), + }, + End: ast.Location{ + Line: int(1730), + Column: int(10), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "sum", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(7), + }, + End: ast.Location{ + Line: int(1730), + Column: int(14), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18670, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(15), + }, + End: ast.Location{ + Line: int(1730), + Column: int(18), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(7), + }, + End: ast.Location{ + Line: int(1730), + Column: int(19), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1730), + Column: int(7), + }, + End: ast.Location{ + Line: int(1730), + Column: int(35), + }, + }, + }, + Op: ast.BinaryOp(1), + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p18633, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1727), + Column: int(5), + }, + End: ast.Location{ + Line: int(1730), + Column: int(35), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1726), + Column: int(7), + }, + End: ast.Location{ + Line: int(1726), + Column: int(10), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1726), + Column: int(3), + }, + End: ast.Location{ + Line: int(1730), + Column: int(35), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "minArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1733), + Column: int(27), + }, + End: ast.Location{ + Line: int(1733), + Column: int(28), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1733), + Column: int(8), + }, + End: ast.Location{ + Line: int(1733), + Column: int(11), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1733), + Column: int(8), + }, + End: ast.Location{ + Line: int(1733), + Column: int(18), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18693, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1733), + Column: int(19), + }, + End: ast.Location{ + Line: int(1733), + Column: int(22), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1733), + Column: int(8), + }, + End: ast.Location{ + Line: int(1733), + Column: int(23), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1733), + Column: int(8), + }, + End: ast.Location{ + Line: int(1733), + Column: int(28), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + BranchTrue: &ast.Var{ + Id: "onEmpty", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "onEmpty", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1734), + Column: int(7), + }, + End: ast.Location{ + Line: int(1734), + Column: int(14), + }, + }, + }, + }, + BranchFalse: &ast.Local{ + Binds: ast.LocalBinds{ + ast.LocalBind{ + VarFodder: ast.Fodder{}, + Body: &ast.Index{ + Target: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18704, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1736), + Column: int(22), + }, + End: ast.Location{ + Line: int(1736), + Column: int(25), + }, + }, + }, + }, + Index: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18704, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1736), + Column: int(26), + }, + End: ast.Location{ + Line: int(1736), + Column: int(27), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18704, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1736), + Column: int(22), + }, + End: ast.Location{ + Line: int(1736), + Column: int(28), + }, + }, + }, + }, + EqFodder: ast.Fodder{}, + Variable: "minVal", + CloseFodder: ast.Fodder{}, + Fun: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1736), + Column: int(13), + }, + End: ast.Location{ + Line: int(1736), + Column: int(28), + }, + }, + }, + }, + Body: &ast.Local{ + Binds: ast.LocalBinds{ + ast.LocalBind{ + VarFodder: nil, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18714, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(46), + }, + End: ast.Location{ + Line: int(1738), + Column: int(47), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(12), + }, + End: ast.Location{ + Line: int(1738), + Column: int(15), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "__compare", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18714, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(12), + }, + End: ast.Location{ + Line: int(1738), + Column: int(25), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Var{ + Id: "keyF", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18724, + FreeVars: ast.Identifiers{ + "keyF", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(26), + }, + End: ast.Location{ + Line: int(1738), + Column: int(30), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18728, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(31), + }, + End: ast.Location{ + Line: int(1738), + Column: int(32), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18724, + FreeVars: ast.Identifiers{ + "a", + "keyF", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(26), + }, + End: ast.Location{ + Line: int(1738), + Column: int(33), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Var{ + Id: "keyF", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18724, + FreeVars: ast.Identifiers{ + "keyF", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(35), + }, + End: ast.Location{ + Line: int(1738), + Column: int(39), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18736, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(40), + }, + End: ast.Location{ + Line: int(1738), + Column: int(41), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18724, + FreeVars: ast.Identifiers{ + "b", + "keyF", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(35), + }, + End: ast.Location{ + Line: int(1738), + Column: int(42), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18714, + FreeVars: ast.Identifiers{ + "a", + "b", + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(12), + }, + End: ast.Location{ + Line: int(1738), + Column: int(43), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18714, + FreeVars: ast.Identifiers{ + "a", + "b", + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(12), + }, + End: ast.Location{ + Line: int(1738), + Column: int(47), + }, + }, + }, + Op: ast.BinaryOp(7), + }, + BranchTrue: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(10), + }, + }, + Ctx: p18714, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1739), + Column: int(11), + }, + End: ast.Location{ + Line: int(1739), + Column: int(12), + }, + }, + }, + }, + BranchFalse: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(10), + }, + }, + Ctx: p18714, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1741), + Column: int(11), + }, + End: ast.Location{ + Line: int(1741), + Column: int(12), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + Ctx: p18714, + FreeVars: ast.Identifiers{ + "a", + "b", + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1738), + Column: int(9), + }, + End: ast.Location{ + Line: int(1741), + Column: int(12), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "a", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1737), + Column: int(19), + }, + End: ast.Location{ + Line: int(1737), + Column: int(20), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "b", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1737), + Column: int(22), + }, + End: ast.Location{ + Line: int(1737), + Column: int(23), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p18751, + FreeVars: ast.Identifiers{ + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1737), + Column: int(13), + }, + End: ast.Location{ + Line: int(1741), + Column: int(12), + }, + }, + }, + TrailingComma: false, + }, + EqFodder: nil, + Variable: "minFn", + CloseFodder: nil, + Fun: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1742), + Column: int(7), + }, + End: ast.Location{ + Line: int(1742), + Column: int(10), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "foldl", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1742), + Column: int(7), + }, + End: ast.Location{ + Line: int(1742), + Column: int(16), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "minFn", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18762, + FreeVars: ast.Identifiers{ + "minFn", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1742), + Column: int(17), + }, + End: ast.Location{ + Line: int(1742), + Column: int(22), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18762, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1742), + Column: int(24), + }, + End: ast.Location{ + Line: int(1742), + Column: int(27), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "minVal", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18762, + FreeVars: ast.Identifiers{ + "minVal", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1742), + Column: int(29), + }, + End: ast.Location{ + Line: int(1742), + Column: int(35), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "arr", + "minFn", + "minVal", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1742), + Column: int(7), + }, + End: ast.Location{ + Line: int(1742), + Column: int(36), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "arr", + "keyF", + "minVal", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1737), + Column: int(7), + }, + End: ast.Location{ + Line: int(1742), + Column: int(36), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "arr", + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1736), + Column: int(7), + }, + End: ast.Location{ + Line: int(1742), + Column: int(36), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "arr", + "keyF", + "onEmpty", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1733), + Column: int(5), + }, + End: ast.Location{ + Line: int(1742), + Column: int(36), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1732), + Column: int(12), + }, + End: ast.Location{ + Line: int(1732), + Column: int(15), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "keyF", + CommaFodder: ast.Fodder{}, + EqFodder: ast.Fodder{}, + DefaultArg: &ast.Var{ + Id: "id", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{ + "id", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1732), + Column: int(22), + }, + End: ast.Location{ + Line: int(1732), + Column: int(24), + }, + }, + }, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1732), + Column: int(17), + }, + End: ast.Location{ + Line: int(1732), + Column: int(24), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "onEmpty", + CommaFodder: nil, + EqFodder: ast.Fodder{}, + DefaultArg: &ast.Error{ + Expr: &ast.LiteralString{ + Value: "Expected at least one element in array. Got none", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1732), + Column: int(40), + }, + End: ast.Location{ + Line: int(1732), + Column: int(90), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18684, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1732), + Column: int(34), + }, + End: ast.Location{ + Line: int(1732), + Column: int(90), + }, + }, + }, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1732), + Column: int(26), + }, + End: ast.Location{ + Line: int(1732), + Column: int(90), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "id", + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1732), + Column: int(3), + }, + End: ast.Location{ + Line: int(1742), + Column: int(36), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "maxArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1745), + Column: int(27), + }, + End: ast.Location{ + Line: int(1745), + Column: int(28), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1745), + Column: int(8), + }, + End: ast.Location{ + Line: int(1745), + Column: int(11), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1745), + Column: int(8), + }, + End: ast.Location{ + Line: int(1745), + Column: int(18), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18796, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1745), + Column: int(19), + }, + End: ast.Location{ + Line: int(1745), + Column: int(22), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1745), + Column: int(8), + }, + End: ast.Location{ + Line: int(1745), + Column: int(23), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1745), + Column: int(8), + }, + End: ast.Location{ + Line: int(1745), + Column: int(28), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + BranchTrue: &ast.Var{ + Id: "onEmpty", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "onEmpty", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1746), + Column: int(7), + }, + End: ast.Location{ + Line: int(1746), + Column: int(14), + }, + }, + }, + }, + BranchFalse: &ast.Local{ + Binds: ast.LocalBinds{ + ast.LocalBind{ + VarFodder: ast.Fodder{}, + Body: &ast.Index{ + Target: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18807, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1748), + Column: int(22), + }, + End: ast.Location{ + Line: int(1748), + Column: int(25), + }, + }, + }, + }, + Index: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18807, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1748), + Column: int(26), + }, + End: ast.Location{ + Line: int(1748), + Column: int(27), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18807, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1748), + Column: int(22), + }, + End: ast.Location{ + Line: int(1748), + Column: int(28), + }, + }, + }, + }, + EqFodder: ast.Fodder{}, + Variable: "maxVal", + CloseFodder: ast.Fodder{}, + Fun: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1748), + Column: int(13), + }, + End: ast.Location{ + Line: int(1748), + Column: int(28), + }, + }, + }, + }, + Body: &ast.Local{ + Binds: ast.LocalBinds{ + ast.LocalBind{ + VarFodder: nil, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18817, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(46), + }, + End: ast.Location{ + Line: int(1750), + Column: int(47), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(12), + }, + End: ast.Location{ + Line: int(1750), + Column: int(15), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "__compare", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18817, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(12), + }, + End: ast.Location{ + Line: int(1750), + Column: int(25), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Var{ + Id: "keyF", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18827, + FreeVars: ast.Identifiers{ + "keyF", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(26), + }, + End: ast.Location{ + Line: int(1750), + Column: int(30), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18831, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(31), + }, + End: ast.Location{ + Line: int(1750), + Column: int(32), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18827, + FreeVars: ast.Identifiers{ + "a", + "keyF", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(26), + }, + End: ast.Location{ + Line: int(1750), + Column: int(33), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Var{ + Id: "keyF", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18827, + FreeVars: ast.Identifiers{ + "keyF", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(35), + }, + End: ast.Location{ + Line: int(1750), + Column: int(39), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18839, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(40), + }, + End: ast.Location{ + Line: int(1750), + Column: int(41), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18827, + FreeVars: ast.Identifiers{ + "b", + "keyF", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(35), + }, + End: ast.Location{ + Line: int(1750), + Column: int(42), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18817, + FreeVars: ast.Identifiers{ + "a", + "b", + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(12), + }, + End: ast.Location{ + Line: int(1750), + Column: int(43), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18817, + FreeVars: ast.Identifiers{ + "a", + "b", + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(12), + }, + End: ast.Location{ + Line: int(1750), + Column: int(47), + }, + }, + }, + Op: ast.BinaryOp(9), + }, + BranchTrue: &ast.Var{ + Id: "b", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(10), + }, + }, + Ctx: p18817, + FreeVars: ast.Identifiers{ + "b", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1751), + Column: int(11), + }, + End: ast.Location{ + Line: int(1751), + Column: int(12), + }, + }, + }, + }, + BranchFalse: &ast.Var{ + Id: "a", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(10), + }, + }, + Ctx: p18817, + FreeVars: ast.Identifiers{ + "a", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1753), + Column: int(11), + }, + End: ast.Location{ + Line: int(1753), + Column: int(12), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(8), + }, + }, + Ctx: p18817, + FreeVars: ast.Identifiers{ + "a", + "b", + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1750), + Column: int(9), + }, + End: ast.Location{ + Line: int(1753), + Column: int(12), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "a", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1749), + Column: int(19), + }, + End: ast.Location{ + Line: int(1749), + Column: int(20), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "b", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1749), + Column: int(22), + }, + End: ast.Location{ + Line: int(1749), + Column: int(23), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p18854, + FreeVars: ast.Identifiers{ + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1749), + Column: int(13), + }, + End: ast.Location{ + Line: int(1753), + Column: int(12), + }, + }, + }, + TrailingComma: false, + }, + EqFodder: nil, + Variable: "maxFn", + CloseFodder: nil, + Fun: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1754), + Column: int(7), + }, + End: ast.Location{ + Line: int(1754), + Column: int(10), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "foldl", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1754), + Column: int(7), + }, + End: ast.Location{ + Line: int(1754), + Column: int(16), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "maxFn", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18865, + FreeVars: ast.Identifiers{ + "maxFn", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1754), + Column: int(17), + }, + End: ast.Location{ + Line: int(1754), + Column: int(22), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18865, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1754), + Column: int(24), + }, + End: ast.Location{ + Line: int(1754), + Column: int(27), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "maxVal", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18865, + FreeVars: ast.Identifiers{ + "maxVal", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1754), + Column: int(29), + }, + End: ast.Location{ + Line: int(1754), + Column: int(35), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "arr", + "maxFn", + "maxVal", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1754), + Column: int(7), + }, + End: ast.Location{ + Line: int(1754), + Column: int(36), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "arr", + "keyF", + "maxVal", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1749), + Column: int(7), + }, + End: ast.Location{ + Line: int(1754), + Column: int(36), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "arr", + "keyF", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1748), + Column: int(7), + }, + End: ast.Location{ + Line: int(1754), + Column: int(36), + }, + }, + }, + }, + ThenFodder: ast.Fodder{}, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "arr", + "keyF", + "onEmpty", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1745), + Column: int(5), + }, + End: ast.Location{ + Line: int(1754), + Column: int(36), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1744), + Column: int(12), + }, + End: ast.Location{ + Line: int(1744), + Column: int(15), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "keyF", + CommaFodder: ast.Fodder{}, + EqFodder: ast.Fodder{}, + DefaultArg: &ast.Var{ + Id: "id", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{ + "id", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1744), + Column: int(22), + }, + End: ast.Location{ + Line: int(1744), + Column: int(24), + }, + }, + }, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1744), + Column: int(17), + }, + End: ast.Location{ + Line: int(1744), + Column: int(24), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "onEmpty", + CommaFodder: nil, + EqFodder: ast.Fodder{}, + DefaultArg: &ast.Error{ + Expr: &ast.LiteralString{ + Value: "Expected at least one element in array. Got none", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1744), + Column: int(40), + }, + End: ast.Location{ + Line: int(1744), + Column: int(90), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18787, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1744), + Column: int(34), + }, + End: ast.Location{ + Line: int(1744), + Column: int(90), + }, + }, + }, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1744), + Column: int(26), + }, + End: ast.Location{ + Line: int(1744), + Column: int(90), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "id", + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1744), + Column: int(3), + }, + End: ast.Location{ + Line: int(1754), + Column: int(36), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "xor", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Var{ + Id: "y", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18889, + FreeVars: ast.Identifiers{ + "y", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1756), + Column: int(20), + }, + End: ast.Location{ + Line: int(1756), + Column: int(21), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18889, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1756), + Column: int(15), + }, + End: ast.Location{ + Line: int(1756), + Column: int(16), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18889, + FreeVars: ast.Identifiers{ + "x", + "y", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1756), + Column: int(15), + }, + End: ast.Location{ + Line: int(1756), + Column: int(21), + }, + }, + }, + Op: ast.BinaryOp(13), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1756), + Column: int(7), + }, + End: ast.Location{ + Line: int(1756), + Column: int(8), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "y", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1756), + Column: int(10), + }, + End: ast.Location{ + Line: int(1756), + Column: int(11), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1756), + Column: int(3), + }, + End: ast.Location{ + Line: int(1756), + Column: int(21), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "xnor", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Var{ + Id: "y", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18899, + FreeVars: ast.Identifiers{ + "y", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1758), + Column: int(21), + }, + End: ast.Location{ + Line: int(1758), + Column: int(22), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18899, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1758), + Column: int(16), + }, + End: ast.Location{ + Line: int(1758), + Column: int(17), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18899, + FreeVars: ast.Identifiers{ + "x", + "y", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1758), + Column: int(16), + }, + End: ast.Location{ + Line: int(1758), + Column: int(22), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1758), + Column: int(8), + }, + End: ast.Location{ + Line: int(1758), + Column: int(9), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "y", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1758), + Column: int(11), + }, + End: ast.Location{ + Line: int(1758), + Column: int(12), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1758), + Column: int(3), + }, + End: ast.Location{ + Line: int(1758), + Column: int(22), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "round", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1760), + Column: int(14), + }, + End: ast.Location{ + Line: int(1760), + Column: int(17), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "floor", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18912, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1760), + Column: int(14), + }, + End: ast.Location{ + Line: int(1760), + Column: int(23), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0.5", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18917, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1760), + Column: int(28), + }, + End: ast.Location{ + Line: int(1760), + Column: int(31), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18917, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1760), + Column: int(24), + }, + End: ast.Location{ + Line: int(1760), + Column: int(25), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18917, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1760), + Column: int(24), + }, + End: ast.Location{ + Line: int(1760), + Column: int(31), + }, + }, + }, + Op: ast.BinaryOp(3), + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18912, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1760), + Column: int(14), + }, + End: ast.Location{ + Line: int(1760), + Column: int(32), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1760), + Column: int(9), + }, + End: ast.Location{ + Line: int(1760), + Column: int(10), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1760), + Column: int(3), + }, + End: ast.Location{ + Line: int(1760), + Column: int(32), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "isEmpty", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18928, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1762), + Column: int(37), + }, + End: ast.Location{ + Line: int(1762), + Column: int(38), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1762), + Column: int(18), + }, + End: ast.Location{ + Line: int(1762), + Column: int(21), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18928, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1762), + Column: int(18), + }, + End: ast.Location{ + Line: int(1762), + Column: int(28), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "str", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18937, + FreeVars: ast.Identifiers{ + "str", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1762), + Column: int(29), + }, + End: ast.Location{ + Line: int(1762), + Column: int(32), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18928, + FreeVars: ast.Identifiers{ + "std", + "str", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1762), + Column: int(18), + }, + End: ast.Location{ + Line: int(1762), + Column: int(33), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18928, + FreeVars: ast.Identifiers{ + "std", + "str", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1762), + Column: int(18), + }, + End: ast.Location{ + Line: int(1762), + Column: int(38), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "str", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1762), + Column: int(11), + }, + End: ast.Location{ + Line: int(1762), + Column: int(14), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1762), + Column: int(3), + }, + End: ast.Location{ + Line: int(1762), + Column: int(38), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "contains", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(25), + }, + End: ast.Location{ + Line: int(1764), + Column: int(28), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "any", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18950, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(25), + }, + End: ast.Location{ + Line: int(1764), + Column: int(32), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "$flatMapArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: nil, + ParenRightFodder: nil, + Body: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Binary{ + Right: &ast.Var{ + Id: "elem", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18965, + FreeVars: ast.Identifiers{ + "elem", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(39), + }, + End: ast.Location{ + Line: int(1764), + Column: int(43), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "e", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18965, + FreeVars: ast.Identifiers{ + "e", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(34), + }, + End: ast.Location{ + Line: int(1764), + Column: int(35), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18965, + FreeVars: ast.Identifiers{ + "e", + "elem", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(34), + }, + End: ast.Location{ + Line: int(1764), + Column: int(43), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + CommaFodder: nil, + }, + }, + CloseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "e", + "elem", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: nil, + Name: "e", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "elem", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + CommaFodder: nil, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18974, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(53), + }, + End: ast.Location{ + Line: int(1764), + Column: int(56), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: nil, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + "arr", + "elem", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(33), + }, + End: ast.Location{ + Line: int(1764), + Column: int(57), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18950, + FreeVars: ast.Identifiers{ + "$std", + "arr", + "elem", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(25), + }, + End: ast.Location{ + Line: int(1764), + Column: int(58), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "arr", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(12), + }, + End: ast.Location{ + Line: int(1764), + Column: int(15), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "elem", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(17), + }, + End: ast.Location{ + Line: int(1764), + Column: int(21), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "$std", + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1764), + Column: int(3), + }, + End: ast.Location{ + Line: int(1764), + Column: int(58), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "equalsIgnoreCase", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(58), + }, + End: ast.Location{ + Line: int(1766), + Column: int(61), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "asciiLower", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18988, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(58), + }, + End: ast.Location{ + Line: int(1766), + Column: int(72), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "str2", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18992, + FreeVars: ast.Identifiers{ + "str2", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(73), + }, + End: ast.Location{ + Line: int(1766), + Column: int(77), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18988, + FreeVars: ast.Identifiers{ + "std", + "str2", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(58), + }, + End: ast.Location{ + Line: int(1766), + Column: int(78), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(34), + }, + End: ast.Location{ + Line: int(1766), + Column: int(37), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "asciiLower", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18988, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(34), + }, + End: ast.Location{ + Line: int(1766), + Column: int(48), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "str1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19003, + FreeVars: ast.Identifiers{ + "str1", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(49), + }, + End: ast.Location{ + Line: int(1766), + Column: int(53), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18988, + FreeVars: ast.Identifiers{ + "std", + "str1", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(34), + }, + End: ast.Location{ + Line: int(1766), + Column: int(54), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p18988, + FreeVars: ast.Identifiers{ + "std", + "str1", + "str2", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(34), + }, + End: ast.Location{ + Line: int(1766), + Column: int(78), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "str1", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(20), + }, + End: ast.Location{ + Line: int(1766), + Column: int(24), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "str2", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(26), + }, + End: ast.Location{ + Line: int(1766), + Column: int(30), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1766), + Column: int(3), + }, + End: ast.Location{ + Line: int(1766), + Column: int(78), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "isEven", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19013, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(35), + }, + End: ast.Location{ + Line: int(1768), + Column: int(36), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "mod", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(15), + }, + End: ast.Location{ + Line: int(1768), + Column: int(18), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "round", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19013, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(15), + }, + End: ast.Location{ + Line: int(1768), + Column: int(24), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19029, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(25), + }, + End: ast.Location{ + Line: int(1768), + Column: int(26), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19013, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(15), + }, + End: ast.Location{ + Line: int(1768), + Column: int(27), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: nil, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "2", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19013, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(30), + }, + End: ast.Location{ + Line: int(1768), + Column: int(31), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: nil, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(15), + }, + End: ast.Location{ + Line: int(1768), + Column: int(31), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19013, + FreeVars: ast.Identifiers{ + "$std", + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(15), + }, + End: ast.Location{ + Line: int(1768), + Column: int(36), + }, + }, + }, + Op: ast.BinaryOp(12), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(10), + }, + End: ast.Location{ + Line: int(1768), + Column: int(11), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "$std", + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1768), + Column: int(3), + }, + End: ast.Location{ + Line: int(1768), + Column: int(36), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "isOdd", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19041, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(34), + }, + End: ast.Location{ + Line: int(1769), + Column: int(35), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "mod", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(14), + }, + End: ast.Location{ + Line: int(1769), + Column: int(17), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "round", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19041, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(14), + }, + End: ast.Location{ + Line: int(1769), + Column: int(23), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19057, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(24), + }, + End: ast.Location{ + Line: int(1769), + Column: int(25), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19041, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(14), + }, + End: ast.Location{ + Line: int(1769), + Column: int(26), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + CommaFodder: nil, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "2", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19041, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(29), + }, + End: ast.Location{ + Line: int(1769), + Column: int(30), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: nil, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(14), + }, + End: ast.Location{ + Line: int(1769), + Column: int(30), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19041, + FreeVars: ast.Identifiers{ + "$std", + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(14), + }, + End: ast.Location{ + Line: int(1769), + Column: int(35), + }, + }, + }, + Op: ast.BinaryOp(13), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(9), + }, + End: ast.Location{ + Line: int(1769), + Column: int(10), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "$std", + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1769), + Column: int(3), + }, + End: ast.Location{ + Line: int(1769), + Column: int(35), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "isInteger", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Binary{ + Right: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19069, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1770), + Column: int(34), + }, + End: ast.Location{ + Line: int(1770), + Column: int(35), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(1770), + Column: int(18), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(1770), + Column: int(21), }, }, }, }, - Body: &ast.Apply{ - Target: &ast.Var{ - Id: "aux", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - Ctx: p18315, - FreeVars: ast.Identifiers{ - "aux", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1697), - Column: int(5), - }, - End: ast.Location{ - Line: int(1697), - Column: int(8), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.LiteralNumber{ - OriginalString: "0", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18319, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1697), - Column: int(9), - }, - End: ast.Location{ - Line: int(1697), - Column: int(10), - }, - }, - }, - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + Index: &ast.LiteralString{ + Value: "round", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18315, - FreeVars: ast.Identifiers{ - "aux", - }, + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1697), - Column: int(5), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1697), - Column: int(11), + Line: int(0), + Column: int(0), }, }, }, - TrailingComma: false, - TailStrict: false, + Kind: ast.LiteralStringKind(1), }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - Ctx: p18315, + Fodder: ast.Fodder{}, + Ctx: p19069, FreeVars: ast.Identifiers{ - "arr1", - "arr2", - "len1", - "len2", - "minLen", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1688), - Column: int(5), + Line: int(1770), + Column: int(18), }, End: ast.Location{ - Line: int(1697), - Column: int(11), + Line: int(1770), + Column: int(27), }, }, }, }, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "x", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19079, + FreeVars: ast.Identifiers{ + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1770), + Column: int(28), + }, + End: ast.Location{ + Line: int(1770), + Column: int(29), + }, + }, + }, + }, + CommaFodder: nil, }, }, - Ctx: p18315, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19069, FreeVars: ast.Identifiers{ - "arr1", - "arr2", - "len1", - "len2", "std", + "x", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1687), - Column: int(5), + Line: int(1770), + Column: int(18), }, End: ast.Location{ - Line: int(1697), - Column: int(11), + Line: int(1770), + Column: int(30), }, }, }, + TrailingComma: false, + TailStrict: false, }, + OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{ - ast.FodderElement{ - Comment: []string{}, - Kind: ast.FodderKind(0), - Blanks: int(0), - Indent: int(4), - }, - }, - Ctx: p18315, + Fodder: ast.Fodder{}, + Ctx: p19069, FreeVars: ast.Identifiers{ - "arr1", - "arr2", "std", + "x", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1686), - Column: int(5), + Line: int(1770), + Column: int(18), }, End: ast.Location{ - Line: int(1697), - Column: int(11), + Line: int(1770), + Column: int(35), }, }, }, + Op: ast.BinaryOp(12), }, Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "arr1", - CommaFodder: ast.Fodder{}, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1685), - Column: int(19), - }, - End: ast.Location{ - Line: int(1685), - Column: int(23), - }, - }, - }, - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "arr2", + Name: "x", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -230782,12 +240841,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1685), - Column: int(25), + Line: int(1770), + Column: int(13), }, End: ast.Location{ - Line: int(1685), - Column: int(29), + Line: int(1770), + Column: int(14), }, }, }, @@ -230817,12 +240876,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1685), + Line: int(1770), Column: int(3), }, End: ast.Location{ - Line: int(1697), - Column: int(11), + Line: int(1770), + Column: int(35), }, }, Hide: ast.ObjectFieldHide(0), @@ -230830,7 +240889,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "__array_less", + Value: "isDecimal", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -230856,45 +240915,27 @@ var _StdAst = &ast.DesugaredObject{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, Body: &ast.Binary{ - Right: &ast.Unary{ - Expr: &ast.LiteralNumber{ - OriginalString: "1", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18334, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1699), - Column: int(66), - }, - End: ast.Location{ - Line: int(1699), - Column: int(67), - }, - }, - }, - }, + Right: &ast.Var{ + Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18334, - FreeVars: ast.Identifiers{}, + Ctx: p19089, + FreeVars: ast.Identifiers{ + "x", + }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), - Column: int(65), + Line: int(1771), + Column: int(34), }, End: ast.Location{ - Line: int(1699), - Column: int(67), + Line: int(1771), + Column: int(35), }, }, }, - Op: ast.UnaryOp(3), }, Left: &ast.Apply{ Target: &ast.Index{ @@ -230910,18 +240951,18 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), - Column: int(30), + Line: int(1771), + Column: int(18), }, End: ast.Location{ - Line: int(1699), - Column: int(33), + Line: int(1771), + Column: int(21), }, }, }, }, Index: &ast.LiteralString{ - Value: "__compare_array", + Value: "round", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -230948,7 +240989,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18334, + Ctx: p19089, FreeVars: ast.Identifiers{ "std", }, @@ -230956,12 +240997,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), - Column: int(30), + Line: int(1771), + Column: int(18), }, End: ast.Location{ - Line: int(1699), - Column: int(49), + Line: int(1771), + Column: int(27), }, }, }, @@ -230971,48 +241012,23 @@ var _StdAst = &ast.DesugaredObject{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ Expr: &ast.Var{ - Id: "arr1", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18343, - FreeVars: ast.Identifiers{ - "arr1", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1699), - Column: int(50), - }, - End: ast.Location{ - Line: int(1699), - Column: int(54), - }, - }, - }, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr2", + Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18343, + Ctx: p19099, FreeVars: ast.Identifiers{ - "arr2", + "x", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), - Column: int(56), + Line: int(1771), + Column: int(28), }, End: ast.Location{ - Line: int(1699), - Column: int(60), + Line: int(1771), + Column: int(29), }, }, }, @@ -231026,56 +241042,810 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18334, + Ctx: p19089, FreeVars: ast.Identifiers{ - "arr1", - "arr2", "std", + "x", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), + Line: int(1771), + Column: int(18), + }, + End: ast.Location{ + Line: int(1771), Column: int(30), }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19089, + FreeVars: ast.Identifiers{ + "std", + "x", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1771), + Column: int(18), + }, + End: ast.Location{ + Line: int(1771), + Column: int(35), + }, + }, + }, + Op: ast.BinaryOp(13), + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "x", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1771), + Column: int(13), + }, + End: ast.Location{ + Line: int(1771), + Column: int(14), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1771), + Column: int(3), + }, + End: ast.Location{ + Line: int(1771), + Column: int(35), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "removeAt", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "$flatMapArray", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "$std", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, End: ast.Location{ - Line: int(1699), - Column: int(61), + Line: int(0), + Column: int(0), + }, + }, + }, + }, + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: nil, + ParenRightFodder: nil, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.Var{ + Id: "at", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19118, + FreeVars: ast.Identifiers{ + "at", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1776), + Column: int(13), + }, + End: ast.Location{ + Line: int(1776), + Column: int(15), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19118, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1776), + Column: int(8), + }, + End: ast.Location{ + Line: int(1776), + Column: int(9), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19118, + FreeVars: ast.Identifiers{ + "at", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1776), + Column: int(8), + }, + End: ast.Location{ + Line: int(1776), + Column: int(15), + }, + }, + }, + Op: ast.BinaryOp(13), + }, + BranchTrue: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Index{ + Target: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p19128, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1774), + Column: int(5), + }, + End: ast.Location{ + Line: int(1774), + Column: int(8), + }, + }, + }, + }, + Index: &ast.Var{ + Id: "i", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19128, + FreeVars: ast.Identifiers{ + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1774), + Column: int(9), + }, + End: ast.Location{ + Line: int(1774), + Column: int(10), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19128, + FreeVars: ast.Identifiers{ + "arr", + "i", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1774), + Column: int(5), + }, + End: ast.Location{ + Line: int(1774), + Column: int(11), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + CloseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "arr", + "i", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + BranchFalse: &ast.Array{ + Elements: nil, + CloseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + ThenFodder: nil, + ElseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "arr", + "at", + "i", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: nil, + Name: "i", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "arr", + "at", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + CommaFodder: nil, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(14), + }, + End: ast.Location{ + Line: int(1775), + Column: int(17), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "range", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19118, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(14), + }, + End: ast.Location{ + Line: int(1775), + Column: int(23), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19146, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(24), + }, + End: ast.Location{ + Line: int(1775), + Column: int(25), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "1", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19146, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(45), + }, + End: ast.Location{ + Line: int(1775), + Column: int(46), + }, + }, + }, + }, + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(27), + }, + End: ast.Location{ + Line: int(1775), + Column: int(30), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19146, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(27), + }, + End: ast.Location{ + Line: int(1775), + Column: int(37), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19157, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(38), + }, + End: ast.Location{ + Line: int(1775), + Column: int(41), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19146, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(27), + }, + End: ast.Location{ + Line: int(1775), + Column: int(42), + }, + }, + }, + TrailingComma: false, + TailStrict: false, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19146, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(27), + }, + End: ast.Location{ + Line: int(1775), + Column: int(46), + }, + }, + }, + Op: ast.BinaryOp(4), + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19118, + FreeVars: ast.Identifiers{ + "arr", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1775), + Column: int(14), + }, + End: ast.Location{ + Line: int(1775), + Column: int(47), + }, + }, + }, + TrailingComma: false, + TailStrict: false, }, + CommaFodder: nil, }, }, - TrailingComma: false, - TailStrict: false, + Named: nil, }, - OpFodder: ast.Fodder{}, + FodderRight: nil, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18334, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr1", - "arr2", + "$std", + "arr", + "at", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), - Column: int(30), + Line: int(1773), + Column: int(23), }, End: ast.Location{ - Line: int(1699), - Column: int(67), + Line: int(1777), + Column: int(4), }, }, }, - Op: ast.BinaryOp(12), + TrailingComma: false, + TailStrict: false, }, Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "arr1", + Name: "arr", CommaFodder: ast.Fodder{}, EqFodder: nil, DefaultArg: nil, @@ -231083,18 +241853,18 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), - Column: int(16), + Line: int(1773), + Column: int(12), }, End: ast.Location{ - Line: int(1699), - Column: int(20), + Line: int(1773), + Column: int(15), }, }, }, ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "arr2", + Name: "at", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -231102,12 +241872,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), - Column: int(22), + Line: int(1773), + Column: int(17), }, End: ast.Location{ - Line: int(1699), - Column: int(26), + Line: int(1773), + Column: int(19), }, }, }, @@ -231116,6 +241886,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: p23, FreeVars: ast.Identifiers{ + "$std", "std", }, LocRange: ast.LocationRange{ @@ -231137,12 +241908,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1699), + Line: int(1773), Column: int(3), }, End: ast.Location{ - Line: int(1699), - Column: int(67), + Line: int(1777), + Column: int(4), }, }, Hide: ast.ObjectFieldHide(0), @@ -231150,7 +241921,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "__array_greater", + Value: "remove", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -231175,634 +241946,440 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Function{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, - Body: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "1", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18355, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1700), - Column: int(68), + Body: &ast.Local{ + Binds: ast.LocalBinds{ + ast.LocalBind{ + VarFodder: ast.Fodder{}, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1780), + Column: int(21), + }, + End: ast.Location{ + Line: int(1780), + Column: int(24), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "find", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19174, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1780), + Column: int(21), + }, + End: ast.Location{ + Line: int(1780), + Column: int(29), + }, + }, + }, }, - End: ast.Location{ - Line: int(1700), - Column: int(69), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "elem", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19178, + FreeVars: ast.Identifiers{ + "elem", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1780), + Column: int(30), + }, + End: ast.Location{ + Line: int(1780), + Column: int(34), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19178, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1780), + Column: int(36), + }, + End: ast.Location{ + Line: int(1780), + Column: int(39), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, }, - }, - }, - }, - Left: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p19174, FreeVars: ast.Identifiers{ + "arr", + "elem", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1700), - Column: int(33), + Line: int(1780), + Column: int(21), }, End: ast.Location{ - Line: int(1700), - Column: int(36), + Line: int(1780), + Column: int(40), }, }, }, + TrailingComma: false, + TailStrict: false, }, - Index: &ast.LiteralString{ - Value: "__compare_array", - BlockIndent: "", - BlockTermIndent: "", + EqFodder: ast.Fodder{}, + Variable: "indexes", + CloseFodder: ast.Fodder{}, + Fun: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1780), + Column: int(11), + }, + End: ast.Location{ + Line: int(1780), + Column: int(40), + }, + }, + }, + }, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.LiteralNumber{ + OriginalString: "0", NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, + Fodder: ast.Fodder{}, + Ctx: p19186, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: nil, + File: p8, FileName: "", Begin: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(1781), + Column: int(31), }, End: ast.Location{ - Line: int(0), - Column: int(0), + Line: int(1781), + Column: int(32), }, }, }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18355, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1700), - Column: int(33), - }, - End: ast.Location{ - Line: int(1700), - Column: int(52), - }, - }, }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr1", + Left: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18364, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr1", + "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1700), - Column: int(53), + Line: int(1781), + Column: int(8), }, End: ast.Location{ - Line: int(1700), - Column: int(57), + Line: int(1781), + Column: int(11), }, }, }, }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr2", + Index: &ast.LiteralString{ + Value: "length", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18364, - FreeVars: ast.Identifiers{ - "arr2", - }, + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1700), - Column: int(59), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1700), - Column: int(63), + Line: int(0), + Column: int(0), }, }, }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19186, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1781), + Column: int(8), + }, + End: ast.Location{ + Line: int(1781), + Column: int(18), + }, + }, }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18355, - FreeVars: ast.Identifiers{ - "arr1", - "arr2", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1700), - Column: int(33), - }, - End: ast.Location{ - Line: int(1700), - Column: int(64), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18355, - FreeVars: ast.Identifiers{ - "arr1", - "arr2", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1700), - Column: int(33), - }, - End: ast.Location{ - Line: int(1700), - Column: int(69), - }, - }, - }, - Op: ast.BinaryOp(12), - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "arr1", - CommaFodder: ast.Fodder{}, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1700), - Column: int(19), - }, - End: ast.Location{ - Line: int(1700), - Column: int(23), - }, - }, - }, - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "arr2", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1700), - Column: int(25), - }, - End: ast.Location{ - Line: int(1700), - Column: int(29), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: p23, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - TrailingComma: false, - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1700), - Column: int(3), - }, - End: ast.Location{ - Line: int(1700), - Column: int(69), - }, - }, - Hide: ast.ObjectFieldHide(0), - PlusSuper: false, - }, - ast.DesugaredObjectField{ - Name: &ast.LiteralString{ - Value: "__array_less_or_equal", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - Body: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "0", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18376, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1701), - Column: int(74), }, - End: ast.Location{ - Line: int(1701), - Column: int(75), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "indexes", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19195, + FreeVars: ast.Identifiers{ + "indexes", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1781), + Column: int(19), + }, + End: ast.Location{ + Line: int(1781), + Column: int(26), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, }, - }, - }, - }, - Left: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p19186, FreeVars: ast.Identifiers{ + "indexes", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1701), - Column: int(39), + Line: int(1781), + Column: int(8), }, End: ast.Location{ - Line: int(1701), - Column: int(42), + Line: int(1781), + Column: int(27), }, }, }, + TrailingComma: false, + TailStrict: false, }, - Index: &ast.LiteralString{ - Value: "__compare_array", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19186, + FreeVars: ast.Identifiers{ + "indexes", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1781), + Column: int(8), + }, + End: ast.Location{ + Line: int(1781), + Column: int(32), }, }, - Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + Op: ast.BinaryOp(12), + }, + BranchTrue: &ast.Var{ + Id: "arr", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18376, + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), + }, + }, + Ctx: p19186, FreeVars: ast.Identifiers{ - "std", + "arr", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1701), - Column: int(39), + Line: int(1783), + Column: int(7), }, End: ast.Location{ - Line: int(1701), - Column: int(58), + Line: int(1783), + Column: int(10), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr1", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18385, - FreeVars: ast.Identifiers{ - "arr1", + BranchFalse: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(6), }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1701), - Column: int(59), - }, - End: ast.Location{ - Line: int(1701), - Column: int(63), - }, + }, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1785), + Column: int(7), + }, + End: ast.Location{ + Line: int(1785), + Column: int(10), }, }, }, - CommaFodder: ast.Fodder{}, }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr2", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18385, - FreeVars: ast.Identifiers{ - "arr2", + Index: &ast.LiteralString{ + Value: "removeAt", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1701), - Column: int(65), - }, - End: ast.Location{ - Line: int(1701), - Column: int(69), - }, + End: ast.Location{ + Line: int(0), + Column: int(0), }, }, }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18376, - FreeVars: ast.Identifiers{ - "arr1", - "arr2", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1701), - Column: int(39), - }, - End: ast.Location{ - Line: int(1701), - Column: int(70), - }, - }, - }, - TrailingComma: false, - TailStrict: false, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18376, - FreeVars: ast.Identifiers{ - "arr1", - "arr2", - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1701), - Column: int(39), - }, - End: ast.Location{ - Line: int(1701), - Column: int(75), - }, - }, - }, - Op: ast.BinaryOp(10), - }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "arr1", - CommaFodder: ast.Fodder{}, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1701), - Column: int(25), - }, - End: ast.Location{ - Line: int(1701), - Column: int(29), - }, - }, - }, - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "arr2", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1701), - Column: int(31), - }, - End: ast.Location{ - Line: int(1701), - Column: int(35), - }, - }, - }, - }, - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: p23, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - TrailingComma: false, - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1701), - Column: int(3), - }, - End: ast.Location{ - Line: int(1701), - Column: int(75), - }, - }, - Hide: ast.ObjectFieldHide(0), - PlusSuper: false, - }, - ast.DesugaredObjectField{ - Name: &ast.LiteralString{ - Value: "__array_greater_or_equal", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - Body: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "0", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18397, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1702), - Column: int(77), - }, - End: ast.Location{ - Line: int(1702), - Column: int(78), + Kind: ast.LiteralStringKind(1), }, - }, - }, - }, - Left: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: nil, + Ctx: p19186, FreeVars: ast.Identifiers{ "std", }, @@ -231810,172 +242387,220 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1702), - Column: int(42), + Line: int(1785), + Column: int(7), }, End: ast.Location{ - Line: int(1702), - Column: int(45), + Line: int(1785), + Column: int(19), }, }, }, }, - Index: &ast.LiteralString{ - Value: "__compare_array", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "arr", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19211, + FreeVars: ast.Identifiers{ + "arr", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1785), + Column: int(20), + }, + End: ast.Location{ + Line: int(1785), + Column: int(23), + }, + }, + }, }, - End: ast.Location{ - Line: int(0), - Column: int(0), + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.Index{ + Target: &ast.Var{ + Id: "indexes", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19211, + FreeVars: ast.Identifiers{ + "indexes", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1785), + Column: int(25), + }, + End: ast.Location{ + Line: int(1785), + Column: int(32), + }, + }, + }, + }, + Index: &ast.LiteralNumber{ + OriginalString: "0", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19211, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1785), + Column: int(33), + }, + End: ast.Location{ + Line: int(1785), + Column: int(34), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19211, + FreeVars: ast.Identifiers{ + "indexes", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1785), + Column: int(25), + }, + End: ast.Location{ + Line: int(1785), + Column: int(35), + }, + }, + }, }, + CommaFodder: nil, }, }, - Kind: ast.LiteralStringKind(1), + Named: nil, }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18397, + Ctx: p19186, FreeVars: ast.Identifiers{ + "arr", + "indexes", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1702), - Column: int(42), + Line: int(1785), + Column: int(7), }, End: ast.Location{ - Line: int(1702), - Column: int(61), + Line: int(1785), + Column: int(36), }, }, }, + TrailingComma: false, + TailStrict: false, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr1", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18406, - FreeVars: ast.Identifiers{ - "arr1", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1702), - Column: int(62), - }, - End: ast.Location{ - Line: int(1702), - Column: int(66), - }, - }, - }, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr2", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18406, - FreeVars: ast.Identifiers{ - "arr2", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1702), - Column: int(68), - }, - End: ast.Location{ - Line: int(1702), - Column: int(72), - }, - }, - }, - }, - CommaFodder: nil, - }, + ThenFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + ElseFodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), }, - Named: nil, }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18397, + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p19186, FreeVars: ast.Identifiers{ - "arr1", - "arr2", + "arr", + "indexes", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1702), - Column: int(42), + Line: int(1781), + Column: int(5), }, End: ast.Location{ - Line: int(1702), - Column: int(73), + Line: int(1785), + Column: int(36), }, }, }, - TrailingComma: false, - TailStrict: false, }, - OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18397, + Fodder: ast.Fodder{ + ast.FodderElement{ + Comment: []string{}, + Kind: ast.FodderKind(0), + Blanks: int(0), + Indent: int(4), + }, + }, + Ctx: p19186, FreeVars: ast.Identifiers{ - "arr1", - "arr2", + "arr", + "elem", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1702), - Column: int(42), + Line: int(1780), + Column: int(5), }, End: ast.Location{ - Line: int(1702), - Column: int(78), + Line: int(1785), + Column: int(36), }, }, }, - Op: ast.BinaryOp(8), }, Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "arr1", + Name: "arr", CommaFodder: ast.Fodder{}, EqFodder: nil, DefaultArg: nil, @@ -231983,18 +242608,18 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1702), - Column: int(28), + Line: int(1779), + Column: int(10), }, End: ast.Location{ - Line: int(1702), - Column: int(32), + Line: int(1779), + Column: int(13), }, }, }, ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "arr2", + Name: "elem", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -232002,12 +242627,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1702), - Column: int(34), + Line: int(1779), + Column: int(15), }, End: ast.Location{ - Line: int(1702), - Column: int(38), + Line: int(1779), + Column: int(19), }, }, }, @@ -232037,12 +242662,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1702), + Line: int(1779), Column: int(3), }, End: ast.Location{ - Line: int(1702), - Column: int(78), + Line: int(1785), + Column: int(36), }, }, Hide: ast.ObjectFieldHide(0), @@ -232050,7 +242675,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "sum", + Value: "objectRemoveKey", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -232078,29 +242703,29 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Apply{ Target: &ast.Index{ Target: &ast.Var{ - Id: "std", + Id: "$std", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, + Fodder: nil, Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1704), - Column: int(14), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1704), - Column: int(17), + Line: int(0), + Column: int(0), }, }, }, }, Index: &ast.LiteralString{ - Value: "foldl", + Value: "$objectFlatMerge", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -232122,235 +242747,617 @@ var _StdAst = &ast.DesugaredObject{ }, Kind: ast.LiteralStringKind(1), }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, + RightBracketFodder: nil, + LeftBracketFodder: nil, Id: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18421, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "std", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1704), - Column: int(14), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1704), - Column: int(23), + Line: int(0), + Column: int(0), }, }, }, }, - FodderLeft: ast.Fodder{}, + FodderLeft: nil, Arguments: ast.Arguments{ Positional: []ast.CommaSeparatedExpr{ ast.CommaSeparatedExpr{ - Expr: &ast.Function{ - ParenLeftFodder: ast.Fodder{}, - ParenRightFodder: ast.Fodder{}, - Body: &ast.Binary{ - Right: &ast.Var{ - Id: "b", + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "$std", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18427, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "b", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1704), - Column: int(43), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1704), - Column: int(44), + Line: int(0), + Column: int(0), }, }, }, }, - Left: &ast.Var{ - Id: "a", + Index: &ast.LiteralString{ + Value: "$flatMapArray", + BlockIndent: "", + BlockTermIndent: "", NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18427, - FreeVars: ast.Identifiers{ - "a", - }, + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1704), - Column: int(39), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1704), - Column: int(40), + Line: int(0), + Column: int(0), }, }, }, + Kind: ast.LiteralStringKind(1), }, - OpFodder: ast.Fodder{}, + RightBracketFodder: nil, + LeftBracketFodder: nil, + Id: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18427, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "a", - "b", + "$std", }, LocRange: ast.LocationRange{ - File: p8, + File: nil, FileName: "", Begin: ast.Location{ - Line: int(1704), - Column: int(39), + Line: int(0), + Column: int(0), }, End: ast.Location{ - Line: int(1704), - Column: int(44), + Line: int(0), + Column: int(0), }, }, }, - Op: ast.BinaryOp(3), }, - Parameters: []ast.Parameter{ - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "a", - CommaFodder: ast.Fodder{}, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1704), - Column: int(33), - }, - End: ast.Location{ - Line: int(1704), - Column: int(34), + FodderLeft: nil, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Function{ + ParenLeftFodder: nil, + ParenRightFodder: nil, + Body: &ast.Conditional{ + Cond: &ast.Binary{ + Right: &ast.Var{ + Id: "key", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19247, + FreeVars: ast.Identifiers{ + "key", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1791), + Column: int(13), + }, + End: ast.Location{ + Line: int(1791), + Column: int(16), + }, + }, + }, + }, + Left: &ast.Var{ + Id: "k", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19247, + FreeVars: ast.Identifiers{ + "k", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1791), + Column: int(8), + }, + End: ast.Location{ + Line: int(1791), + Column: int(9), + }, + }, + }, + }, + OpFodder: ast.Fodder{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19247, + FreeVars: ast.Identifiers{ + "k", + "key", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1791), + Column: int(8), + }, + End: ast.Location{ + Line: int(1791), + Column: int(16), + }, + }, + }, + Op: ast.BinaryOp(13), + }, + BranchTrue: &ast.Array{ + Elements: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.DesugaredObject{ + Asserts: ast.Nodes{}, + Fields: ast.DesugaredObjectFields{ + ast.DesugaredObjectField{ + Name: &ast.Var{ + Id: "k", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19247, + FreeVars: ast.Identifiers{ + "k", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1789), + Column: int(6), + }, + End: ast.Location{ + Line: int(1789), + Column: int(7), + }, + }, + }, + }, + Body: &ast.Index{ + Target: &ast.Var{ + Id: "obj", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19260, + FreeVars: ast.Identifiers{ + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1789), + Column: int(10), + }, + End: ast.Location{ + Line: int(1789), + Column: int(13), + }, + }, + }, + }, + Index: &ast.Var{ + Id: "k", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19260, + FreeVars: ast.Identifiers{ + "k", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1789), + Column: int(14), + }, + End: ast.Location{ + Line: int(1789), + Column: int(15), + }, + }, + }, + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19260, + FreeVars: ast.Identifiers{ + "k", + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1789), + Column: int(10), + }, + End: ast.Location{ + Line: int(1789), + Column: int(16), + }, + }, + }, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1789), + Column: int(5), + }, + End: ast.Location{ + Line: int(1789), + Column: int(16), + }, + }, + Hide: ast.ObjectFieldHide(1), + PlusSuper: false, + }, + }, + Locals: ast.LocalBinds{}, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19247, + FreeVars: ast.Identifiers{ + "k", + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1788), + Column: int(31), + }, + End: ast.Location{ + Line: int(1792), + Column: int(4), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + CloseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "k", + "obj", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + BranchFalse: &ast.Array{ + Elements: nil, + CloseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + ThenFodder: nil, + ElseFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "k", + "key", + "obj", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + Parameters: []ast.Parameter{ + ast.Parameter{ + NameFodder: nil, + Name: "k", + CommaFodder: nil, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{ + "key", + "obj", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, }, + CommaFodder: nil, }, - }, - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "b", - CommaFodder: nil, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1704), - Column: int(36), - }, - End: ast.Location{ - Line: int(1704), - Column: int(37), + ast.CommaSeparatedExpr{ + Expr: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: nil, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1790), + Column: int(14), + }, + End: ast.Location{ + Line: int(1790), + Column: int(17), + }, + }, + }, + }, + Index: &ast.LiteralString{ + Value: "objectFields", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19247, + FreeVars: ast.Identifiers{ + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1790), + Column: int(14), + }, + End: ast.Location{ + Line: int(1790), + Column: int(30), + }, + }, + }, + }, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "obj", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19279, + FreeVars: ast.Identifiers{ + "obj", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1790), + Column: int(31), + }, + End: ast.Location{ + Line: int(1790), + Column: int(34), + }, + }, + }, + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19247, + FreeVars: ast.Identifiers{ + "obj", + "std", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1790), + Column: int(14), + }, + End: ast.Location{ + Line: int(1790), + Column: int(35), + }, + }, + }, + TrailingComma: false, + TailStrict: false, }, + CommaFodder: nil, }, }, + Named: nil, }, + FodderRight: nil, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18433, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1704), - Column: int(24), - }, - End: ast.Location{ - Line: int(1704), - Column: int(44), - }, - }, - }, - TrailingComma: false, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "arr", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18433, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1704), - Column: int(46), - }, - End: ast.Location{ - Line: int(1704), - Column: int(49), - }, + "$std", + "key", + "obj", + "std", }, - }, - }, - CommaFodder: ast.Fodder{}, - }, - ast.CommaSeparatedExpr{ - Expr: &ast.LiteralNumber{ - OriginalString: "0", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18433, - FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1704), - Column: int(51), + Line: int(1788), + Column: int(31), }, End: ast.Location{ - Line: int(1704), - Column: int(52), + Line: int(1792), + Column: int(4), }, }, }, + TrailingComma: false, + TailStrict: false, }, CommaFodder: nil, }, }, Named: nil, }, - FodderRight: ast.Fodder{}, + FodderRight: nil, TailStrictFodder: nil, NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18421, + Fodder: nil, + Ctx: nil, FreeVars: ast.Identifiers{ - "arr", + "$std", + "key", + "obj", "std", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1704), - Column: int(14), + Line: int(1788), + Column: int(31), }, End: ast.Location{ - Line: int(1704), - Column: int(53), + Line: int(1792), + Column: int(4), }, }, }, @@ -232360,7 +243367,26 @@ var _StdAst = &ast.DesugaredObject{ Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "arr", + Name: "obj", + CommaFodder: ast.Fodder{}, + EqFodder: nil, + DefaultArg: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1788), + Column: int(19), + }, + End: ast.Location{ + Line: int(1788), + Column: int(22), + }, + }, + }, + ast.Parameter{ + NameFodder: ast.Fodder{}, + Name: "key", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -232368,12 +243394,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1704), - Column: int(7), + Line: int(1788), + Column: int(24), }, End: ast.Location{ - Line: int(1704), - Column: int(10), + Line: int(1788), + Column: int(27), }, }, }, @@ -232382,6 +243408,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: p23, FreeVars: ast.Identifiers{ + "$std", "std", }, LocRange: ast.LocationRange{ @@ -232403,12 +243430,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1704), + Line: int(1788), Column: int(3), }, End: ast.Location{ - Line: int(1704), - Column: int(53), + Line: int(1792), + Column: int(4), }, }, Hide: ast.ObjectFieldHide(0), @@ -232416,7 +243443,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "xor", + Value: "sha1", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -232441,97 +243468,32 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Function{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, - Body: &ast.Binary{ - Right: &ast.Var{ - Id: "y", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18444, - FreeVars: ast.Identifiers{ - "y", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1706), - Column: int(20), - }, - End: ast.Location{ - Line: int(1706), - Column: int(21), - }, - }, - }, - }, - Left: &ast.Var{ - Id: "x", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18444, - FreeVars: ast.Identifiers{ - "x", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1706), - Column: int(15), - }, - End: ast.Location{ - Line: int(1706), - Column: int(16), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, + Body: &ast.Var{ + Id: "go_only_function", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18444, + Ctx: p19289, FreeVars: ast.Identifiers{ - "x", - "y", + "go_only_function", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1706), + Line: int(1794), Column: int(15), }, End: ast.Location{ - Line: int(1706), - Column: int(21), + Line: int(1794), + Column: int(31), }, }, }, - Op: ast.BinaryOp(13), }, Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "x", - CommaFodder: ast.Fodder{}, - EqFodder: nil, - DefaultArg: nil, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1706), - Column: int(7), - }, - End: ast.Location{ - Line: int(1706), - Column: int(8), - }, - }, - }, - ast.Parameter{ - NameFodder: ast.Fodder{}, - Name: "y", + Name: "str", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -232539,11 +243501,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1706), - Column: int(10), + Line: int(1794), + Column: int(8), }, End: ast.Location{ - Line: int(1706), + Line: int(1794), Column: int(11), }, }, @@ -232552,7 +243514,9 @@ var _StdAst = &ast.DesugaredObject{ NodeBase: ast.NodeBase{ Fodder: nil, Ctx: p23, - FreeVars: ast.Identifiers{}, + FreeVars: ast.Identifiers{ + "go_only_function", + }, LocRange: ast.LocationRange{ File: nil, FileName: "", @@ -232572,12 +243536,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1706), + Line: int(1794), Column: int(3), }, End: ast.Location{ - Line: int(1706), - Column: int(21), + Line: int(1794), + Column: int(31), }, }, Hide: ast.ObjectFieldHide(0), @@ -232585,7 +243549,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "xnor", + Value: "sha256", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -232610,97 +243574,138 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Function{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, - Body: &ast.Binary{ - Right: &ast.Var{ - Id: "y", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18454, - FreeVars: ast.Identifiers{ - "y", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1708), - Column: int(21), - }, - End: ast.Location{ - Line: int(1708), - Column: int(22), - }, - }, - }, - }, - Left: &ast.Var{ - Id: "x", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18454, - FreeVars: ast.Identifiers{ - "x", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1708), - Column: int(16), - }, - End: ast.Location{ - Line: int(1708), - Column: int(17), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, + Body: &ast.Var{ + Id: "go_only_function", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18454, + Ctx: p19296, FreeVars: ast.Identifiers{ - "x", - "y", + "go_only_function", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1708), - Column: int(16), + Line: int(1795), + Column: int(17), }, End: ast.Location{ - Line: int(1708), - Column: int(22), + Line: int(1795), + Column: int(33), }, }, }, - Op: ast.BinaryOp(12), }, Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "x", - CommaFodder: ast.Fodder{}, + Name: "str", + CommaFodder: nil, EqFodder: nil, DefaultArg: nil, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1708), - Column: int(8), + Line: int(1795), + Column: int(10), }, End: ast.Location{ - Line: int(1708), - Column: int(9), + Line: int(1795), + Column: int(13), + }, + }, + }, + }, + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: p23, + FreeVars: ast.Identifiers{ + "go_only_function", + }, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + TrailingComma: false, + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1795), + Column: int(3), + }, + End: ast.Location{ + Line: int(1795), + Column: int(33), + }, + }, + Hide: ast.ObjectFieldHide(0), + PlusSuper: false, + }, + ast.DesugaredObjectField{ + Name: &ast.LiteralString{ + Value: "sha512", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + Body: &ast.Function{ + ParenLeftFodder: ast.Fodder{}, + ParenRightFodder: ast.Fodder{}, + Body: &ast.Var{ + Id: "go_only_function", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19303, + FreeVars: ast.Identifiers{ + "go_only_function", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1796), + Column: int(17), + }, + End: ast.Location{ + Line: int(1796), + Column: int(33), }, }, }, + }, + Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "y", + Name: "str", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -232708,12 +243713,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1708), - Column: int(11), + Line: int(1796), + Column: int(10), }, End: ast.Location{ - Line: int(1708), - Column: int(12), + Line: int(1796), + Column: int(13), }, }, }, @@ -232721,7 +243726,9 @@ var _StdAst = &ast.DesugaredObject{ NodeBase: ast.NodeBase{ Fodder: nil, Ctx: p23, - FreeVars: ast.Identifiers{}, + FreeVars: ast.Identifiers{ + "go_only_function", + }, LocRange: ast.LocationRange{ File: nil, FileName: "", @@ -232741,12 +243748,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1708), + Line: int(1796), Column: int(3), }, End: ast.Location{ - Line: int(1708), - Column: int(22), + Line: int(1796), + Column: int(33), }, }, Hide: ast.ObjectFieldHide(0), @@ -232754,7 +243761,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "round", + Value: "sha3", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -232779,179 +243786,32 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Function{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, - Body: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1710), - Column: int(14), - }, - End: ast.Location{ - Line: int(1710), - Column: int(17), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "floor", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18467, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1710), - Column: int(14), - }, - End: ast.Location{ - Line: int(1710), - Column: int(23), - }, - }, - }, - }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "0.5", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18472, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1710), - Column: int(28), - }, - End: ast.Location{ - Line: int(1710), - Column: int(31), - }, - }, - }, - }, - Left: &ast.Var{ - Id: "x", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18472, - FreeVars: ast.Identifiers{ - "x", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1710), - Column: int(24), - }, - End: ast.Location{ - Line: int(1710), - Column: int(25), - }, - }, - }, - }, - OpFodder: ast.Fodder{}, - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18472, - FreeVars: ast.Identifiers{ - "x", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1710), - Column: int(24), - }, - End: ast.Location{ - Line: int(1710), - Column: int(31), - }, - }, - }, - Op: ast.BinaryOp(3), - }, - CommaFodder: nil, - }, - }, - Named: nil, - }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + Body: &ast.Var{ + Id: "go_only_function", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18467, + Ctx: p19310, FreeVars: ast.Identifiers{ - "std", - "x", + "go_only_function", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1710), - Column: int(14), + Line: int(1797), + Column: int(15), }, End: ast.Location{ - Line: int(1710), - Column: int(32), + Line: int(1797), + Column: int(31), }, }, }, - TrailingComma: false, - TailStrict: false, }, Parameters: []ast.Parameter{ ast.Parameter{ NameFodder: ast.Fodder{}, - Name: "x", + Name: "str", CommaFodder: nil, EqFodder: nil, DefaultArg: nil, @@ -232959,12 +243819,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1710), - Column: int(9), + Line: int(1797), + Column: int(8), }, End: ast.Location{ - Line: int(1710), - Column: int(10), + Line: int(1797), + Column: int(11), }, }, }, @@ -232973,7 +243833,7 @@ var _StdAst = &ast.DesugaredObject{ Fodder: nil, Ctx: p23, FreeVars: ast.Identifiers{ - "std", + "go_only_function", }, LocRange: ast.LocationRange{ File: nil, @@ -232994,12 +243854,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1710), + Line: int(1797), Column: int(3), }, End: ast.Location{ - Line: int(1710), - Column: int(32), + Line: int(1797), + Column: int(31), }, }, Hide: ast.ObjectFieldHide(0), @@ -233007,7 +243867,7 @@ var _StdAst = &ast.DesugaredObject{ }, ast.DesugaredObjectField{ Name: &ast.LiteralString{ - Value: "isEmpty", + Value: "trim", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -233032,80 +243892,13 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Function{ ParenLeftFodder: ast.Fodder{}, ParenRightFodder: ast.Fodder{}, - Body: &ast.Binary{ - Right: &ast.LiteralNumber{ - OriginalString: "0", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18483, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1712), - Column: int(37), - }, - End: ast.Location{ - Line: int(1712), - Column: int(38), - }, - }, - }, - }, - Left: &ast.Apply{ - Target: &ast.Index{ - Target: &ast.Var{ - Id: "std", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: nil, - FreeVars: ast.Identifiers{ - "std", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1712), - Column: int(18), - }, - End: ast.Location{ - Line: int(1712), - Column: int(21), - }, - }, - }, - }, - Index: &ast.LiteralString{ - Value: "length", - BlockIndent: "", - BlockTermIndent: "", - NodeBase: ast.NodeBase{ - Fodder: nil, - Ctx: nil, - FreeVars: ast.Identifiers{}, - LocRange: ast.LocationRange{ - File: nil, - FileName: "", - Begin: ast.Location{ - Line: int(0), - Column: int(0), - }, - End: ast.Location{ - Line: int(0), - Column: int(0), - }, - }, - }, - Kind: ast.LiteralStringKind(1), - }, - RightBracketFodder: ast.Fodder{}, - LeftBracketFodder: ast.Fodder{}, - Id: nil, + Body: &ast.Apply{ + Target: &ast.Index{ + Target: &ast.Var{ + Id: "std", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18483, + Ctx: nil, FreeVars: ast.Identifiers{ "std", }, @@ -233113,76 +243906,124 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1712), - Column: int(18), + Line: int(1799), + Column: int(15), }, End: ast.Location{ - Line: int(1712), - Column: int(28), + Line: int(1799), + Column: int(18), }, }, }, }, - FodderLeft: ast.Fodder{}, - Arguments: ast.Arguments{ - Positional: []ast.CommaSeparatedExpr{ - ast.CommaSeparatedExpr{ - Expr: &ast.Var{ - Id: "str", - NodeBase: ast.NodeBase{ - Fodder: ast.Fodder{}, - Ctx: p18492, - FreeVars: ast.Identifiers{ - "str", - }, - LocRange: ast.LocationRange{ - File: p8, - FileName: "", - Begin: ast.Location{ - Line: int(1712), - Column: int(29), - }, - End: ast.Location{ - Line: int(1712), - Column: int(32), - }, - }, - }, + Index: &ast.LiteralString{ + Value: "stripChars", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: nil, + Ctx: nil, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: nil, + FileName: "", + Begin: ast.Location{ + Line: int(0), + Column: int(0), + }, + End: ast.Location{ + Line: int(0), + Column: int(0), }, - CommaFodder: nil, }, }, - Named: nil, + Kind: ast.LiteralStringKind(1), }, - FodderRight: ast.Fodder{}, - TailStrictFodder: nil, + RightBracketFodder: ast.Fodder{}, + LeftBracketFodder: ast.Fodder{}, + Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18483, + Ctx: p19321, FreeVars: ast.Identifiers{ "std", - "str", }, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1712), - Column: int(18), + Line: int(1799), + Column: int(15), }, End: ast.Location{ - Line: int(1712), - Column: int(33), + Line: int(1799), + Column: int(29), }, }, }, - TrailingComma: false, - TailStrict: false, }, - OpFodder: ast.Fodder{}, + FodderLeft: ast.Fodder{}, + Arguments: ast.Arguments{ + Positional: []ast.CommaSeparatedExpr{ + ast.CommaSeparatedExpr{ + Expr: &ast.Var{ + Id: "str", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19325, + FreeVars: ast.Identifiers{ + "str", + }, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1799), + Column: int(30), + }, + End: ast.Location{ + Line: int(1799), + Column: int(33), + }, + }, + }, + }, + CommaFodder: ast.Fodder{}, + }, + ast.CommaSeparatedExpr{ + Expr: &ast.LiteralString{ + Value: " \t\n\f\r\u0085\u00a0", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19325, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(1799), + Column: int(35), + }, + End: ast.Location{ + Line: int(1799), + Column: int(58), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + CommaFodder: nil, + }, + }, + Named: nil, + }, + FodderRight: ast.Fodder{}, + TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18483, + Ctx: p19321, FreeVars: ast.Identifiers{ "std", "str", @@ -233191,16 +244032,17 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1712), - Column: int(18), + Line: int(1799), + Column: int(15), }, End: ast.Location{ - Line: int(1712), - Column: int(38), + Line: int(1799), + Column: int(59), }, }, }, - Op: ast.BinaryOp(12), + TrailingComma: false, + TailStrict: false, }, Parameters: []ast.Parameter{ ast.Parameter{ @@ -233213,12 +244055,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1712), - Column: int(11), + Line: int(1799), + Column: int(8), }, End: ast.Location{ - Line: int(1712), - Column: int(14), + Line: int(1799), + Column: int(11), }, }, }, @@ -233248,12 +244090,12 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1712), + Line: int(1799), Column: int(3), }, End: ast.Location{ - Line: int(1712), - Column: int(38), + Line: int(1799), + Column: int(59), }, }, Hide: ast.ObjectFieldHide(0), @@ -233266,7 +244108,7 @@ var _StdAst = &ast.DesugaredObject{ Body: &ast.Self{ NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18500, + Ctx: p19333, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, @@ -233308,7 +244150,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "x", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18503, + Ctx: p19336, FreeVars: ast.Identifiers{ "x", }, @@ -233349,7 +244191,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18506, + Ctx: p19339, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, @@ -233383,6 +244225,67 @@ var _StdAst = &ast.DesugaredObject{ }, }, }, + ast.LocalBind{ + VarFodder: nil, + Body: &ast.Error{ + Expr: &ast.LiteralString{ + Value: "This function is only supported in go version of jsonnet. See https://github.com/google/go-jsonnet", + BlockIndent: "", + BlockTermIndent: "", + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19342, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(28), + Column: int(34), + }, + End: ast.Location{ + Line: int(28), + Column: int(134), + }, + }, + }, + Kind: ast.LiteralStringKind(1), + }, + NodeBase: ast.NodeBase{ + Fodder: ast.Fodder{}, + Ctx: p19343, + FreeVars: ast.Identifiers{}, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(28), + Column: int(28), + }, + End: ast.Location{ + Line: int(28), + Column: int(134), + }, + }, + }, + }, + EqFodder: nil, + Variable: "go_only_function", + CloseFodder: nil, + Fun: nil, + LocRange: ast.LocationRange{ + File: p8, + FileName: "", + Begin: ast.Location{ + Line: int(28), + Column: int(9), + }, + End: ast.Location{ + Line: int(28), + Column: int(134), + }, + }, + }, ast.LocalBind{ VarFodder: nil, Body: &ast.Function{ @@ -233395,17 +244298,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "16", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18512, + Ctx: p19349, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(32), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(34), }, }, @@ -233415,7 +244318,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18514, + Ctx: p19351, FreeVars: ast.Identifiers{ "base", }, @@ -233423,11 +244326,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(24), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(28), }, }, @@ -233436,7 +244339,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18516, + Ctx: p19353, FreeVars: ast.Identifiers{ "base", }, @@ -233444,11 +244347,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(24), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(34), }, }, @@ -233460,17 +244363,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18520, + Ctx: p19357, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(19), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(20), }, }, @@ -233480,7 +244383,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18522, + Ctx: p19359, FreeVars: ast.Identifiers{ "base", }, @@ -233488,11 +244391,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(12), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(16), }, }, @@ -233501,7 +244404,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18524, + Ctx: p19361, FreeVars: ast.Identifiers{ "base", }, @@ -233509,11 +244412,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(12), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(20), }, }, @@ -233523,7 +244426,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18526, + Ctx: p19363, FreeVars: ast.Identifiers{ "base", }, @@ -233531,11 +244434,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(12), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(34), }, }, @@ -233560,11 +244463,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(79), + Line: int(81), Column: int(23), }, End: ast.Location{ - Line: int(79), + Line: int(81), Column: int(26), }, }, @@ -233598,7 +244501,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18535, + Ctx: p19372, FreeVars: ast.Identifiers{ "std", }, @@ -233606,11 +244509,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(79), + Line: int(81), Column: int(23), }, End: ast.Location{ - Line: int(79), + Line: int(81), Column: int(36), }, }, @@ -233626,17 +244529,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18539, + Ctx: p19376, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(79), + Line: int(81), Column: int(37), }, End: ast.Location{ - Line: int(79), + Line: int(81), Column: int(40), }, }, @@ -233652,7 +244555,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18540, + Ctx: p19377, FreeVars: ast.Identifiers{ "std", }, @@ -233660,11 +244563,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(79), + Line: int(81), Column: int(23), }, End: ast.Location{ - Line: int(79), + Line: int(81), Column: int(41), }, }, @@ -233680,11 +244583,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(79), + Line: int(81), Column: int(11), }, End: ast.Location{ - Line: int(79), + Line: int(81), Column: int(41), }, }, @@ -233708,11 +244611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(80), + Line: int(82), Column: int(26), }, End: ast.Location{ - Line: int(80), + Line: int(82), Column: int(29), }, }, @@ -233746,7 +244649,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18549, + Ctx: p19386, FreeVars: ast.Identifiers{ "std", }, @@ -233754,11 +244657,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(80), + Line: int(82), Column: int(26), }, End: ast.Location{ - Line: int(80), + Line: int(82), Column: int(39), }, }, @@ -233774,17 +244677,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18553, + Ctx: p19390, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(80), + Line: int(82), Column: int(40), }, End: ast.Location{ - Line: int(80), + Line: int(82), Column: int(43), }, }, @@ -233800,7 +244703,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18554, + Ctx: p19391, FreeVars: ast.Identifiers{ "std", }, @@ -233808,11 +244711,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(80), + Line: int(82), Column: int(26), }, End: ast.Location{ - Line: int(80), + Line: int(82), Column: int(44), }, }, @@ -233828,11 +244731,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(80), + Line: int(82), Column: int(11), }, End: ast.Location{ - Line: int(80), + Line: int(82), Column: int(44), }, }, @@ -233856,11 +244759,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(81), + Line: int(83), Column: int(26), }, End: ast.Location{ - Line: int(81), + Line: int(83), Column: int(29), }, }, @@ -233894,7 +244797,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18563, + Ctx: p19400, FreeVars: ast.Identifiers{ "std", }, @@ -233902,11 +244805,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(81), + Line: int(83), Column: int(26), }, End: ast.Location{ - Line: int(81), + Line: int(83), Column: int(39), }, }, @@ -233922,17 +244825,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18567, + Ctx: p19404, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(81), + Line: int(83), Column: int(40), }, End: ast.Location{ - Line: int(81), + Line: int(83), Column: int(43), }, }, @@ -233948,7 +244851,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18568, + Ctx: p19405, FreeVars: ast.Identifiers{ "std", }, @@ -233956,11 +244859,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(81), + Line: int(83), Column: int(26), }, End: ast.Location{ - Line: int(81), + Line: int(83), Column: int(44), }, }, @@ -233976,11 +244879,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(81), + Line: int(83), Column: int(11), }, End: ast.Location{ - Line: int(81), + Line: int(83), Column: int(44), }, }, @@ -234011,11 +244914,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(83), + Line: int(85), Column: int(20), }, End: ast.Location{ - Line: int(83), + Line: int(85), Column: int(23), }, }, @@ -234049,7 +244952,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18580, + Ctx: p19417, FreeVars: ast.Identifiers{ "std", }, @@ -234057,11 +244960,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(83), + Line: int(85), Column: int(20), }, End: ast.Location{ - Line: int(83), + Line: int(85), Column: int(33), }, }, @@ -234075,7 +244978,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "char", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18584, + Ctx: p19421, FreeVars: ast.Identifiers{ "char", }, @@ -234083,11 +244986,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(83), + Line: int(85), Column: int(34), }, End: ast.Location{ - Line: int(83), + Line: int(85), Column: int(38), }, }, @@ -234102,7 +245005,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18586, + Ctx: p19423, FreeVars: ast.Identifiers{ "char", "std", @@ -234111,11 +245014,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(83), + Line: int(85), Column: int(20), }, End: ast.Location{ - Line: int(83), + Line: int(85), Column: int(39), }, }, @@ -234131,11 +245034,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(83), + Line: int(85), Column: int(13), }, End: ast.Location{ - Line: int(83), + Line: int(85), Column: int(39), }, }, @@ -234151,7 +245054,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lower_a_code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18593, + Ctx: p19430, FreeVars: ast.Identifiers{ "lower_a_code", }, @@ -234159,11 +245062,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(84), + Line: int(86), Column: int(32), }, End: ast.Location{ - Line: int(84), + Line: int(86), Column: int(44), }, }, @@ -234173,7 +245076,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18596, + Ctx: p19433, FreeVars: ast.Identifiers{ "code", }, @@ -234181,11 +245084,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(84), + Line: int(86), Column: int(24), }, End: ast.Location{ - Line: int(84), + Line: int(86), Column: int(28), }, }, @@ -234194,7 +245097,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18598, + Ctx: p19435, FreeVars: ast.Identifiers{ "code", "lower_a_code", @@ -234203,11 +245106,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(84), + Line: int(86), Column: int(24), }, End: ast.Location{ - Line: int(84), + Line: int(86), Column: int(44), }, }, @@ -234219,17 +245122,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18602, + Ctx: p19439, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(85), + Line: int(87), Column: int(31), }, End: ast.Location{ - Line: int(85), + Line: int(87), Column: int(33), }, }, @@ -234240,7 +245143,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "lower_a_code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18605, + Ctx: p19442, FreeVars: ast.Identifiers{ "lower_a_code", }, @@ -234248,11 +245151,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(85), + Line: int(87), Column: int(16), }, End: ast.Location{ - Line: int(85), + Line: int(87), Column: int(28), }, }, @@ -234269,7 +245172,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p18609, + Ctx: p19446, FreeVars: ast.Identifiers{ "code", }, @@ -234277,11 +245180,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(85), + Line: int(87), Column: int(9), }, End: ast.Location{ - Line: int(85), + Line: int(87), Column: int(13), }, }, @@ -234290,7 +245193,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18611, + Ctx: p19448, FreeVars: ast.Identifiers{ "code", "lower_a_code", @@ -234299,11 +245202,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(85), + Line: int(87), Column: int(9), }, End: ast.Location{ - Line: int(85), + Line: int(87), Column: int(28), }, }, @@ -234313,7 +245216,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18613, + Ctx: p19450, FreeVars: ast.Identifiers{ "code", "lower_a_code", @@ -234322,11 +245225,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(85), + Line: int(87), Column: int(9), }, End: ast.Location{ - Line: int(85), + Line: int(87), Column: int(33), }, }, @@ -234339,7 +245242,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "upper_a_code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18618, + Ctx: p19455, FreeVars: ast.Identifiers{ "upper_a_code", }, @@ -234347,11 +245250,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(86), + Line: int(88), Column: int(23), }, End: ast.Location{ - Line: int(86), + Line: int(88), Column: int(35), }, }, @@ -234361,7 +245264,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18621, + Ctx: p19458, FreeVars: ast.Identifiers{ "code", }, @@ -234369,11 +245272,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(86), + Line: int(88), Column: int(15), }, End: ast.Location{ - Line: int(86), + Line: int(88), Column: int(19), }, }, @@ -234382,7 +245285,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18623, + Ctx: p19460, FreeVars: ast.Identifiers{ "code", "upper_a_code", @@ -234391,11 +245294,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(86), + Line: int(88), Column: int(15), }, End: ast.Location{ - Line: int(86), + Line: int(88), Column: int(35), }, }, @@ -234407,17 +245310,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "10", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18627, + Ctx: p19464, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(87), + Line: int(89), Column: int(31), }, End: ast.Location{ - Line: int(87), + Line: int(89), Column: int(33), }, }, @@ -234428,7 +245331,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "upper_a_code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18630, + Ctx: p19467, FreeVars: ast.Identifiers{ "upper_a_code", }, @@ -234436,11 +245339,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(87), + Line: int(89), Column: int(16), }, End: ast.Location{ - Line: int(87), + Line: int(89), Column: int(28), }, }, @@ -234457,7 +245360,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p18634, + Ctx: p19471, FreeVars: ast.Identifiers{ "code", }, @@ -234465,11 +245368,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(87), + Line: int(89), Column: int(9), }, End: ast.Location{ - Line: int(87), + Line: int(89), Column: int(13), }, }, @@ -234478,7 +245381,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18636, + Ctx: p19473, FreeVars: ast.Identifiers{ "code", "upper_a_code", @@ -234487,11 +245390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(87), + Line: int(89), Column: int(9), }, End: ast.Location{ - Line: int(87), + Line: int(89), Column: int(28), }, }, @@ -234501,7 +245404,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18638, + Ctx: p19475, FreeVars: ast.Identifiers{ "code", "upper_a_code", @@ -234510,11 +245413,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(87), + Line: int(89), Column: int(9), }, End: ast.Location{ - Line: int(87), + Line: int(89), Column: int(33), }, }, @@ -234526,7 +245429,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "zero_code", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18642, + Ctx: p19479, FreeVars: ast.Identifiers{ "zero_code", }, @@ -234534,11 +245437,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(89), + Line: int(91), Column: int(16), }, End: ast.Location{ - Line: int(89), + Line: int(91), Column: int(25), }, }, @@ -234555,7 +245458,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(8), }, }, - Ctx: p18646, + Ctx: p19483, FreeVars: ast.Identifiers{ "code", }, @@ -234563,11 +245466,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(89), + Line: int(91), Column: int(9), }, End: ast.Location{ - Line: int(89), + Line: int(91), Column: int(13), }, }, @@ -234576,7 +245479,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18648, + Ctx: p19485, FreeVars: ast.Identifiers{ "code", "zero_code", @@ -234585,11 +245488,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(89), + Line: int(91), Column: int(9), }, End: ast.Location{ - Line: int(89), + Line: int(91), Column: int(25), }, }, @@ -234607,7 +245510,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18651, + Ctx: p19488, FreeVars: ast.Identifiers{ "code", "upper_a_code", @@ -234617,11 +245520,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(86), + Line: int(88), Column: int(12), }, End: ast.Location{ - Line: int(89), + Line: int(91), Column: int(25), }, }, @@ -234638,7 +245541,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18654, + Ctx: p19491, FreeVars: ast.Identifiers{ "code", "lower_a_code", @@ -234649,11 +245552,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(84), + Line: int(86), Column: int(21), }, End: ast.Location{ - Line: int(89), + Line: int(91), Column: int(25), }, }, @@ -234667,11 +245570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(84), + Line: int(86), Column: int(13), }, End: ast.Location{ - Line: int(89), + Line: int(91), Column: int(25), }, }, @@ -234684,7 +245587,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18660, + Ctx: p19497, FreeVars: ast.Identifiers{ "base", }, @@ -234692,11 +245595,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(36), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(40), }, }, @@ -234706,7 +245609,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "digit", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18663, + Ctx: p19500, FreeVars: ast.Identifiers{ "digit", }, @@ -234714,11 +245617,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(28), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(33), }, }, @@ -234727,7 +245630,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18665, + Ctx: p19502, FreeVars: ast.Identifiers{ "base", "digit", @@ -234736,11 +245639,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(28), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(40), }, }, @@ -234752,17 +245655,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18669, + Ctx: p19506, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(23), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(24), }, }, @@ -234772,7 +245675,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "digit", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18671, + Ctx: p19508, FreeVars: ast.Identifiers{ "digit", }, @@ -234780,11 +245683,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(14), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(19), }, }, @@ -234793,7 +245696,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18673, + Ctx: p19510, FreeVars: ast.Identifiers{ "digit", }, @@ -234801,11 +245704,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(14), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(24), }, }, @@ -234815,7 +245718,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18675, + Ctx: p19512, FreeVars: ast.Identifiers{ "base", "digit", @@ -234824,11 +245727,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(14), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(40), }, }, @@ -234840,7 +245743,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "digit", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18679, + Ctx: p19516, FreeVars: ast.Identifiers{ "digit", }, @@ -234848,11 +245751,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(91), + Line: int(93), Column: int(26), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(31), }, }, @@ -234863,7 +245766,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "aggregate", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18683, + Ctx: p19520, FreeVars: ast.Identifiers{ "aggregate", }, @@ -234871,11 +245774,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(91), + Line: int(93), Column: int(14), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(23), }, }, @@ -234892,7 +245795,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p18687, + Ctx: p19524, FreeVars: ast.Identifiers{ "base", }, @@ -234900,11 +245803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(91), + Line: int(93), Column: int(7), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(11), }, }, @@ -234913,7 +245816,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18689, + Ctx: p19526, FreeVars: ast.Identifiers{ "aggregate", "base", @@ -234922,11 +245825,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(91), + Line: int(93), Column: int(7), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(23), }, }, @@ -234936,7 +245839,7 @@ var _StdAst = &ast.DesugaredObject{ OpFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18691, + Ctx: p19528, FreeVars: ast.Identifiers{ "aggregate", "base", @@ -234946,11 +245849,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(91), + Line: int(93), Column: int(7), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(31), }, }, @@ -235038,17 +245941,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18702, + Ctx: p19539, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(43), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(72), }, }, @@ -235065,7 +245968,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18706, + Ctx: p19543, FreeVars: ast.Identifiers{ "str", }, @@ -235073,11 +245976,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(76), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(79), }, }, @@ -235090,7 +245993,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18709, + Ctx: p19546, FreeVars: ast.Identifiers{ "base", }, @@ -235098,11 +246001,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(81), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(85), }, }, @@ -235114,7 +246017,7 @@ var _StdAst = &ast.DesugaredObject{ CloseFodder: ast.Fodder{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18711, + Ctx: p19548, FreeVars: ast.Identifiers{ "base", "str", @@ -235123,11 +246026,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(75), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(86), }, }, @@ -235153,11 +246056,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(43), }, End: ast.Location{ - Line: int(90), + Line: int(92), Column: int(86), }, }, @@ -235177,11 +246080,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(90), + Line: int(92), Column: int(7), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(31), }, }, @@ -235222,7 +246125,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p18717, + Ctx: p19554, FreeVars: ast.Identifiers{ "$std", "aggregate", @@ -235237,11 +246140,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(84), + Line: int(86), Column: int(7), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(31), }, }, @@ -235256,7 +246159,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(6), }, }, - Ctx: p18720, + Ctx: p19557, FreeVars: ast.Identifiers{ "$std", "aggregate", @@ -235272,11 +246175,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(83), + Line: int(85), Column: int(7), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(31), }, }, @@ -235293,11 +246196,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(82), + Line: int(84), Column: int(20), }, End: ast.Location{ - Line: int(82), + Line: int(84), Column: int(29), }, }, @@ -235312,11 +246215,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(82), + Line: int(84), Column: int(31), }, End: ast.Location{ - Line: int(82), + Line: int(84), Column: int(35), }, }, @@ -235324,7 +246227,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p18723, + Ctx: p19560, FreeVars: ast.Identifiers{ "$std", "base", @@ -235338,11 +246241,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(82), + Line: int(84), Column: int(11), }, End: ast.Location{ - Line: int(91), + Line: int(93), Column: int(31), }, }, @@ -235388,11 +246291,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(5), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(8), }, }, @@ -235426,7 +246329,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18731, + Ctx: p19568, FreeVars: ast.Identifiers{ "std", }, @@ -235434,11 +246337,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(5), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(14), }, }, @@ -235452,7 +246355,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "addDigit", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18735, + Ctx: p19572, FreeVars: ast.Identifiers{ "addDigit", }, @@ -235460,11 +246363,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(15), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(23), }, }, @@ -235487,11 +246390,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(25), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(28), }, }, @@ -235525,7 +246428,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18742, + Ctx: p19579, FreeVars: ast.Identifiers{ "std", }, @@ -235533,11 +246436,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(25), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(40), }, }, @@ -235551,7 +246454,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "str", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18746, + Ctx: p19583, FreeVars: ast.Identifiers{ "str", }, @@ -235559,11 +246462,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(41), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(44), }, }, @@ -235578,7 +246481,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18748, + Ctx: p19585, FreeVars: ast.Identifiers{ "std", "str", @@ -235587,11 +246490,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(25), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(45), }, }, @@ -235606,17 +246509,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18751, + Ctx: p19588, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(47), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(48), }, }, @@ -235631,7 +246534,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18752, + Ctx: p19589, FreeVars: ast.Identifiers{ "addDigit", "std", @@ -235641,11 +246544,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(92), + Line: int(94), Column: int(5), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(49), }, }, @@ -235662,7 +246565,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18755, + Ctx: p19592, FreeVars: ast.Identifiers{ "$std", "base", @@ -235676,11 +246579,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(82), + Line: int(84), Column: int(5), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(49), }, }, @@ -235695,7 +246598,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18758, + Ctx: p19595, FreeVars: ast.Identifiers{ "$std", "base", @@ -235708,11 +246611,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(81), + Line: int(83), Column: int(5), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(49), }, }, @@ -235727,7 +246630,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18761, + Ctx: p19598, FreeVars: ast.Identifiers{ "$std", "base", @@ -235739,11 +246642,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(80), + Line: int(82), Column: int(5), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(49), }, }, @@ -235766,7 +246669,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18765, + Ctx: p19602, FreeVars: ast.Identifiers{ "$std", "base", @@ -235777,11 +246680,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(79), + Line: int(81), Column: int(5), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(49), }, }, @@ -235868,17 +246771,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18776, + Ctx: p19613, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(37), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(62), }, }, @@ -235892,7 +246795,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18778, + Ctx: p19615, FreeVars: ast.Identifiers{ "base", }, @@ -235900,11 +246803,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(65), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(69), }, }, @@ -235928,11 +246831,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(37), }, End: ast.Location{ - Line: int(77), + Line: int(79), Column: int(69), }, }, @@ -235951,11 +246854,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(77), + Line: int(79), Column: int(5), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(49), }, }, @@ -235997,11 +246900,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(76), + Line: int(78), Column: int(19), }, End: ast.Location{ - Line: int(76), + Line: int(78), Column: int(22), }, }, @@ -236016,11 +246919,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(76), + Line: int(78), Column: int(24), }, End: ast.Location{ - Line: int(76), + Line: int(78), Column: int(28), }, }, @@ -236028,7 +246931,7 @@ var _StdAst = &ast.DesugaredObject{ }, NodeBase: ast.NodeBase{ Fodder: nil, - Ctx: p18784, + Ctx: p19621, FreeVars: ast.Identifiers{ "$std", "std", @@ -236056,11 +246959,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(76), + Line: int(78), Column: int(9), }, End: ast.Location{ - Line: int(92), + Line: int(94), Column: int(49), }, }, @@ -236084,17 +246987,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18790, + Ctx: p19627, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1017), + Line: int(1037), Column: int(5), }, End: ast.Location{ - Line: int(1017), + Line: int(1037), Column: int(8), }, }, @@ -236107,17 +247010,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18792, + Ctx: p19629, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1017), + Line: int(1037), Column: int(10), }, End: ast.Location{ - Line: int(1017), + Line: int(1037), Column: int(16), }, }, @@ -236128,11 +247031,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1017), + Line: int(1037), Column: int(5), }, End: ast.Location{ - Line: int(1017), + Line: int(1037), Column: int(16), }, }, @@ -236153,17 +247056,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18795, + Ctx: p19632, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1018), + Line: int(1038), Column: int(5), }, End: ast.Location{ - Line: int(1018), + Line: int(1038), Column: int(8), }, }, @@ -236176,17 +247079,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18797, + Ctx: p19634, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1018), + Line: int(1038), Column: int(10), }, End: ast.Location{ - Line: int(1018), + Line: int(1038), Column: int(16), }, }, @@ -236197,11 +247100,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1018), + Line: int(1038), Column: int(5), }, End: ast.Location{ - Line: int(1018), + Line: int(1038), Column: int(16), }, }, @@ -236222,17 +247125,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18800, + Ctx: p19637, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1019), + Line: int(1039), Column: int(5), }, End: ast.Location{ - Line: int(1019), + Line: int(1039), Column: int(8), }, }, @@ -236245,17 +247148,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18802, + Ctx: p19639, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1019), + Line: int(1039), Column: int(10), }, End: ast.Location{ - Line: int(1019), + Line: int(1039), Column: int(17), }, }, @@ -236266,11 +247169,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1019), + Line: int(1039), Column: int(5), }, End: ast.Location{ - Line: int(1019), + Line: int(1039), Column: int(17), }, }, @@ -236291,17 +247194,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18805, + Ctx: p19642, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1020), + Line: int(1040), Column: int(5), }, End: ast.Location{ - Line: int(1020), + Line: int(1040), Column: int(8), }, }, @@ -236314,17 +247217,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18807, + Ctx: p19644, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1020), + Line: int(1040), Column: int(10), }, End: ast.Location{ - Line: int(1020), + Line: int(1040), Column: int(18), }, }, @@ -236335,11 +247238,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1020), + Line: int(1040), Column: int(5), }, End: ast.Location{ - Line: int(1020), + Line: int(1040), Column: int(18), }, }, @@ -236360,17 +247263,17 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(4), }, }, - Ctx: p18810, + Ctx: p19647, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1021), + Line: int(1041), Column: int(5), }, End: ast.Location{ - Line: int(1021), + Line: int(1041), Column: int(8), }, }, @@ -236383,17 +247286,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18812, + Ctx: p19649, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1021), + Line: int(1041), Column: int(10), }, End: ast.Location{ - Line: int(1021), + Line: int(1041), Column: int(18), }, }, @@ -236404,11 +247307,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1021), + Line: int(1041), Column: int(5), }, End: ast.Location{ - Line: int(1021), + Line: int(1041), Column: int(18), }, }, @@ -236419,17 +247322,17 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18813, + Ctx: p19650, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1016), + Line: int(1036), Column: int(23), }, End: ast.Location{ - Line: int(1022), + Line: int(1042), Column: int(4), }, }, @@ -236443,11 +247346,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1016), + Line: int(1036), Column: int(9), }, End: ast.Location{ - Line: int(1022), + Line: int(1042), Column: int(4), }, }, @@ -236460,17 +247363,17 @@ var _StdAst = &ast.DesugaredObject{ BlockTermIndent: "", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18815, + Ctx: p19652, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1333), + Line: int(1353), Column: int(24), }, End: ast.Location{ - Line: int(1333), + Line: int(1353), Column: int(90), }, }, @@ -236485,11 +247388,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1333), + Line: int(1353), Column: int(9), }, End: ast.Location{ - Line: int(1333), + Line: int(1353), Column: int(90), }, }, @@ -236595,7 +247498,7 @@ var _StdAst = &ast.DesugaredObject{ }, }, Index: &ast.LiteralString{ - Value: "flatMap", + Value: "$flatMapArray", BlockIndent: "", BlockTermIndent: "", NodeBase: ast.NodeBase{ @@ -236659,7 +247562,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "base64_table", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18837, + Ctx: p19674, FreeVars: ast.Identifiers{ "base64_table", }, @@ -236667,11 +247570,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(25), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(37), }, }, @@ -236681,7 +247584,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18840, + Ctx: p19677, FreeVars: ast.Identifiers{ "i", }, @@ -236689,11 +247592,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(38), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(39), }, }, @@ -236704,7 +247607,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18842, + Ctx: p19679, FreeVars: ast.Identifiers{ "base64_table", "i", @@ -236713,11 +247616,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(25), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(40), }, }, @@ -236727,7 +247630,7 @@ var _StdAst = &ast.DesugaredObject{ Id: "i", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18845, + Ctx: p19682, FreeVars: ast.Identifiers{ "i", }, @@ -236735,11 +247638,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(43), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(44), }, }, @@ -236749,11 +247652,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(24), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(44), }, }, @@ -236764,7 +247667,7 @@ var _StdAst = &ast.DesugaredObject{ Locals: ast.LocalBinds{}, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18847, + Ctx: p19684, FreeVars: ast.Identifiers{ "base64_table", "i", @@ -236773,11 +247676,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(22), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(72), }, }, @@ -236868,11 +247771,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(54), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(57), }, }, @@ -236906,7 +247809,7 @@ var _StdAst = &ast.DesugaredObject{ Id: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18857, + Ctx: p19694, FreeVars: ast.Identifiers{ "std", }, @@ -236914,11 +247817,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(54), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(63), }, }, @@ -236932,17 +247835,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "0", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18861, + Ctx: p19698, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(64), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(65), }, }, @@ -236955,17 +247858,17 @@ var _StdAst = &ast.DesugaredObject{ OriginalString: "63", NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18863, + Ctx: p19700, FreeVars: ast.Identifiers{}, LocRange: ast.LocationRange{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(67), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(69), }, }, @@ -236980,7 +247883,7 @@ var _StdAst = &ast.DesugaredObject{ TailStrictFodder: nil, NodeBase: ast.NodeBase{ Fodder: ast.Fodder{}, - Ctx: p18864, + Ctx: p19701, FreeVars: ast.Identifiers{ "std", }, @@ -236988,11 +247891,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(54), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(70), }, }, @@ -237019,11 +247922,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(22), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(72), }, }, @@ -237050,11 +247953,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(22), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(72), }, }, @@ -237070,11 +247973,11 @@ var _StdAst = &ast.DesugaredObject{ File: p8, FileName: "", Begin: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(9), }, End: ast.Location{ - Line: int(1334), + Line: int(1354), Column: int(72), }, }, @@ -237162,7 +248065,7 @@ var _StdAst = &ast.DesugaredObject{ Indent: int(0), }, }, - Ctx: p18872, + Ctx: p19709, FreeVars: ast.Identifiers{ "$std", }, @@ -237174,7 +248077,7 @@ var _StdAst = &ast.DesugaredObject{ Column: int(1), }, End: ast.Location{ - Line: int(1713), + Line: int(1800), Column: int(2), }, }, diff --git a/vendor/github.com/google/go-jsonnet/builtins.go b/vendor/github.com/google/go-jsonnet/builtins.go index 251ca40da..421d5d34e 100644 --- a/vendor/github.com/google/go-jsonnet/builtins.go +++ b/vendor/github.com/google/go-jsonnet/builtins.go @@ -19,6 +19,9 @@ package jsonnet import ( "bytes" "crypto/md5" + "crypto/sha1" + "crypto/sha256" + "crypto/sha512" "encoding/base64" "encoding/hex" "encoding/json" @@ -26,11 +29,13 @@ import ( "io" "math" "reflect" + "regexp" "sort" "strconv" "strings" "github.com/google/go-jsonnet/ast" + "golang.org/x/crypto/sha3" ) func builtinPlus(i *interpreter, x, y value) (value, error) { @@ -229,17 +234,25 @@ func builtinLength(i *interpreter, x value) (value, error) { return makeValueNumber(float64(num)), nil } -func builtinToString(i *interpreter, x value) (value, error) { +func valueToString(i *interpreter, x value) (string, error) { switch x := x.(type) { case valueString: - return x, nil + return x.getGoString(), nil } + var buf bytes.Buffer - err := i.manifestAndSerializeJSON(&buf, x, false, "") + if err := i.manifestAndSerializeJSON(&buf, x, false, ""); err != nil { + return "", err + } + return buf.String(), nil +} + +func builtinToString(i *interpreter, x value) (value, error) { + s, err := valueToString(i, x) if err != nil { return nil, err } - return makeValueString(buf.String()), nil + return makeValueString(s), nil } func builtinTrace(i *interpreter, x value, y value) (value, error) { @@ -332,6 +345,19 @@ func builtinFlatMap(i *interpreter, funcv, arrv value) (value, error) { } } +// builtinFlatMapArray is like builtinFlatMap, but only accepts array as the +// arrv value. Desugared comprehensions contain a call to this function, rather +// than builtinFlatMap, so that a better error message is printed when the +// comprehension would iterate over a non-array. +func builtinFlatMapArray(i *interpreter, funcv, arrv value) (value, error) { + switch arrv := arrv.(type) { + case *valueArray: + return builtinFlatMap(i, funcv, arrv) + default: + return nil, i.typeErrorSpecific(arrv, &valueArray{}) + } +} + func joinArrays(i *interpreter, sep *valueArray, arr *valueArray) (value, error) { result := make([]*cachedThunk, 0, arr.length()) first := true @@ -916,6 +942,42 @@ func builtinMd5(i *interpreter, x value) (value, error) { return makeValueString(hex.EncodeToString(hash[:])), nil } +func builtinSha1(i *interpreter, x value) (value, error) { + str, err := i.getString(x) + if err != nil { + return nil, err + } + hash := sha1.Sum([]byte(str.getGoString())) + return makeValueString(hex.EncodeToString(hash[:])), nil +} + +func builtinSha256(i *interpreter, x value) (value, error) { + str, err := i.getString(x) + if err != nil { + return nil, err + } + hash := sha256.Sum256([]byte(str.getGoString())) + return makeValueString(hex.EncodeToString(hash[:])), nil +} + +func builtinSha512(i *interpreter, x value) (value, error) { + str, err := i.getString(x) + if err != nil { + return nil, err + } + hash := sha512.Sum512([]byte(str.getGoString())) + return makeValueString(hex.EncodeToString(hash[:])), nil +} + +func builtinSha3(i *interpreter, x value) (value, error) { + str, err := i.getString(x) + if err != nil { + return nil, err + } + hash := sha3.Sum512([]byte(str.getGoString())) + return makeValueString(hex.EncodeToString(hash[:])), nil +} + func builtinBase64(i *interpreter, input value) (value, error) { var byteArr []byte @@ -1059,7 +1121,32 @@ func liftNumeric(f func(float64) float64) func(*interpreter, value) (value, erro } } +func liftNumeric2(f func(float64, float64) float64) func(*interpreter, value, value) (value, error) { + return func(i *interpreter, x value, y value) (value, error) { + nx, err := i.getNumber(x) + if err != nil { + return nil, err + } + ny, err := i.getNumber(y) + if err != nil { + return nil, err + } + return makeDoubleCheck(i, f(nx.value, ny.value)) + } +} + +func liftNumericToBoolean(f func(float64) bool) func(*interpreter, value) (value, error) { + return func(i *interpreter, x value) (value, error) { + n, err := i.getNumber(x) + if err != nil { + return nil, err + } + return makeValueBoolean(f(n.value)), nil + } +} + var builtinSqrt = liftNumeric(math.Sqrt) +var builtinHypot = liftNumeric2(math.Hypot) var builtinCeil = liftNumeric(math.Ceil) var builtinFloor = liftNumeric(math.Floor) var builtinSin = liftNumeric(math.Sin) @@ -1068,6 +1155,7 @@ var builtinTan = liftNumeric(math.Tan) var builtinAsin = liftNumeric(math.Asin) var builtinAcos = liftNumeric(math.Acos) var builtinAtan = liftNumeric(math.Atan) +var builtinAtan2 = liftNumeric2(math.Atan2) var builtinLog = liftNumeric(math.Log) var builtinExp = liftNumeric(func(f float64) float64 { res := math.Exp(f) @@ -1085,6 +1173,22 @@ var builtinExponent = liftNumeric(func(f float64) float64 { return float64(exponent) }) var builtinRound = liftNumeric(math.Round) +var builtinIsEven = liftNumericToBoolean(func(f float64) bool { + i, _ := math.Modf(f) // Get the integral part of the float + return math.Mod(i, 2) == 0 +}) +var builtinIsOdd = liftNumericToBoolean(func(f float64) bool { + i, _ := math.Modf(f) // Get the integral part of the float + return math.Mod(i, 2) != 0 +}) +var builtinIsInteger = liftNumericToBoolean(func(f float64) bool { + _, frac := math.Modf(f) // Get the fraction part of the float + return frac == 0 +}) +var builtinIsDecimal = liftNumericToBoolean(func(f float64) bool { + _, frac := math.Modf(f) // Get the fraction part of the float + return frac != 0 +}) func liftBitwise(f func(int64, int64) int64, positiveRightArg bool) func(*interpreter, value, value) (value, error) { return func(i *interpreter, xv, yv value) (value, error) { @@ -1149,7 +1253,10 @@ func builtinObjectHasEx(i *interpreter, objv value, fnamev value, includeHiddenV return nil, err } h := withHiddenFromBool(includeHidden.value) - hasField := objectHasField(objectBinding(obj), string(fname.getRunes()), h) + + hide, hasField := objectFieldsVisibility(obj)[string(fname.getRunes())] + hasField = hasField && (h == withHidden || hide != ast.ObjectFieldHidden) + return makeValueBoolean(hasField), nil } @@ -1258,6 +1365,47 @@ func builtinSplitLimit(i *interpreter, strv, cv, maxSplitsV value) (value, error return makeValueArray(res), nil } +func builtinSplitLimitR(i *interpreter, strv, cv, maxSplitsV value) (value, error) { + str, err := i.getString(strv) + if err != nil { + return nil, err + } + c, err := i.getString(cv) + if err != nil { + return nil, err + } + maxSplits, err := i.getInt(maxSplitsV) + if err != nil { + return nil, err + } + if maxSplits < -1 { + return nil, i.Error(fmt.Sprintf("std.splitLimitR third parameter should be -1 or non-negative, got %v", maxSplits)) + } + sStr := str.getGoString() + sC := c.getGoString() + if len(sC) < 1 { + return nil, i.Error(fmt.Sprintf("std.splitLimitR second parameter should have length 1 or greater, got %v", len(sC))) + } + + count := strings.Count(sStr, sC) + if maxSplits > -1 && count > maxSplits { + count = maxSplits + } + strs := make([]string, count+1) + for i := count; i > 0; i-- { + index := strings.LastIndex(sStr, sC) + strs[i] = sStr[index+len(sC):] + sStr = sStr[:index] + } + strs[0] = sStr + res := make([]*cachedThunk, len(strs)) + for i := range strs { + res[i] = readyThunk(makeValueString(strs[i])) + } + + return makeValueArray(res), nil +} + func builtinStrReplace(i *interpreter, strv, fromv, tov value) (value, error) { str, err := i.getString(strv) if err != nil { @@ -1289,6 +1437,27 @@ func builtinIsEmpty(i *interpreter, strv value) (value, error) { return makeValueBoolean(len(sStr) == 0), nil } +func builtinEqualsIgnoreCase(i *interpreter, sv1, sv2 value) (value, error) { + s1, err := i.getString(sv1) + if err != nil { + return nil, err + } + s2, err := i.getString(sv2) + if err != nil { + return nil, err + } + return makeValueBoolean(strings.EqualFold(s1.getGoString(), s2.getGoString())), nil +} + +func builtinTrim(i *interpreter, strv value) (value, error) { + str, err := i.getString(strv) + if err != nil { + return nil, err + } + sStr := str.getGoString() + return makeValueString(strings.TrimSpace(sStr)), nil +} + func base64DecodeGoBytes(i *interpreter, str string) ([]byte, error) { strLen := len(str) if strLen%4 != 0 { @@ -1406,8 +1575,6 @@ func builtinParseYAML(i *interpreter, str value) (value, error) { } s := sval.getGoString() - isYamlStream := strings.Contains(s, "---") - elems := []interface{}{} d := NewYAMLToJSONDecoder(strings.NewReader(s)) for { @@ -1421,7 +1588,7 @@ func builtinParseYAML(i *interpreter, str value) (value, error) { elems = append(elems, elem) } - if isYamlStream { + if d.IsStream() { return jsonToValue(i, elems) } return jsonToValue(i, elems[0]) @@ -1471,8 +1638,16 @@ func tomlIsSection(i *interpreter, val value) (bool, error) { } } -// tomlEncodeString encodes a string as quoted TOML string -func tomlEncodeString(s string) string { +func builtinEscapeStringJson(i *interpreter, v value) (value, error) { + s, err := valueToString(i, v) + if err != nil { + return nil, err + } + + return makeValueString(unparseString(s)), nil +} + +func escapeStringJson(s string) string { res := "\"" for _, c := range s { @@ -1504,6 +1679,11 @@ func tomlEncodeString(s string) string { return res } +// tomlEncodeString encodes a string as quoted TOML string +func tomlEncodeString(s string) string { + return unparseString(s) +} + // tomlEncodeKey encodes a key - returning same string if it does not need quoting, // otherwise return it quoted; returns empty key as ” func tomlEncodeKey(s string) string { @@ -1895,6 +2075,209 @@ func builtinManifestJSONEx(i *interpreter, arguments []value) (value, error) { return makeValueString(finalString), nil } +const ( + yamlIndent = " " +) + +var ( + yamlReserved = []string{ + // Boolean types taken from https://yaml.org/type/bool.html + "true", "false", "yes", "no", "on", "off", "y", "n", + // Numerical words taken from https://yaml.org/type/float.html + ".nan", "-.inf", "+.inf", ".inf", "null", + // Invalid keys that contain no invalid characters + "-", "---", "''", + } + yamlTimestampPattern = regexp.MustCompile(`^(?:[0-9]*-){2}[0-9]*$`) + yamlBinaryPattern = regexp.MustCompile(`^[-+]?0b[0-1_]+$`) + yamlHexPattern = regexp.MustCompile(`[-+]?0x[0-9a-fA-F_]+`) +) + +func yamlReservedString(s string) bool { + for _, r := range yamlReserved { + if strings.EqualFold(s, r) { + return true + } + } + return false +} + +func yamlBareSafe(s string) bool { + if len(s) == 0 { + return false + } + + // String contains unsafe char + for _, c := range s { + isAlpha := (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') + isDigit := c >= '0' && c <= '9' + + if !isAlpha && !isDigit && c != '_' && c != '-' && c != '/' && c != '.' { + return false + } + } + + if yamlReservedString(s) { + return false + } + + if yamlTimestampPattern.MatchString(s) { + return false + } + + // Check binary / + if yamlBinaryPattern.MatchString(s) || yamlHexPattern.MatchString(s) { + return false + } + + // Is integer + if _, err := strconv.Atoi(s); err == nil { + return false + } + // Is float + if _, err := strconv.ParseFloat(s, 64); err == nil { + return false + } + + return true +} + +func builtinManifestYamlDoc(i *interpreter, arguments []value) (value, error) { + val := arguments[0] + vindentArrInObj, err := i.getBoolean(arguments[1]) + if err != nil { + return nil, err + } + vQuoteKeys, err := i.getBoolean(arguments[2]) + if err != nil { + return nil, err + } + + var buf bytes.Buffer + + var aux func(ov value, buf *bytes.Buffer, cindent string) error + aux = func(ov value, buf *bytes.Buffer, cindent string) error { + switch v := ov.(type) { + case *valueNull: + buf.WriteString("null") + case *valueBoolean: + if v.value { + buf.WriteString("true") + } else { + buf.WriteString("false") + } + case valueString: + s := v.getGoString() + if s == "" { + buf.WriteString(`""`) + } else if strings.HasSuffix(s, "\n") { + s := strings.TrimSuffix(s, "\n") + buf.WriteString("|") + for _, line := range strings.Split(s, "\n") { + buf.WriteByte('\n') + buf.WriteString(cindent) + buf.WriteString(yamlIndent) + buf.WriteString(line) + } + } else { + buf.WriteString(unparseString(s)) + } + case *valueNumber: + buf.WriteString(strconv.FormatFloat(v.value, 'f', -1, 64)) + case *valueArray: + if v.length() == 0 { + buf.WriteString("[]") + return nil + } + for ix, elem := range v.elements { + if ix != 0 { + buf.WriteByte('\n') + buf.WriteString(cindent) + } + thunkValue, err := elem.getValue(i) + if err != nil { + return err + } + buf.WriteByte('-') + + if v, isArr := thunkValue.(*valueArray); isArr && v.length() > 0 { + buf.WriteByte('\n') + buf.WriteString(cindent) + buf.WriteString(yamlIndent) + } else { + buf.WriteByte(' ') + } + + prevIndent := cindent + switch thunkValue.(type) { + case *valueArray, *valueObject: + cindent = cindent + yamlIndent + } + + if err := aux(thunkValue, buf, cindent); err != nil { + return err + } + cindent = prevIndent + } + case *valueObject: + fields := objectFields(v, withoutHidden) + if len(fields) == 0 { + buf.WriteString("{}") + return nil + } + sort.Strings(fields) + for ix, fieldName := range fields { + fieldValue, err := v.index(i, fieldName) + if err != nil { + return err + } + + if ix != 0 { + buf.WriteByte('\n') + buf.WriteString(cindent) + } + + keyStr := fieldName + if vQuoteKeys.value || !yamlBareSafe(fieldName) { + keyStr = escapeStringJson(fieldName) + } + buf.WriteString(keyStr) + buf.WriteByte(':') + + prevIndent := cindent + if v, isArr := fieldValue.(*valueArray); isArr && v.length() > 0 { + buf.WriteByte('\n') + buf.WriteString(cindent) + if vindentArrInObj.value { + buf.WriteString(yamlIndent) + cindent = cindent + yamlIndent + } + } else if v, isObj := fieldValue.(*valueObject); isObj { + if len(objectFields(v, withoutHidden)) > 0 { + buf.WriteByte('\n') + buf.WriteString(cindent) + buf.WriteString(yamlIndent) + cindent = cindent + yamlIndent + } else { + buf.WriteByte(' ') + } + } else { + buf.WriteByte(' ') + } + aux(fieldValue, buf, cindent) + cindent = prevIndent + } + } + return nil + } + + if err := aux(val, &buf, ""); err != nil { + return nil, err + } + + return makeValueString(buf.String()), nil +} + func builtinExtVar(i *interpreter, name value) (value, error) { str, err := i.getString(name) if err != nil { @@ -1907,6 +2290,106 @@ func builtinExtVar(i *interpreter, name value) (value, error) { return nil, i.Error("Undefined external variable: " + string(index)) } +func builtinMinArray(i *interpreter, arguments []value) (value, error) { + arrv := arguments[0] + keyFv := arguments[1] + onEmpty := arguments[2] + + arr, err := i.getArray(arrv) + if err != nil { + return nil, err + } + keyF, err := i.getFunction(keyFv) + if err != nil { + return nil, err + } + num := arr.length() + if num == 0 { + if onEmpty == nil { + return nil, i.Error("Expected at least one element in array. Got none") + } else { + return onEmpty, nil + } + } + minVal, err := arr.elements[0].getValue(i) + if err != nil { + return nil, err + } + minValKey, err := keyF.call(i, args(arr.elements[0])) + if err != nil { + return nil, err + } + for index := 1; index < num; index++ { + current, err := arr.elements[index].getValue(i) + if err != nil { + return nil, err + } + currentKey, err := keyF.call(i, args(arr.elements[index])) + if err != nil { + return nil, err + } + cmp, err := valueCmp(i, minValKey, currentKey) + if err != nil { + return nil, err + } + if cmp > 0 { + minVal = current + minValKey = currentKey + } + } + return minVal, nil +} + +func builtinMaxArray(i *interpreter, arguments []value) (value, error) { + arrv := arguments[0] + keyFv := arguments[1] + onEmpty := arguments[2] + + arr, err := i.getArray(arrv) + if err != nil { + return nil, err + } + keyF, err := i.getFunction(keyFv) + if err != nil { + return nil, err + } + num := arr.length() + if num == 0 { + if onEmpty == nil { + return nil, i.Error("Expected at least one element in array. Got none") + } else { + return onEmpty, nil + } + } + maxVal, err := arr.elements[0].getValue(i) + if err != nil { + return nil, err + } + maxValKey, err := keyF.call(i, args(arr.elements[0])) + if err != nil { + return nil, err + } + for index := 1; index < num; index++ { + current, err := arr.elements[index].getValue(i) + if err != nil { + return nil, err + } + currentKey, err := keyF.call(i, args(arr.elements[index])) + if err != nil { + return nil, err + } + cmp, err := valueCmp(i, maxValKey, currentKey) + if err != nil { + return nil, err + } + if cmp < 0 { + maxVal = current + maxValKey = currentKey + } + } + return maxVal, nil +} + func builtinNative(i *interpreter, name value) (value, error) { str, err := i.getString(name) if err != nil { @@ -1935,6 +2418,121 @@ func builtinSum(i *interpreter, arrv value) (value, error) { return makeValueNumber(sum), nil } +func builtinAvg(i *interpreter, arrv value) (value, error) { + arr, err := i.getArray(arrv) + if err != nil { + return nil, err + } + + len := float64(arr.length()) + if len == 0 { + return nil, i.Error("Cannot calculate average of an empty array.") + } + + sumValue, err := builtinSum(i, arrv) + if err != nil { + return nil, err + } + sum, err := i.getNumber(sumValue) + if err != nil { + return nil, err + } + + avg := sum.value / len + return makeValueNumber(avg), nil +} + +func builtinContains(i *interpreter, arrv value, ev value) (value, error) { + arr, err := i.getArray(arrv) + if err != nil { + return nil, err + } + for _, elem := range arr.elements { + val, err := elem.getValue(i) + if err != nil { + return nil, err + } + eq, err := rawEquals(i, val, ev) + if err != nil { + return nil, err + } + if eq { + return makeValueBoolean(true), nil + } + } + return makeValueBoolean(false), nil +} + +func builtinRemove(i *interpreter, arrv value, ev value) (value, error) { + arr, err := i.getArray(arrv) + if err != nil { + return nil, err + } + for idx, elem := range arr.elements { + val, err := elem.getValue(i) + if err != nil { + return nil, err + } + eq, err := rawEquals(i, val, ev) + if err != nil { + return nil, err + } + if eq { + return builtinRemoveAt(i, arrv, intToValue(idx)) + } + } + return arr, nil +} + +func builtinRemoveAt(i *interpreter, arrv value, idxv value) (value, error) { + arr, err := i.getArray(arrv) + if err != nil { + return nil, err + } + idx, err := i.getInt(idxv) + if err != nil { + return nil, err + } + + newArr := append(arr.elements[:idx], arr.elements[idx+1:]...) + return makeValueArray(newArr), nil +} + +func builtInObjectRemoveKey(i *interpreter, objv value, keyv value) (value, error) { + obj, err := i.getObject(objv) + if err != nil { + return nil, err + } + key, err := i.getString(keyv) + if err != nil { + return nil, err + } + + newFields := make(simpleObjectFieldMap) + simpleObj := obj.uncached.(*simpleObject) + for fieldName, fieldVal := range simpleObj.fields { + if fieldName == key.getGoString() { + // skip the field which needs to be deleted + continue + } + + newFields[fieldName] = simpleObjectField{ + hide: fieldVal.hide, + field: &bindingsUnboundField{ + inner: fieldVal.field, + bindings: simpleObj.upValues, + }, + } + } + + return makeValueSimpleObject( + nil, + newFields, + []unboundField{}, // No asserts allowed + nil, + ), nil +} + // Utils for builtins - TODO(sbarzowski) move to a separate file in another commit type builtin interface { @@ -1958,7 +2556,7 @@ func flattenArgs(args callArguments, params []namedParameter, defaults []value) } // Bind defaults for unsatisfied named parameters for i := range params { - if flatArgs[i] == nil { + if flatArgs[i] == nil && defaults[i] != nil { flatArgs[i] = readyThunk(defaults[i]) } } @@ -1976,9 +2574,13 @@ type unaryBuiltin struct { func (b *unaryBuiltin) evalCall(args callArguments, i *interpreter) (value, error) { flatArgs := flattenArgs(args, b.parameters(), []value{}) - x, err := flatArgs[0].getValue(i) - if err != nil { - return nil, err + var x value + var err error + if flatArgs[0] != nil { + x, err = flatArgs[0].getValue(i) + if err != nil { + return nil, err + } } return b.function(i, x) } @@ -2006,13 +2608,19 @@ type binaryBuiltin struct { func (b *binaryBuiltin) evalCall(args callArguments, i *interpreter) (value, error) { flatArgs := flattenArgs(args, b.parameters(), []value{}) - x, err := flatArgs[0].getValue(i) - if err != nil { - return nil, err + var err error + var x, y value + if flatArgs[0] != nil { + x, err = flatArgs[0].getValue(i) + if err != nil { + return nil, err + } } - y, err := flatArgs[1].getValue(i) - if err != nil { - return nil, err + if flatArgs[1] != nil { + y, err = flatArgs[1].getValue(i) + if err != nil { + return nil, err + } } return b.function(i, x, y) } @@ -2040,17 +2648,25 @@ type ternaryBuiltin struct { func (b *ternaryBuiltin) evalCall(args callArguments, i *interpreter) (value, error) { flatArgs := flattenArgs(args, b.parameters(), []value{}) - x, err := flatArgs[0].getValue(i) - if err != nil { - return nil, err + var err error + var x, y, z value + if flatArgs[0] != nil { + x, err = flatArgs[0].getValue(i) + if err != nil { + return nil, err + } } - y, err := flatArgs[1].getValue(i) - if err != nil { - return nil, err + if flatArgs[1] != nil { + y, err = flatArgs[1].getValue(i) + if err != nil { + return nil, err + } } - z, err := flatArgs[2].getValue(i) - if err != nil { - return nil, err + if flatArgs[2] != nil { + z, err = flatArgs[2].getValue(i) + if err != nil { + return nil, err + } } return b.function(i, x, y, z) } @@ -2072,8 +2688,9 @@ type generalBuiltinFunc func(*interpreter, []value) (value, error) type generalBuiltinParameter struct { // Note that the defaults are passed as values rather than AST nodes like in Parameters. // This spares us unnecessary evaluation. - defaultValue value - name ast.Identifier + defaultValue value + name ast.Identifier + nonValueDefault bool } // generalBuiltin covers cases that other builtin structures do not, @@ -2090,7 +2707,7 @@ func (b *generalBuiltin) parameters() []namedParameter { ret := make([]namedParameter, len(b.params)) for i := range ret { ret[i].name = b.params[i].name - if b.params[i].defaultValue != nil { + if b.params[i].defaultValue != nil || b.params[i].nonValueDefault { // This is not actually used because the defaultValue is used instead. // The only reason we don't leave it nil is because the checkArguments // function uses the non-nil status to indicate that the parameter @@ -2118,9 +2735,11 @@ func (b *generalBuiltin) evalCall(args callArguments, i *interpreter) (value, er values := make([]value, len(flatArgs)) for j := 0; j < len(values); j++ { var err error - values[j], err = flatArgs[j].getValue(i) - if err != nil { - return nil, err + if flatArgs[j] != nil { + values[j], err = flatArgs[j].getValue(i) + if err != nil { + return nil, err + } } } return b.function(i, values) @@ -2187,6 +2806,7 @@ var funcBuiltins = buildBuiltinMap([]builtin{ &unaryBuiltin{name: "extVar", function: builtinExtVar, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "length", function: builtinLength, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "toString", function: builtinToString, params: ast.Identifiers{"a"}}, + &unaryBuiltin{name: "escapeStringJson", function: builtinEscapeStringJson, params: ast.Identifiers{"str_"}}, &binaryBuiltin{name: "trace", function: builtinTrace, params: ast.Identifiers{"str", "rest"}}, &binaryBuiltin{name: "makeArray", function: builtinMakeArray, params: ast.Identifiers{"sz", "func"}}, &binaryBuiltin{name: "flatMap", function: builtinFlatMap, params: ast.Identifiers{"func", "arr"}}, @@ -2196,31 +2816,44 @@ var funcBuiltins = buildBuiltinMap([]builtin{ &ternaryBuiltin{name: "foldl", function: builtinFoldl, params: ast.Identifiers{"func", "arr", "init"}}, &ternaryBuiltin{name: "foldr", function: builtinFoldr, params: ast.Identifiers{"func", "arr", "init"}}, &binaryBuiltin{name: "member", function: builtinMember, params: ast.Identifiers{"arr", "x"}}, + &binaryBuiltin{name: "remove", function: builtinRemove, params: ast.Identifiers{"arr", "elem"}}, + &binaryBuiltin{name: "removeAt", function: builtinRemoveAt, params: ast.Identifiers{"arr", "i"}}, &binaryBuiltin{name: "range", function: builtinRange, params: ast.Identifiers{"from", "to"}}, &binaryBuiltin{name: "primitiveEquals", function: primitiveEquals, params: ast.Identifiers{"x", "y"}}, &binaryBuiltin{name: "equals", function: builtinEquals, params: ast.Identifiers{"x", "y"}}, &binaryBuiltin{name: "objectFieldsEx", function: builtinObjectFieldsEx, params: ast.Identifiers{"obj", "hidden"}}, &ternaryBuiltin{name: "objectHasEx", function: builtinObjectHasEx, params: ast.Identifiers{"obj", "fname", "hidden"}}, + &binaryBuiltin{name: "objectRemoveKey", function: builtInObjectRemoveKey, params: ast.Identifiers{"obj", "key"}}, &unaryBuiltin{name: "type", function: builtinType, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "char", function: builtinChar, params: ast.Identifiers{"n"}}, &unaryBuiltin{name: "codepoint", function: builtinCodepoint, params: ast.Identifiers{"str"}}, &unaryBuiltin{name: "ceil", function: builtinCeil, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "floor", function: builtinFloor, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "sqrt", function: builtinSqrt, params: ast.Identifiers{"x"}}, + &binaryBuiltin{name: "hypot", function: builtinHypot, params: ast.Identifiers{"x", "y"}}, &unaryBuiltin{name: "sin", function: builtinSin, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "cos", function: builtinCos, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "tan", function: builtinTan, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "asin", function: builtinAsin, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "acos", function: builtinAcos, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "atan", function: builtinAtan, params: ast.Identifiers{"x"}}, + &binaryBuiltin{name: "atan2", function: builtinAtan2, params: ast.Identifiers{"y", "x"}}, &unaryBuiltin{name: "log", function: builtinLog, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "exp", function: builtinExp, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "mantissa", function: builtinMantissa, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "exponent", function: builtinExponent, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "round", function: builtinRound, params: ast.Identifiers{"x"}}, + &unaryBuiltin{name: "isEven", function: builtinIsEven, params: ast.Identifiers{"x"}}, + &unaryBuiltin{name: "isOdd", function: builtinIsOdd, params: ast.Identifiers{"x"}}, + &unaryBuiltin{name: "isInteger", function: builtinIsInteger, params: ast.Identifiers{"x"}}, + &unaryBuiltin{name: "isDecimal", function: builtinIsDecimal, params: ast.Identifiers{"x"}}, &binaryBuiltin{name: "pow", function: builtinPow, params: ast.Identifiers{"x", "n"}}, &binaryBuiltin{name: "modulo", function: builtinModulo, params: ast.Identifiers{"x", "y"}}, &unaryBuiltin{name: "md5", function: builtinMd5, params: ast.Identifiers{"s"}}, + &unaryBuiltin{name: "sha1", function: builtinSha1, params: ast.Identifiers{"s"}}, + &unaryBuiltin{name: "sha256", function: builtinSha256, params: ast.Identifiers{"s"}}, + &unaryBuiltin{name: "sha512", function: builtinSha512, params: ast.Identifiers{"s"}}, + &unaryBuiltin{name: "sha3", function: builtinSha3, params: ast.Identifiers{"s"}}, &binaryBuiltin{name: "xnor", function: builtinXnor, params: ast.Identifiers{"x", "y"}}, &binaryBuiltin{name: "xor", function: builtinXor, params: ast.Identifiers{"x", "y"}}, &binaryBuiltin{name: "lstripChars", function: builtinLstripChars, params: ast.Identifiers{"str", "chars"}}, @@ -2228,8 +2861,11 @@ var funcBuiltins = buildBuiltinMap([]builtin{ &binaryBuiltin{name: "stripChars", function: builtinStripChars, params: ast.Identifiers{"str", "chars"}}, &ternaryBuiltin{name: "substr", function: builtinSubstr, params: ast.Identifiers{"str", "from", "len"}}, &ternaryBuiltin{name: "splitLimit", function: builtinSplitLimit, params: ast.Identifiers{"str", "c", "maxsplits"}}, + &ternaryBuiltin{name: "splitLimitR", function: builtinSplitLimitR, params: ast.Identifiers{"str", "c", "maxsplits"}}, &ternaryBuiltin{name: "strReplace", function: builtinStrReplace, params: ast.Identifiers{"str", "from", "to"}}, &unaryBuiltin{name: "isEmpty", function: builtinIsEmpty, params: ast.Identifiers{"str"}}, + &binaryBuiltin{name: "equalsIgnoreCase", function: builtinEqualsIgnoreCase, params: ast.Identifiers{"str1", "str2"}}, + &unaryBuiltin{name: "trim", function: builtinTrim, params: ast.Identifiers{"str"}}, &unaryBuiltin{name: "base64Decode", function: builtinBase64Decode, params: ast.Identifiers{"str"}}, &unaryBuiltin{name: "base64DecodeBytes", function: builtinBase64DecodeBytes, params: ast.Identifiers{"str"}}, &unaryBuiltin{name: "parseInt", function: builtinParseInt, params: ast.Identifiers{"str"}}, @@ -2239,13 +2875,23 @@ var funcBuiltins = buildBuiltinMap([]builtin{ {name: "newline", defaultValue: &valueFlatString{value: []rune("\n")}}, {name: "key_val_sep", defaultValue: &valueFlatString{value: []rune(": ")}}}}, &generalBuiltin{name: "manifestTomlEx", function: builtinManifestTomlEx, params: []generalBuiltinParameter{{name: "value"}, {name: "indent"}}}, + &generalBuiltin{name: "manifestYamlDoc", function: builtinManifestYamlDoc, params: []generalBuiltinParameter{ + {name: "value"}, + {name: "indent_array_in_object", defaultValue: &valueBoolean{value: false}}, + {name: "quote_keys", defaultValue: &valueBoolean{value: true}}, + }}, &unaryBuiltin{name: "base64", function: builtinBase64, params: ast.Identifiers{"input"}}, &unaryBuiltin{name: "encodeUTF8", function: builtinEncodeUTF8, params: ast.Identifiers{"str"}}, &unaryBuiltin{name: "decodeUTF8", function: builtinDecodeUTF8, params: ast.Identifiers{"arr"}}, &generalBuiltin{name: "sort", function: builtinSort, params: []generalBuiltinParameter{{name: "arr"}, {name: "keyF", defaultValue: functionID}}}, + &generalBuiltin{name: "minArray", function: builtinMinArray, params: []generalBuiltinParameter{{name: "arr"}, {name: "keyF", defaultValue: functionID}, {name: "onEmpty", nonValueDefault: true}}}, + &generalBuiltin{name: "maxArray", function: builtinMaxArray, params: []generalBuiltinParameter{{name: "arr"}, {name: "keyF", defaultValue: functionID}, {name: "onEmpty", nonValueDefault: true}}}, &unaryBuiltin{name: "native", function: builtinNative, params: ast.Identifiers{"x"}}, &unaryBuiltin{name: "sum", function: builtinSum, params: ast.Identifiers{"arr"}}, + &unaryBuiltin{name: "avg", function: builtinAvg, params: ast.Identifiers{"arr"}}, + &binaryBuiltin{name: "contains", function: builtinContains, params: ast.Identifiers{"arr", "elem"}}, // internal &unaryBuiltin{name: "$objectFlatMerge", function: builtinUglyObjectFlatMerge, params: ast.Identifiers{"x"}}, + &binaryBuiltin{name: "$flatMapArray", function: builtinFlatMapArray, params: ast.Identifiers{"func", "arr"}}, }) diff --git a/vendor/github.com/google/go-jsonnet/debugger.go b/vendor/github.com/google/go-jsonnet/debugger.go new file mode 100644 index 000000000..44b1943d9 --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/debugger.go @@ -0,0 +1,401 @@ +package jsonnet + +import ( + "fmt" + "os" + "path/filepath" + "strings" + + "github.com/google/go-jsonnet/ast" + "github.com/google/go-jsonnet/toolutils" +) + +type Debugger struct { + // VM evaluating the input + vm *VM + + // Interpreter built by the evaluation. Required to look up variables and stack traces + interpreter *interpreter + + // breakpoints are stored as the result of the .String function of + // *ast.LocationRange to speed up lookup + breakpoints map[string]bool + + // The events channel is used to communicate events happening in the VM with the debugger + events chan DebugEvent + // The cont channel is used to pass continuation events from the frontend to the VM + cont chan continuationEvent + + // lastEvaluation stores the result of the last evaluated node + lastEvaluation value + + // breakOnNode allows the debugger to request continuation until after a + // certain node has been evaluated (step-out) + breakOnNode ast.Node + + // singleStep is used to break on every instruction if set to true + singleStep bool + + // skip skips all hooks when performing sub-evaluation (to lookup vars) + skip bool + + // current keeps track of the node currently being evaluated + current ast.Node +} + +// ContinuationEvents are sent by the debugger frontend. Specifying `until` +// results in continuation until the evaluated node matches the argument +type continuationEvent struct { + until *ast.Node +} + +type DebugStopReason int + +const ( + StopReasonStep DebugStopReason = iota + StopReasonBreakpoint + StopReasonException +) + +// A DebugEvent is emitted by the hooks to signal certain events happening in the VM. Examples are: +// - Hitting a breakpoint +// - Catching an exception +// - Program termination +type DebugEvent interface { + anEvent() +} + +type DebugEventExit struct { + Output string + Error error +} + +func (d *DebugEventExit) anEvent() {} + +type DebugEventStop struct { + Reason DebugStopReason + Breakpoint string + Current ast.Node + LastEvaluation *string + Error error + + // efmt is used to format the error (if any). Built by the vm so we need to + // keep a reference in the event + efmt ErrorFormatter +} + +func (d *DebugEventStop) anEvent() {} +func (d *DebugEventStop) ErrorFmt() string { + return d.efmt.Format(d.Error) +} + +func MakeDebugger() *Debugger { + d := &Debugger{ + events: make(chan DebugEvent, 2048), + cont: make(chan continuationEvent), + } + vm := MakeVM() + vm.EvalHook = EvalHook{ + pre: d.preHook, + post: d.postHook, + } + d.vm = vm + d.breakpoints = make(map[string]bool) + return d +} + +func traverse(root ast.Node, f func(node *ast.Node) error) error { + if err := f(&root); err != nil { + return fmt.Errorf("pre error: %w", err) + } + + children := toolutils.Children(root) + for _, c := range children { + if err := traverse(c, f); err != nil { + return err + } + } + return nil +} + +func (d *Debugger) Continue() { + d.cont <- continuationEvent{} +} +func (d *Debugger) ContinueUntilAfter(n ast.Node) { + d.cont <- continuationEvent{ + until: &n, + } +} + +func (d *Debugger) Step() { + d.singleStep = true + d.Continue() +} + +func (d *Debugger) Terminate() { + d.events <- &DebugEventExit{ + Error: fmt.Errorf("terminated"), + } +} + +func (d *Debugger) postHook(i *interpreter, n ast.Node, v value, err error) { + d.lastEvaluation = v + if d.skip { + return + } + if err != nil { + d.events <- &DebugEventStop{ + Current: n, + Reason: StopReasonException, + Error: err, + efmt: d.vm.ErrorFormatter, + } + d.waitForContinuation() + } + if d.breakOnNode == n { + d.breakOnNode = nil + d.singleStep = true + } +} + +func (d *Debugger) waitForContinuation() { + c := <-d.cont + if c.until != nil { + d.breakOnNode = *c.until + } +} + +func (d *Debugger) preHook(i *interpreter, n ast.Node) { + d.interpreter = i + d.current = n + if d.skip { + return + } + + switch n.(type) { + case *ast.LiteralNull, *ast.LiteralNumber, *ast.LiteralString, *ast.LiteralBoolean: + return + } + l := n.Loc() + if l.File == nil { + return + } + vs := debugValueToString(d.lastEvaluation) + if d.singleStep { + d.singleStep = false + d.events <- &DebugEventStop{ + Reason: StopReasonStep, + Current: n, + LastEvaluation: &vs, + } + d.waitForContinuation() + return + } + loc := n.Loc() + if loc == nil || loc.File == nil { + // virtual file such as + return + } + if _, ok := d.breakpoints[loc.String()]; ok { + d.events <- &DebugEventStop{ + Reason: StopReasonBreakpoint, + Breakpoint: loc.Begin.String(), + Current: n, + LastEvaluation: &vs, + } + d.waitForContinuation() + } + return +} + +func (d *Debugger) ActiveBreakpoints() []string { + bps := []string{} + for k := range d.breakpoints { + bps = append(bps, k) + } + return bps +} + +func (d *Debugger) BreakpointLocations(file string) ([]*ast.LocationRange, error) { + abs, err := filepath.Abs(file) + if err != nil { + return nil, err + } + raw, err := os.ReadFile(abs) + if err != nil { + return nil, fmt.Errorf("reading file: %w", err) + } + a, err := SnippetToAST(file, string(raw)) + if err != nil { + return nil, fmt.Errorf("invalid source file: %w", err) + } + bps := []*ast.LocationRange{} + traverse(a, func(n *ast.Node) error { + if n != nil { + l := (*n).Loc() + if l.File != nil { + bps = append(bps, l) + } + } + return nil + }) + return bps, nil +} + +func (d *Debugger) SetBreakpoint(file string, line int, column int) (string, error) { + valid, err := d.BreakpointLocations(file) + if err != nil { + return "", fmt.Errorf("getting valid breakpoint locations: %w", err) + } + target := "" + for _, b := range valid { + if b.Begin.Line == line { + if column < 0 { + target = b.String() + break + } else if b.Begin.Column == column { + target = b.String() + break + } + } + } + if target == "" { + return "", fmt.Errorf("breakpoint location invalid") + } + d.breakpoints[target] = true + return target, nil +} +func (d *Debugger) ClearBreakpoints(file string) { + abs, _ := filepath.Abs(file) + for k := range d.breakpoints { + parts := strings.Split(k, ":") + full, err := filepath.Abs(parts[0]) + if err == nil && full == abs { + delete(d.breakpoints, k) + } + } +} + +func (d *Debugger) LookupValue(val string) (string, error) { + switch val { + case "self": + return debugValueToString(d.interpreter.stack.getSelfBinding().self), nil + case "super": + return debugValueToString(d.interpreter.stack.getSelfBinding().super().self), nil + default: + v := d.interpreter.stack.lookUpVar(ast.Identifier(val)) + if v != nil { + if v.content == nil { + d.skip = true + e, err := func() (rv value, err error) { // closure to use defer->recover + defer func() { + if r := recover(); r != nil { + err = fmt.Errorf("%v", r) + } + }() + rv, err = d.interpreter.rawevaluate(v.body, 0) + return + }() + d.skip = false + if err != nil { + return "", err + } + v.content = e + } + return debugValueToString(v.content), nil + } + } + return "", fmt.Errorf("invalid identifier %s", val) +} + +func (d *Debugger) ListVars() []ast.Identifier { + if d.interpreter != nil { + return d.interpreter.stack.listVars() + } + return make([]ast.Identifier, 0) +} + +func (d *Debugger) Launch(filename, snippet string, jpaths []string) { + jpaths = append(jpaths, filepath.Dir(filename)) + d.vm.Importer(&FileImporter{ + JPaths: jpaths, + }) + go func() { + out, err := d.vm.EvaluateAnonymousSnippet(filename, snippet) + d.events <- &DebugEventExit{ + Output: out, + Error: err, + } + }() +} + +func (d *Debugger) Events() chan DebugEvent { + return d.events +} + +func (d *Debugger) StackTrace() []TraceFrame { + if d.interpreter == nil || d.current == nil { + return nil + } + trace := d.interpreter.getCurrentStackTrace() + for i, t := range trace { + trace[i].Name = t.Loc.FileName // use pseudo file name as name + } + trace[len(trace)-1].Loc = *d.current.Loc() + return trace +} + +func debugValueToString(v value) string { + switch i := v.(type) { + case *valueFlatString: + return "\"" + i.getGoString() + "\"" + case *valueObject: + if i == nil { + return "{}" + } + var sb strings.Builder + sb.WriteString("{") + firstLine := true + for k, v := range i.cache { + if k.depth != 0 { + continue + } + if !firstLine { + sb.WriteString(", ") + firstLine = true + } + sb.WriteString(k.field) + sb.WriteString(": ") + sb.WriteString(debugValueToString(v)) + } + sb.WriteString("}") + return sb.String() + case *valueArray: + var sb strings.Builder + sb.WriteString("[") + for i, e := range i.elements { + if i > 0 { + sb.WriteString(", ") + } + sb.WriteString(debugValueToString(e.content)) + } + sb.WriteString("]") + return sb.String() + case *valueNumber: + return fmt.Sprintf("%f", i.value) + case *valueBoolean: + return fmt.Sprintf("%t", i.value) + case *valueFunction: + var sb strings.Builder + sb.WriteString("function(") + for i, p := range i.parameters() { + if i > 0 { + sb.WriteString(", ") + } + sb.WriteString(string(p.name)) + } + sb.WriteString(")") + return sb.String() + } + return fmt.Sprintf("%T%+v", v, v) +} diff --git a/vendor/github.com/google/go-jsonnet/error_formatter.go b/vendor/github.com/google/go-jsonnet/error_formatter.go index 03a803ab1..7fcfb9554 100644 --- a/vendor/github.com/google/go-jsonnet/error_formatter.go +++ b/vendor/github.com/google/go-jsonnet/error_formatter.go @@ -110,7 +110,7 @@ func (ef *termErrorFormatter) showCode(buf *bytes.Buffer, loc ast.LocationRange) fmt.Fprintf(buf, "\n") } -func (ef *termErrorFormatter) frame(frame *traceFrame, buf *bytes.Buffer) { +func (ef *termErrorFormatter) frame(frame *TraceFrame, buf *bytes.Buffer) { // TODO(sbarzowski) tabs are probably a bad idea fmt.Fprintf(buf, "\t%v\t%v\n", frame.Loc.String(), frame.Name) if ef.pretty { @@ -118,7 +118,7 @@ func (ef *termErrorFormatter) frame(frame *traceFrame, buf *bytes.Buffer) { } } -func (ef *termErrorFormatter) buildStackTrace(frames []traceFrame) string { +func (ef *termErrorFormatter) buildStackTrace(frames []TraceFrame) string { // https://github.com/google/jsonnet/blob/master/core/libjsonnet.cpp#L594 maxAbove := ef.maxStackTraceSize / 2 maxBelow := ef.maxStackTraceSize - maxAbove diff --git a/vendor/github.com/google/go-jsonnet/imports.go b/vendor/github.com/google/go-jsonnet/imports.go index 297511468..56e79b59e 100644 --- a/vendor/github.com/google/go-jsonnet/imports.go +++ b/vendor/github.com/google/go-jsonnet/imports.go @@ -18,7 +18,6 @@ package jsonnet import ( "fmt" - "io/ioutil" "os" "path/filepath" "unsafe" @@ -241,7 +240,7 @@ func (importer *FileImporter) tryPath(dir, importedPath string) (found bool, con if cacheEntry, isCached := importer.fsCache[absPath]; isCached { entry = cacheEntry } else { - contentBytes, err := ioutil.ReadFile(absPath) + contentBytes, err := os.ReadFile(absPath) if err != nil { if os.IsNotExist(err) { entry = &fsCacheEntry{ diff --git a/vendor/github.com/google/go-jsonnet/internal/parser/BUILD.bazel b/vendor/github.com/google/go-jsonnet/internal/parser/BUILD.bazel index 97e2d5d8c..bdaf56048 100644 --- a/vendor/github.com/google/go-jsonnet/internal/parser/BUILD.bazel +++ b/vendor/github.com/google/go-jsonnet/internal/parser/BUILD.bazel @@ -5,7 +5,6 @@ go_library( srcs = [ "context.go", "lexer.go", - "literalfield_set.go", "parser.go", "string_util.go", ], diff --git a/vendor/github.com/google/go-jsonnet/internal/parser/lexer.go b/vendor/github.com/google/go-jsonnet/internal/parser/lexer.go index 374343625..0b3437263 100644 --- a/vendor/github.com/google/go-jsonnet/internal/parser/lexer.go +++ b/vendor/github.com/google/go-jsonnet/internal/parser/lexer.go @@ -719,6 +719,13 @@ func (l *lexer) lexSymbol() error { if r == '|' && strings.HasPrefix(l.input[l.pos.byteNo:], "||") { commentStartLoc := l.tokenStartLoc l.acceptN(2) // Skip "||" + + var chompTrailingNl bool = false + if l.peek() == '-' { + chompTrailingNl = true + l.next() + } + var cb bytes.Buffer // Skip whitespace @@ -775,7 +782,13 @@ func (l *lexer) lexSymbol() error { return l.makeStaticErrorPoint("Text block not terminated with |||", commentStartLoc) } l.acceptN(3) // Skip '|||' - l.emitFullToken(tokenStringBlock, cb.String(), + + var str string = cb.String() + if chompTrailingNl { + str = str[:len(str)-1] + } + + l.emitFullToken(tokenStringBlock, str, stringBlockIndent, stringBlockTermIndent) l.resetTokenStart() return nil @@ -793,7 +806,7 @@ func (l *lexer) lexSymbol() error { if r == '/' && strings.HasPrefix(l.input[l.pos.byteNo:], "*") { break } - // Not allowed ||| in operators + // Not allowed ||| in operators (accounts for |||-) if r == '|' && strings.HasPrefix(l.input[l.pos.byteNo:], "||") { break } diff --git a/vendor/github.com/google/go-jsonnet/internal/parser/literalfield_set.go b/vendor/github.com/google/go-jsonnet/internal/parser/literalfield_set.go deleted file mode 100644 index e39b4cd5b..000000000 --- a/vendor/github.com/google/go-jsonnet/internal/parser/literalfield_set.go +++ /dev/null @@ -1,172 +0,0 @@ -// Generated by: main -// TypeWriter: set -// Directive: +gen on LiteralField - -package parser - -// Set is a modification of https://github.com/deckarep/golang-set -// The MIT License (MIT) -// Copyright (c) 2013 Ralph Caraveo (deckarep@gmail.com) - -// LiteralFieldSet is the primary type that represents a set -type LiteralFieldSet map[LiteralField]struct{} - -// NewLiteralFieldSet creates and returns a reference to an empty set. -func NewLiteralFieldSet(a ...LiteralField) LiteralFieldSet { - s := make(LiteralFieldSet) - for _, i := range a { - s.Add(i) - } - return s -} - -// ToSlice returns the elements of the current set as a slice -func (set LiteralFieldSet) ToSlice() []LiteralField { - var s []LiteralField - for v := range set { - s = append(s, v) - } - return s -} - -// Add adds an item to the current set if it doesn't already exist in the set. -func (set LiteralFieldSet) Add(i LiteralField) bool { - _, found := set[i] - set[i] = struct{}{} - return !found //False if it existed already -} - -// Contains determines if a given item is already in the set. -func (set LiteralFieldSet) Contains(i LiteralField) bool { - _, found := set[i] - return found -} - -// ContainsAll determines if the given items are all in the set -func (set LiteralFieldSet) ContainsAll(i ...LiteralField) bool { - for _, v := range i { - if !set.Contains(v) { - return false - } - } - return true -} - -// IsSubset determines if every item in the other set is in this set. -func (set LiteralFieldSet) IsSubset(other LiteralFieldSet) bool { - for elem := range set { - if !other.Contains(elem) { - return false - } - } - return true -} - -// IsSuperset determines if every item of this set is in the other set. -func (set LiteralFieldSet) IsSuperset(other LiteralFieldSet) bool { - return other.IsSubset(set) -} - -// Union returns a new set with all items in both sets. -func (set LiteralFieldSet) Union(other LiteralFieldSet) LiteralFieldSet { - unionedSet := NewLiteralFieldSet() - - for elem := range set { - unionedSet.Add(elem) - } - for elem := range other { - unionedSet.Add(elem) - } - return unionedSet -} - -// Intersect returns a new set with items that exist only in both sets. -func (set LiteralFieldSet) Intersect(other LiteralFieldSet) LiteralFieldSet { - intersection := NewLiteralFieldSet() - // loop over smaller set - if set.Cardinality() < other.Cardinality() { - for elem := range set { - if other.Contains(elem) { - intersection.Add(elem) - } - } - } else { - for elem := range other { - if set.Contains(elem) { - intersection.Add(elem) - } - } - } - return intersection -} - -// Difference returns a new set with items in the current set but not in the other set -func (set LiteralFieldSet) Difference(other LiteralFieldSet) LiteralFieldSet { - differencedSet := NewLiteralFieldSet() - for elem := range set { - if !other.Contains(elem) { - differencedSet.Add(elem) - } - } - return differencedSet -} - -// SymmetricDifference returns a new set with items in the current set or the other set but not in both. -func (set LiteralFieldSet) SymmetricDifference(other LiteralFieldSet) LiteralFieldSet { - aDiff := set.Difference(other) - bDiff := other.Difference(set) - return aDiff.Union(bDiff) -} - -// Clear clears the entire set to be the empty set. -func (set *LiteralFieldSet) Clear() { - *set = make(LiteralFieldSet) -} - -// Remove allows the removal of a single item in the set. -func (set LiteralFieldSet) Remove(i LiteralField) { - delete(set, i) -} - -// Cardinality returns how many items are currently in the set. -func (set LiteralFieldSet) Cardinality() int { - return len(set) -} - -// Iter returns a channel of type LiteralField that you can range over. -func (set LiteralFieldSet) Iter() <-chan LiteralField { - ch := make(chan LiteralField) - go func() { - for elem := range set { - ch <- elem - } - close(ch) - }() - - return ch -} - -// Equal determines if two sets are equal to each other. -// If they both are the same size and have the same items they are considered equal. -// Order of items is not relevent for sets to be equal. -func (set LiteralFieldSet) Equal(other LiteralFieldSet) bool { - if set.Cardinality() != other.Cardinality() { - return false - } - for elem := range set { - if !other.Contains(elem) { - return false - } - } - return true -} - -// Clone returns a clone of the set. -// Does NOT clone the underlying elements. -func (set LiteralFieldSet) Clone() LiteralFieldSet { - clonedSet := NewLiteralFieldSet() - for elem := range set { - clonedSet.Add(elem) - } - return clonedSet -} diff --git a/vendor/github.com/google/go-jsonnet/internal/parser/parser.go b/vendor/github.com/google/go-jsonnet/internal/parser/parser.go index 7589d67cb..e01b19452 100644 --- a/vendor/github.com/google/go-jsonnet/internal/parser/parser.go +++ b/vendor/github.com/google/go-jsonnet/internal/parser/parser.go @@ -369,9 +369,18 @@ func (p *parser) parseObjectAssignmentOp() (opFodder ast.Fodder, plusSugar bool, return } -// A LiteralField is a field of an object or object comprehension. -// +gen set -type LiteralField string +// A literalField is a field of an object or object comprehension. +type literalField string + +type literalFieldSet map[literalField]struct{} + +func (set literalFieldSet) add(f literalField) bool { + if _, ok := set[f]; ok { + return false + } + set[f] = struct{}{} + return true +} func (p *parser) parseObjectRemainderComp(fields ast.ObjectFields, gotComma bool, tok *token, next *token) (ast.Node, *token, errors.StaticError) { numFields := 0 @@ -414,12 +423,14 @@ func (p *parser) parseObjectRemainderComp(fields ast.ObjectFields, gotComma bool }, last, nil } -func (p *parser) parseObjectRemainderField(literalFields *LiteralFieldSet, tok *token, next *token) (*ast.ObjectField, errors.StaticError) { +func (p *parser) parseObjectRemainderField(literalFields *literalFieldSet, tok *token, next *token) (*ast.ObjectField, errors.StaticError) { var kind ast.ObjectFieldKind var fodder1 ast.Fodder var expr1 ast.Node var id *ast.Identifier var fodder2 ast.Fodder + var err errors.StaticError + switch next.kind { case tokenIdentifier: kind = ast.ObjectFieldID @@ -428,7 +439,10 @@ func (p *parser) parseObjectRemainderField(literalFields *LiteralFieldSet, tok * case tokenStringDouble, tokenStringSingle, tokenStringBlock, tokenVerbatimStringDouble, tokenVerbatimStringSingle: kind = ast.ObjectFieldStr - expr1 = tokenStringToAst(next) + expr1, err = tokenStringToAst(next) + if err != nil { + return nil, err + } default: fodder1 = next.fodder kind = ast.ObjectFieldExpr @@ -470,7 +484,7 @@ func (p *parser) parseObjectRemainderField(literalFields *LiteralFieldSet, tok * } if kind != ast.ObjectFieldExpr { - if !literalFields.Add(LiteralField(next.data)) { + if !literalFields.add(literalField(next.data)) { return nil, errors.MakeStaticError( fmt.Sprintf("Duplicate field: %v", next.data), next.loc) } @@ -622,7 +636,7 @@ func (p *parser) parseObjectRemainderAssert(tok *token, next *token) (*ast.Objec // Parse object or object comprehension without leading brace func (p *parser) parseObjectRemainder(tok *token) (ast.Node, *token, errors.StaticError) { var fields ast.ObjectFields - literalFields := make(LiteralFieldSet) + literalFields := make(literalFieldSet) binds := make(ast.IdentifierSet) gotComma := false @@ -827,43 +841,58 @@ func (p *parser) parseArray(tok *token) (ast.Node, errors.StaticError) { }, nil } -func tokenStringToAst(tok *token) *ast.LiteralString { +func tokenStringToAst(tok *token) (*ast.LiteralString, errors.StaticError) { + var node *ast.LiteralString + var validate bool = true + switch tok.kind { case tokenStringSingle: - return &ast.LiteralString{ + node = &ast.LiteralString{ NodeBase: ast.NewNodeBaseLoc(tok.loc, tok.fodder), Value: tok.data, Kind: ast.StringSingle, } case tokenStringDouble: - return &ast.LiteralString{ + node = &ast.LiteralString{ NodeBase: ast.NewNodeBaseLoc(tok.loc, tok.fodder), Value: tok.data, Kind: ast.StringDouble, } case tokenStringBlock: - return &ast.LiteralString{ + node = &ast.LiteralString{ NodeBase: ast.NewNodeBaseLoc(tok.loc, tok.fodder), Value: tok.data, Kind: ast.StringBlock, BlockIndent: tok.stringBlockIndent, BlockTermIndent: tok.stringBlockTermIndent, } + validate = false case tokenVerbatimStringDouble: - return &ast.LiteralString{ + node = &ast.LiteralString{ NodeBase: ast.NewNodeBaseLoc(tok.loc, tok.fodder), Value: tok.data, Kind: ast.VerbatimStringDouble, } + validate = false case tokenVerbatimStringSingle: - return &ast.LiteralString{ + node = &ast.LiteralString{ NodeBase: ast.NewNodeBaseLoc(tok.loc, tok.fodder), Value: tok.data, Kind: ast.VerbatimStringSingle, } + validate = false default: panic(fmt.Sprintf("Not a string token %#+v", tok)) } + + if validate { + _, err := StringUnescape((*node).Loc(), (*node).Value) + if err != nil { + return node, errors.MakeStaticError(err.Error(), tok.loc) + } + } + + return node, nil } func (p *parser) parseTerminal() (ast.Node, errors.StaticError) { @@ -907,7 +936,7 @@ func (p *parser) parseTerminal() (ast.Node, errors.StaticError) { }, nil case tokenStringDouble, tokenStringSingle, tokenStringBlock, tokenVerbatimStringDouble, tokenVerbatimStringSingle: - return tokenStringToAst(tok), nil + return tokenStringToAst(tok) case tokenFalse: return &ast.LiteralBoolean{ NodeBase: ast.NewNodeBaseLoc(tok.loc, tok.fodder), diff --git a/vendor/github.com/google/go-jsonnet/internal/program/desugarer.go b/vendor/github.com/google/go-jsonnet/internal/program/desugarer.go index d36acbe21..763a7292b 100644 --- a/vendor/github.com/google/go-jsonnet/internal/program/desugarer.go +++ b/vendor/github.com/google/go-jsonnet/internal/program/desugarer.go @@ -184,7 +184,7 @@ func desugarForSpec(inside ast.Node, loc ast.LocationRange, forSpec *ast.ForSpec if err != nil { return nil, err } - current := buildStdCall("flatMap", loc, function, forSpec.Expr) + current := buildStdCall("$flatMapArray", loc, function, forSpec.Expr) if forSpec.Outer == nil { return current, nil } diff --git a/vendor/github.com/google/go-jsonnet/interpreter.go b/vendor/github.com/google/go-jsonnet/interpreter.go index 390d459b6..4bec1f6e9 100644 --- a/vendor/github.com/google/go-jsonnet/interpreter.go +++ b/vendor/github.com/google/go-jsonnet/interpreter.go @@ -49,8 +49,8 @@ func makeEnvironment(upValues bindingFrame, sb selfBinding) environment { } } -func (i *interpreter) getCurrentStackTrace() []traceFrame { - var result []traceFrame +func (i *interpreter) getCurrentStackTrace() []TraceFrame { + var result []TraceFrame for _, f := range i.stack.stack { if f.cleanEnv { result = append(result, traceElementToTraceFrame(f.trace)) @@ -208,6 +208,20 @@ func (s *callStack) lookUpVar(id ast.Identifier) *cachedThunk { return nil } +func (s *callStack) listVars() []ast.Identifier { + vars := []ast.Identifier{} + for i := len(s.stack) - 1; i >= 0; i-- { + for k := range s.stack[i].env.upValues { + vars = append(vars, k) + } + if s.stack[i].cleanEnv { + // Nothing beyond the captured environment of the thunk / closure. + break + } + } + return vars +} + func (s *callStack) lookUpVarOrPanic(id ast.Identifier) *cachedThunk { th := s.lookUpVar(id) if th == nil { @@ -239,6 +253,11 @@ func makeCallStack(limit int) callStack { } } +type EvalHook struct { + pre func(i *interpreter, n ast.Node) + post func(i *interpreter, n ast.Node, v value, err error) +} + // Keeps current execution context and evaluates things type interpreter struct { // Output stream for trace() for @@ -260,6 +279,8 @@ type interpreter struct { // 1) Keeping environment (object we're in, variables) // 2) Diagnostic information in case of failure stack callStack + + evalHook EvalHook } // Map union, b takes precedence when keys collide. @@ -287,6 +308,13 @@ func (i *interpreter) newCall(env environment, trimmable bool) error { } func (i *interpreter) evaluate(a ast.Node, tc tailCallStatus) (value, error) { + i.evalHook.pre(i, a) + v, err := i.rawevaluate(a, tc) + i.evalHook.post(i, a, v, err) + return v, err +} + +func (i *interpreter) rawevaluate(a ast.Node, tc tailCallStatus) (value, error) { trace := traceElement{ loc: a.Loc(), context: a.Context(), @@ -557,7 +585,7 @@ func (i *interpreter) evaluate(a ast.Node, tc tailCallStatus) (value, error) { if err != nil { return nil, err } - hasField := objectHasField(i.stack.getSelfBinding().super(), indexStr.getGoString(), withHidden) + hasField := objectHasField(i.stack.getSelfBinding().super(), indexStr.getGoString()) return makeValueBoolean(hasField), nil case *ast.Function: @@ -949,8 +977,16 @@ func jsonToValue(i *interpreter, v interface{}) (value, error) { case bool: return makeValueBoolean(v), nil - case int, int8, int16, int32, int64: - return makeDoubleCheck(i, v.(float64)) + case int: + return makeDoubleCheck(i, float64(v)) + case int8: + return makeDoubleCheck(i, float64(v)) + case int16: + return makeDoubleCheck(i, float64(v)) + case int32: + return makeDoubleCheck(i, float64(v)) + case int64: + return makeDoubleCheck(i, float64(v)) case float64: return makeDoubleCheck(i, v) @@ -1237,12 +1273,13 @@ func buildObject(hide ast.ObjectFieldHide, fields map[string]value) *valueObject return makeValueSimpleObject(bindingFrame{}, fieldMap, nil, nil) } -func buildInterpreter(ext vmExtMap, nativeFuncs map[string]*NativeFunction, maxStack int, ic *importCache, traceOut io.Writer) (*interpreter, error) { +func buildInterpreter(ext vmExtMap, nativeFuncs map[string]*NativeFunction, maxStack int, ic *importCache, traceOut io.Writer, evalHook EvalHook) (*interpreter, error) { i := interpreter{ stack: makeCallStack(maxStack), importCache: ic, traceOut: traceOut, nativeFuncs: nativeFuncs, + evalHook: evalHook, } stdObj, err := buildStdObject(&i) @@ -1315,9 +1352,9 @@ func evaluateAux(i *interpreter, node ast.Node, tla vmExtMap) (value, error) { // TODO(sbarzowski) this function takes far too many arguments - build interpreter in vm instead func evaluate(node ast.Node, ext vmExtMap, tla vmExtMap, nativeFuncs map[string]*NativeFunction, - maxStack int, ic *importCache, traceOut io.Writer, stringOutputMode bool) (string, error) { + maxStack int, ic *importCache, traceOut io.Writer, stringOutputMode bool, evalHook EvalHook) (string, error) { - i, err := buildInterpreter(ext, nativeFuncs, maxStack, ic, traceOut) + i, err := buildInterpreter(ext, nativeFuncs, maxStack, ic, traceOut, evalHook) if err != nil { return "", err } @@ -1344,9 +1381,9 @@ func evaluate(node ast.Node, ext vmExtMap, tla vmExtMap, nativeFuncs map[string] // TODO(sbarzowski) this function takes far too many arguments - build interpreter in vm instead func evaluateMulti(node ast.Node, ext vmExtMap, tla vmExtMap, nativeFuncs map[string]*NativeFunction, - maxStack int, ic *importCache, traceOut io.Writer, stringOutputMode bool) (map[string]string, error) { + maxStack int, ic *importCache, traceOut io.Writer, stringOutputMode bool, evalHook EvalHook) (map[string]string, error) { - i, err := buildInterpreter(ext, nativeFuncs, maxStack, ic, traceOut) + i, err := buildInterpreter(ext, nativeFuncs, maxStack, ic, traceOut, evalHook) if err != nil { return nil, err } @@ -1364,9 +1401,9 @@ func evaluateMulti(node ast.Node, ext vmExtMap, tla vmExtMap, nativeFuncs map[st // TODO(sbarzowski) this function takes far too many arguments - build interpreter in vm instead func evaluateStream(node ast.Node, ext vmExtMap, tla vmExtMap, nativeFuncs map[string]*NativeFunction, - maxStack int, ic *importCache, traceOut io.Writer) ([]string, error) { + maxStack int, ic *importCache, traceOut io.Writer, evalHook EvalHook) ([]string, error) { - i, err := buildInterpreter(ext, nativeFuncs, maxStack, ic, traceOut) + i, err := buildInterpreter(ext, nativeFuncs, maxStack, ic, traceOut, evalHook) if err != nil { return nil, err } diff --git a/vendor/github.com/google/go-jsonnet/pyproject.toml b/vendor/github.com/google/go-jsonnet/pyproject.toml new file mode 100644 index 000000000..fed528d4a --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" diff --git a/vendor/github.com/google/go-jsonnet/runtime_error.go b/vendor/github.com/google/go-jsonnet/runtime_error.go index 40a705b6e..2a52d3a49 100644 --- a/vendor/github.com/google/go-jsonnet/runtime_error.go +++ b/vendor/github.com/google/go-jsonnet/runtime_error.go @@ -21,10 +21,10 @@ import "github.com/google/go-jsonnet/ast" // RuntimeError is an error discovered during evaluation of the program type RuntimeError struct { Msg string - StackTrace []traceFrame + StackTrace []TraceFrame } -func makeRuntimeError(msg string, stackTrace []traceFrame) RuntimeError { +func makeRuntimeError(msg string, stackTrace []TraceFrame) RuntimeError { return RuntimeError{ Msg: msg, StackTrace: stackTrace, @@ -37,15 +37,15 @@ func (err RuntimeError) Error() string { // The stack -// traceFrame is tracing information about a single frame of the call stack. +// TraceFrame is tracing information about a single frame of the call stack. // TODO(sbarzowski) the difference from traceElement. Do we even need this? -type traceFrame struct { +type TraceFrame struct { Name string Loc ast.LocationRange } -func traceElementToTraceFrame(trace traceElement) traceFrame { - tf := traceFrame{Loc: *trace.loc} +func traceElementToTraceFrame(trace traceElement) TraceFrame { + tf := TraceFrame{Loc: *trace.loc} if trace.context != nil { // TODO(sbarzowski) maybe it should never be nil tf.Name = *trace.context diff --git a/vendor/github.com/google/go-jsonnet/setup.py b/vendor/github.com/google/go-jsonnet/setup.py index 242c6ae78..94a22532e 100644 --- a/vendor/github.com/google/go-jsonnet/setup.py +++ b/vendor/github.com/google/go-jsonnet/setup.py @@ -16,59 +16,60 @@ from setuptools import setup from setuptools import Extension from setuptools.command.build_ext import build_ext as BuildExt -from setuptools.command.test import test as TestCommand from subprocess import Popen, PIPE DIR = os.path.abspath(os.path.dirname(__file__)) -LIB_DIR = DIR + '/c-bindings' -MODULE_SOURCES = ['python/_jsonnet.c'] +LIB_DIR = DIR + "/c-bindings" +MODULE_SOURCES = ["python/_jsonnet.c"] + def get_version(): """ Parses the version out of vm.go """ - with open(os.path.join(DIR, 'vm.go')) as f: + with open(os.path.join(DIR, "vm.go")) as f: for line in f: - if 'const' in line and 'version' in line: - v_code = line.partition('=')[2].strip('\n "') - if v_code[0] == 'v': + if "const" in line and "version" in line: + v_code = line.partition("=")[2].strip('\n "') + if v_code[0] == "v": return v_code[1:] return None + class BuildJsonnetExt(BuildExt): def run(self): - p = Popen(['go', 'build', '-o', 'libgojsonnet.a', '-buildmode=c-archive'], cwd=LIB_DIR, stdout=PIPE) + p = Popen( + ["go", "build", "-x", "-o", "libgojsonnet.a", "-buildmode=c-archive"], + cwd=LIB_DIR, + stdout=PIPE, + ) p.wait() if p.returncode != 0: - raise Exception('Could not build libgojsonnet.a') + raise Exception("Could not build libgojsonnet.a") BuildExt.run(self) -class NoopTestCommand(TestCommand): - def __init__(self, dist): - print("_gojsonnet does not support running tests with 'python setup.py test'. Please run 'pytest'.") - jsonnet_ext = Extension( - '_gojsonnet', + "_gojsonnet", sources=MODULE_SOURCES, extra_objects=[ - LIB_DIR + '/libgojsonnet.a', + LIB_DIR + "/libgojsonnet.a", ], - include_dirs = ['cpp-jsonnet/include'], - language='c++', + include_dirs=["cpp-jsonnet/include"], + language="c++", ) -setup(name='gojsonnet', - url='https://jsonnet.org', - description='Python bindings for Jsonnet - The data templating language ', - author='David Cunningham', - author_email='dcunnin@google.com', +setup( + name="gojsonnet", + url="https://jsonnet.org", + description="Python bindings for Jsonnet - The data templating language ", + author="David Cunningham", + author_email="dcunnin@google.com", version=get_version(), cmdclass={ - 'build_ext': BuildJsonnetExt, - 'test': NoopTestCommand, + "build_ext": BuildJsonnetExt, }, ext_modules=[jsonnet_ext], ) diff --git a/vendor/github.com/google/go-jsonnet/thunks.go b/vendor/github.com/google/go-jsonnet/thunks.go index 1cccadb60..e98c487cb 100644 --- a/vendor/github.com/google/go-jsonnet/thunks.go +++ b/vendor/github.com/google/go-jsonnet/thunks.go @@ -150,7 +150,7 @@ func (f *plusSuperUnboundField) evaluate(i *interpreter, sb selfBinding, origBin return nil, err } - if !objectHasField(sb.super(), fieldName, withHidden) { + if !objectHasField(sb.super(), fieldName) { return right, nil } diff --git a/vendor/github.com/google/go-jsonnet/toolutils/BUILD.bazel b/vendor/github.com/google/go-jsonnet/toolutils/BUILD.bazel new file mode 100644 index 000000000..7c0a6a7a1 --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/toolutils/BUILD.bazel @@ -0,0 +1,12 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = ["ast.go"], + importpath = "github.com/google/go-jsonnet/toolutils", + visibility = ["//visibility:public"], + deps = [ + "//ast:go_default_library", + "//internal/parser:go_default_library", + ], +) diff --git a/vendor/github.com/google/go-jsonnet/toolutils/ast.go b/vendor/github.com/google/go-jsonnet/toolutils/ast.go new file mode 100644 index 000000000..b791252f3 --- /dev/null +++ b/vendor/github.com/google/go-jsonnet/toolutils/ast.go @@ -0,0 +1,12 @@ +// Package toolutils includes several utilities handy for use in code analysis tools +package toolutils + +import ( + "github.com/google/go-jsonnet/ast" + "github.com/google/go-jsonnet/internal/parser" +) + +// Children returns all children of a node. It supports ASTs before and after desugaring. +func Children(node ast.Node) []ast.Node { + return parser.Children(node) +} diff --git a/vendor/github.com/google/go-jsonnet/travisBazel.sh b/vendor/github.com/google/go-jsonnet/travisBazel.sh deleted file mode 100644 index bd3b42aa2..000000000 --- a/vendor/github.com/google/go-jsonnet/travisBazel.sh +++ /dev/null @@ -1,15 +0,0 @@ -set -e -set -x - -# See: https://github.com/bazelbuild/rules_go#how-do-i-run-bazel-on-travis-ci -bazel --host_jvm_args=-Xmx500m \ - --host_jvm_args=-Xms500m \ - test \ - --spawn_strategy=standalone \ - --genrule_strategy=standalone \ - --test_strategy=standalone \ - --local_ram_resources=1536 \ - --noshow_progress \ - --verbose_failures \ - --test_output=errors \ - //:go_default_test diff --git a/vendor/github.com/google/go-jsonnet/travisBuild.sh b/vendor/github.com/google/go-jsonnet/travisBuild.sh deleted file mode 100644 index a27c8a547..000000000 --- a/vendor/github.com/google/go-jsonnet/travisBuild.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -set -e - -run_tests() { - golangci-lint run ./... - SKIP_GO_TESTS=1 ./tests.sh -} - -run_tests diff --git a/vendor/github.com/google/go-jsonnet/update_cpp_jsonnet.sh b/vendor/github.com/google/go-jsonnet/update_cpp_jsonnet.sh index 777e22eac..30e19d9fb 100644 --- a/vendor/github.com/google/go-jsonnet/update_cpp_jsonnet.sh +++ b/vendor/github.com/google/go-jsonnet/update_cpp_jsonnet.sh @@ -6,21 +6,39 @@ set -e set -x cd cpp-jsonnet -git checkout master -git pull -hash=$(git rev-parse HEAD) +git remote update --prune + +if [[ $# -gt 0 ]]; then + WANT_VERSION_NAME="$1" + WANT_VERSION_REF=refs/tags/"$WANT_VERSION_NAME" +else + WANT_VERSION_NAME= + WANT_VERSION_REF=refs/remotes/origin/master +fi + +hash="$(git rev-parse "$WANT_VERSION_REF")" +git checkout "$hash" + +if [[ -z "$WANT_VERSION_NAME" ]]; then + ARCHIVE_URL="https://github.com/google/jsonnet/archive/${hash}.tar.gz" +else + ARCHIVE_URL="https://github.com/google/jsonnet/releases/download/${WANT_VERSION_NAME}/jsonnet-${WANT_VERSION_NAME}.tar.gz" +fi + cd .. go run cmd/dumpstdlibast/dumpstdlibast.go cpp-jsonnet/stdlib/std.jsonnet > astgen/stdast.go -sha256=$(curl -fL https://github.com/google/jsonnet/archive/$hash.tar.gz | shasum -a 256 | awk '{print $1}') +sha256=$(curl -fL "${ARCHIVE_URL}" | shasum -a 256 | awk '{print $1}') sed -i.bak \ -e "s/CPP_JSONNET_SHA256 = .*/CPP_JSONNET_SHA256 = \"$sha256\"/;" \ -e "s/CPP_JSONNET_GITHASH = .*/CPP_JSONNET_GITHASH = \"$hash\"/;" \ - bazel/repositories.bzl + -e "s/CPP_JSONNET_RELEASE_VERSION = .*/CPP_JSONNET_RELEASE_VERSION = \"$WANT_VERSION_NAME\"/;" \ + bazel/repositories.bzl MODULE.bazel # NB: macOS sed doesn't support -i without arg. This is the easy workaround. rm bazel/repositories.bzl.bak +rm MODULE.bazel.bak set +x echo diff --git a/vendor/github.com/google/go-jsonnet/value.go b/vendor/github.com/google/go-jsonnet/value.go index f3b760d07..98ec286d6 100644 --- a/vendor/github.com/google/go-jsonnet/value.go +++ b/vendor/github.com/google/go-jsonnet/value.go @@ -730,12 +730,9 @@ func objectIndex(i *interpreter, sb selfBinding, fieldName string) (value, error return val, err } -func objectHasField(sb selfBinding, fieldName string, h hidden) bool { - found, field, _, _, _ := findField(sb.self.uncached, sb.superDepth, fieldName) - if !found || (h == withoutHidden && field.hide == ast.ObjectFieldHidden) { - return false - } - return true +func objectHasField(sb selfBinding, fieldName string) bool { + found, _, _, _, _ := findField(sb.self.uncached, sb.superDepth, fieldName) + return found } type fieldHideMap map[string]ast.ObjectFieldHide diff --git a/vendor/github.com/google/go-jsonnet/vm.go b/vendor/github.com/google/go-jsonnet/vm.go index 44b966cb1..f9402ba29 100644 --- a/vendor/github.com/google/go-jsonnet/vm.go +++ b/vendor/github.com/google/go-jsonnet/vm.go @@ -46,6 +46,7 @@ type VM struct { //nolint:govet StringOutput bool importCache *importCache traceOut io.Writer + EvalHook EvalHook } // extKind indicates the kind of external variable that is being initialized for the VM @@ -81,6 +82,10 @@ func MakeVM() *VM { importer: &FileImporter{}, importCache: makeImportCache(defaultImporter), traceOut: os.Stderr, + EvalHook: EvalHook{ + pre: func(i *interpreter, a ast.Node) {}, + post: func(i *interpreter, a ast.Node, v value, err error) {}, + }, } } @@ -171,7 +176,7 @@ const ( ) // version is the current gojsonnet's version -const version = "v0.20.0" +const version = "v0.21.0" // Evaluate evaluates a Jsonnet program given by an Abstract Syntax Tree // and returns serialized JSON as string. @@ -182,7 +187,7 @@ func (vm *VM) Evaluate(node ast.Node) (val string, err error) { err = fmt.Errorf("(CRASH) %v\n%s", r, debug.Stack()) } }() - return evaluate(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.StringOutput) + return evaluate(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.StringOutput, vm.EvalHook) } // EvaluateStream evaluates a Jsonnet program given by an Abstract Syntax Tree @@ -193,7 +198,7 @@ func (vm *VM) EvaluateStream(node ast.Node) (output []string, err error) { err = fmt.Errorf("(CRASH) %v\n%s", r, debug.Stack()) } }() - return evaluateStream(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut) + return evaluateStream(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.EvalHook) } // EvaluateMulti evaluates a Jsonnet program given by an Abstract Syntax Tree @@ -205,7 +210,7 @@ func (vm *VM) EvaluateMulti(node ast.Node) (output map[string]string, err error) err = fmt.Errorf("(CRASH) %v\n%s", r, debug.Stack()) } }() - return evaluateMulti(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.StringOutput) + return evaluateMulti(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.StringOutput, vm.EvalHook) } func (vm *VM) evaluateSnippet(diagnosticFileName ast.DiagnosticFileName, filename string, snippet string, kind evalKind) (output interface{}, err error) { @@ -220,11 +225,11 @@ func (vm *VM) evaluateSnippet(diagnosticFileName ast.DiagnosticFileName, filenam } switch kind { case evalKindRegular: - output, err = evaluate(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.StringOutput) + output, err = evaluate(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.StringOutput, vm.EvalHook) case evalKindMulti: - output, err = evaluateMulti(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.StringOutput) + output, err = evaluateMulti(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.StringOutput, vm.EvalHook) case evalKindStream: - output, err = evaluateStream(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut) + output, err = evaluateStream(node, vm.ext, vm.tla, vm.nativeFuncs, vm.MaxStack, vm.importCache, vm.traceOut, vm.EvalHook) } if err != nil { return "", err @@ -250,20 +255,20 @@ func getAbsPath(path string) (string, error) { return cleanedAbsPath, nil } -func (vm *VM) findDependencies(filePath string, node *ast.Node, dependencies map[string]struct{}, stackTrace *[]traceFrame) (err error) { +func (vm *VM) findDependencies(filePath string, node *ast.Node, dependencies map[string]struct{}, stackTrace *[]TraceFrame) (err error) { var cleanedAbsPath string switch i := (*node).(type) { case *ast.Import: node, foundAt, err := vm.ImportAST(filePath, i.File.Value) if err != nil { - *stackTrace = append([]traceFrame{{Loc: *i.Loc()}}, *stackTrace...) + *stackTrace = append([]TraceFrame{{Loc: *i.Loc()}}, *stackTrace...) return err } cleanedAbsPath = foundAt if _, isFileImporter := vm.importer.(*FileImporter); isFileImporter { cleanedAbsPath, err = getAbsPath(foundAt) if err != nil { - *stackTrace = append([]traceFrame{{Loc: *i.Loc()}}, *stackTrace...) + *stackTrace = append([]TraceFrame{{Loc: *i.Loc()}}, *stackTrace...) return err } } @@ -274,20 +279,20 @@ func (vm *VM) findDependencies(filePath string, node *ast.Node, dependencies map dependencies[cleanedAbsPath] = struct{}{} err = vm.findDependencies(foundAt, &node, dependencies, stackTrace) if err != nil { - *stackTrace = append([]traceFrame{{Loc: *i.Loc()}}, *stackTrace...) + *stackTrace = append([]TraceFrame{{Loc: *i.Loc()}}, *stackTrace...) return err } case *ast.ImportStr: foundAt, err := vm.ResolveImport(filePath, i.File.Value) if err != nil { - *stackTrace = append([]traceFrame{{Loc: *i.Loc()}}, *stackTrace...) + *stackTrace = append([]TraceFrame{{Loc: *i.Loc()}}, *stackTrace...) return err } cleanedAbsPath = foundAt if _, isFileImporter := vm.importer.(*FileImporter); isFileImporter { cleanedAbsPath, err = getAbsPath(foundAt) if err != nil { - *stackTrace = append([]traceFrame{{Loc: *i.Loc()}}, *stackTrace...) + *stackTrace = append([]TraceFrame{{Loc: *i.Loc()}}, *stackTrace...) return err } } @@ -295,14 +300,14 @@ func (vm *VM) findDependencies(filePath string, node *ast.Node, dependencies map case *ast.ImportBin: foundAt, err := vm.ResolveImport(filePath, i.File.Value) if err != nil { - *stackTrace = append([]traceFrame{{Loc: *i.Loc()}}, *stackTrace...) + *stackTrace = append([]TraceFrame{{Loc: *i.Loc()}}, *stackTrace...) return err } cleanedAbsPath = foundAt if _, isFileImporter := vm.importer.(*FileImporter); isFileImporter { cleanedAbsPath, err = getAbsPath(foundAt) if err != nil { - *stackTrace = append([]traceFrame{{Loc: *i.Loc()}}, *stackTrace...) + *stackTrace = append([]TraceFrame{{Loc: *i.Loc()}}, *stackTrace...) return err } } @@ -455,7 +460,7 @@ func (vm *VM) EvaluateFileMulti(filename string) (files map[string]string, forma // The `importedPaths` are parsed as if they were imported from a Jsonnet file located at `importedFrom`. func (vm *VM) FindDependencies(importedFrom string, importedPaths []string) ([]string, error) { var nodes []*ast.Node - var stackTrace []traceFrame + var stackTrace []TraceFrame filePaths := make([]string, len(importedPaths)) depsToExclude := make([]string, len(importedPaths)) deps := make(map[string]struct{}) diff --git a/vendor/github.com/google/go-jsonnet/yaml.go b/vendor/github.com/google/go-jsonnet/yaml.go index 52d30a6b3..4f08694e0 100644 --- a/vendor/github.com/google/go-jsonnet/yaml.go +++ b/vendor/github.com/google/go-jsonnet/yaml.go @@ -32,7 +32,7 @@ const separator = "---" // separating individual documents. It first converts the YAML // body to JSON, then unmarshals the JSON. type YAMLToJSONDecoder struct { - reader Reader + reader *YAMLReader } // NewYAMLToJSONDecoder decodes YAML documents from the provided @@ -50,7 +50,7 @@ func NewYAMLToJSONDecoder(r io.Reader) *YAMLToJSONDecoder { // an error. The decoding rules match json.Unmarshal, not // yaml.Unmarshal. func (d *YAMLToJSONDecoder) Decode(into interface{}) error { - bytes, err := d.reader.Read() + bytes, err := d.reader.read() if err != nil && err != io.EOF { return err } @@ -64,6 +64,10 @@ func (d *YAMLToJSONDecoder) Decode(into interface{}) error { return err } +func (d *YAMLToJSONDecoder) IsStream() bool { + return d.reader.isStream() +} + // Reader reads bytes type Reader interface { Read() ([]byte, error) @@ -72,6 +76,7 @@ type Reader interface { // YAMLReader reads YAML type YAMLReader struct { reader Reader + stream bool } // NewYAMLReader creates a new YAMLReader @@ -82,7 +87,7 @@ func NewYAMLReader(r *bufio.Reader) *YAMLReader { } // Read returns a full YAML document. -func (r *YAMLReader) Read() ([]byte, error) { +func (r *YAMLReader) read() ([]byte, error) { var buffer bytes.Buffer for { line, err := r.reader.Read() @@ -96,6 +101,7 @@ func (r *YAMLReader) Read() ([]byte, error) { i += sep after := line[i:] if len(strings.TrimRightFunc(string(after), unicode.IsSpace)) == 0 { + r.stream = true if buffer.Len() != 0 { return buffer.Bytes(), nil } @@ -115,6 +121,10 @@ func (r *YAMLReader) Read() ([]byte, error) { } } +func (r *YAMLReader) isStream() bool { + return r.stream +} + // LineReader reads single lines. type LineReader struct { reader *bufio.Reader diff --git a/vendor/github.com/ip2location/ip2location-go/v9/LICENSE.TXT b/vendor/github.com/ip2location/ip2location-go/v9/LICENSE.TXT index c96a21a2a..539187455 100644 --- a/vendor/github.com/ip2location/ip2location-go/v9/LICENSE.TXT +++ b/vendor/github.com/ip2location/ip2location-go/v9/LICENSE.TXT @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 - 2024 IP2Location.com +Copyright (c) 2023 - 2025 IP2Location.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vendor/github.com/ip2location/ip2location-go/v9/README.md b/vendor/github.com/ip2location/ip2location-go/v9/README.md index 93876e20d..308f28af7 100644 --- a/vendor/github.com/ip2location/ip2location-go/v9/README.md +++ b/vendor/github.com/ip2location/ip2location-go/v9/README.md @@ -3,7 +3,7 @@ # IP2Location Go Package -This Go package provides a fast lookup of country, region, city, latitude, longitude, ZIP code, time zone, ISP, domain name, connection type, IDD code, area code, weather station code, station name, mcc, mnc, mobile brand, elevation, usage type, address type, IAB category, district, autonomous system number (ASN) and autonomous system (AS) from IP address by using IP2Location database. This package uses a file based database available at IP2Location.com. This database simply contains IP blocks as keys, and other information such as country, region, city, latitude, longitude, ZIP code, time zone, ISP, domain name, connection type, IDD code, area code, weather station code, station name, mcc, mnc, mobile brand, elevation, usage type, address type, IAB category, district, autonomous system number (ASN) and autonomous system (AS) as values. It supports both IP address in IPv4 and IPv6. +This Go package provides a fast lookup of country, region, city, latitude, longitude, ZIP code, time zone, ISP, domain name, connection type, IDD code, area code, weather station code, station name, mcc, mnc, mobile brand, elevation, usage type, address type, IAB category, district, autonomous system number (ASN) and autonomous system (AS) from IP address by using IP2Location database. This package uses a file based database available at IP2Location.com. This database simply contains IP blocks as keys, and other information such as country, region, city, latitude, longitude, ZIP code, time zone, ISP, domain name, connection type, IDD code, area code, weather station code, station name, mcc, mnc, mobile brand, elevation, usage type, address type, IAB category, district, autonomous system number (ASN), autonomous system (AS), AS domain, AS usage type and AS CIDR as values. It supports both IP address in IPv4 and IPv6. This package can be used in many types of projects such as: @@ -19,8 +19,6 @@ The database will be updated in monthly basis for the greater accuracy. Free LIT The paid databases are available at https://www.ip2location.com under Premium subscription package. -As an alternative, this package can also call the IP2Location Web Service. This requires an API key. If you don't have an existing API key, you can subscribe for one at the below: -https://www.ip2location.com/web-service/ip2location Developer Documentation ===================== diff --git a/vendor/github.com/ip2location/ip2location-go/v9/ip2location.go b/vendor/github.com/ip2location/ip2location-go/v9/ip2location.go index d6cd6dcd6..a4f1eb7bc 100644 --- a/vendor/github.com/ip2location/ip2location-go/v9/ip2location.go +++ b/vendor/github.com/ip2location/ip2location-go/v9/ip2location.go @@ -1,7 +1,7 @@ // This ip2location package provides a fast lookup of country, region, city, latitude, longitude, ZIP code, time zone, // ISP, domain name, connection type, IDD code, area code, weather station code, station name, MCC, MNC, -// mobile brand, elevation, usage type, address type, IAB category, district, autonomous system number (ASN) and -// autonomous system (AS) from IP address by using IP2Location database. +// mobile brand, elevation, usage type, address type, IAB category, district, autonomous system number (ASN), +// autonomous system (AS), AS domain, AS usage type and AS CIDR from IP address by using IP2Location database. package ip2location import ( @@ -73,6 +73,9 @@ type IP2Locationrecord struct { District string Asn string As string + Asdomain string + Asusagetype string + Ascidr string } type DB struct { @@ -103,6 +106,9 @@ type DB struct { district_position_offset uint32 asn_position_offset uint32 as_position_offset uint32 + asdomain_position_offset uint32 + asusagetype_position_offset uint32 + ascidr_position_offset uint32 country_enabled bool region_enabled bool @@ -128,6 +134,9 @@ type DB struct { district_enabled bool asn_enabled bool as_enabled bool + asdomain_enabled bool + asusagetype_enabled bool + ascidr_enabled bool metaok bool } @@ -158,8 +167,11 @@ var category_position = [27]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 var district_position = [27]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23} var asn_position = [27]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24} var as_position = [27]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25} +var asdomain_position = [27]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26} +var asusagetype_position = [27]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27} +var ascidr_position = [27]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28} -const api_version string = "9.7.1" +const api_version string = "9.8.0" var max_ipv4_range = uint128.From64(4294967295) var max_ipv6_range = uint128.From64(0) @@ -196,8 +208,11 @@ const category uint32 = 0x0200000 const district uint32 = 0x0400000 const asn uint32 = 0x0800000 const as uint32 = 0x1000000 +const asdomain uint32 = 0x2000000 +const asusagetype uint32 = 0x4000000 +const ascidr uint32 = 0x8000000 -const all uint32 = countryshort | countrylong | region | city | isp | latitude | longitude | domain | zipcode | timezone | netspeed | iddcode | areacode | weatherstationcode | weatherstationname | mcc | mnc | mobilebrand | elevation | usagetype | addresstype | category | district | asn | as +const all uint32 = countryshort | countrylong | region | city | isp | latitude | longitude | domain | zipcode | timezone | netspeed | iddcode | areacode | weatherstationcode | weatherstationname | mcc | mnc | mobilebrand | elevation | usagetype | addresstype | category | district | asn | as | asdomain | asusagetype | ascidr const invalid_address string = "Invalid IP address." const missing_file string = "Invalid database file." @@ -550,6 +565,18 @@ func OpenDBWithReader(reader DBReader) (*DB, error) { db.as_position_offset = uint32(as_position[dbt]-2) << 2 db.as_enabled = true } + if asdomain_position[dbt] != 0 { + db.asdomain_position_offset = uint32(asdomain_position[dbt]-2) << 2 + db.asdomain_enabled = true + } + if asusagetype_position[dbt] != 0 { + db.asusagetype_position_offset = uint32(asusagetype_position[dbt]-2) << 2 + db.asusagetype_enabled = true + } + if ascidr_position[dbt] != 0 { + db.ascidr_position_offset = uint32(ascidr_position[dbt]-2) << 2 + db.ascidr_enabled = true + } db.metaok = true @@ -617,6 +644,9 @@ func loadmessage(mesg string) IP2Locationrecord { x.District = mesg x.Asn = mesg x.As = mesg + x.Asdomain = mesg + x.Asusagetype = mesg + x.Ascidr = mesg return x } @@ -912,6 +942,21 @@ func (d *DB) Get_as(ipaddress string) (IP2Locationrecord, error) { return d.query(ipaddress, as) } +// Get_as will return the AS domain based on the queried IP address. +func (d *DB) Get_asdomain(ipaddress string) (IP2Locationrecord, error) { + return d.query(ipaddress, asdomain) +} + +// Get_as will return the AS usage type based on the queried IP address. +func (d *DB) Get_asusagetype(ipaddress string) (IP2Locationrecord, error) { + return d.query(ipaddress, asusagetype) +} + +// Get_as will return the AS CIDR based on the queried IP address. +func (d *DB) Get_ascidr(ipaddress string) (IP2Locationrecord, error) { + return d.query(ipaddress, ascidr) +} + // main query func (d *DB) query(ipaddress string, mode uint32) (IP2Locationrecord, error) { x := loadmessage(not_supported) // default message @@ -1153,6 +1198,24 @@ func (d *DB) query(ipaddress string, mode uint32) (IP2Locationrecord, error) { } } + if mode&asdomain != 0 && d.asdomain_enabled { + if x.Asdomain, err = d.readstr(d.readuint32_row(row, d.asdomain_position_offset)); err != nil { + return x, err + } + } + + if mode&asusagetype != 0 && d.asusagetype_enabled { + if x.Asusagetype, err = d.readstr(d.readuint32_row(row, d.asusagetype_position_offset)); err != nil { + return x, err + } + } + + if mode&ascidr != 0 && d.ascidr_enabled { + if x.Ascidr, err = d.readstr(d.readuint32_row(row, d.ascidr_position_offset)); err != nil { + return x, err + } + } + return x, nil } else { if ipno.Cmp(ipfrom) < 0 { @@ -1196,4 +1259,7 @@ func Printrecord(x IP2Locationrecord) { fmt.Printf("district: %s\n", x.District) fmt.Printf("asn: %s\n", x.Asn) fmt.Printf("as: %s\n", x.As) + fmt.Printf("asdomain: %s\n", x.Asdomain) + fmt.Printf("asusagetype: %s\n", x.Asusagetype) + fmt.Printf("ascidr: %s\n", x.Ascidr) } diff --git a/vendor/github.com/klauspost/cpuid/v2/README.md b/vendor/github.com/klauspost/cpuid/v2/README.md index 7b1d59921..88d68d528 100644 --- a/vendor/github.com/klauspost/cpuid/v2/README.md +++ b/vendor/github.com/klauspost/cpuid/v2/README.md @@ -281,7 +281,7 @@ Exit Code 1 | AMXBF16 | Tile computational operations on BFLOAT16 numbers | | AMXINT8 | Tile computational operations on 8-bit integers | | AMXFP16 | Tile computational operations on FP16 numbers | -| AMXFP8 | Tile computational operations on FP8 numbers | +| AMXFP8 | Tile computational operations on FP8 numbers | | AMXCOMPLEX | Tile computational operations on complex numbers | | AMXTILE | Tile architecture | | AMXTF32 | Matrix Multiplication of TF32 Tiles into Packed Single Precision Tile | @@ -418,6 +418,7 @@ Exit Code 1 | SEV_SNP | AMD SEV Secure Nested Paging supported | | SGX | Software Guard Extensions | | SGXLC | Software Guard Extensions Launch Control | +| SGXPQC | Software Guard Extensions 256-bit Encryption | | SHA | Intel SHA Extensions | | SME | AMD Secure Memory Encryption supported | | SME_COHERENT | AMD Hardware cache coherency across encryption domains enforced | @@ -450,6 +451,9 @@ Exit Code 1 | TLB_FLUSH_NESTED | AMD: Flushing includes all the nested translations for guest translations | | TME | Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE. | | TOPEXT | TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX. | +| TSA_L1_NO | AMD only: Not vulnerable to TSA-L1 | +| TSA_SQ_NO | AMD only: Not vulnerable to TSA-SQ | +| TSA_VERW_CLEAR | AMD: If set, the memory form of the VERW instruction may be used to help mitigate TSA | | TSCRATEMSR | MSR based TSC rate control. Indicates support for MSR TSC ratio MSRC000_0104 | | TSXLDTRK | Intel TSX Suspend Load Address Tracking | | VAES | Vector AES. AVX(512) versions requires additional checks. | diff --git a/vendor/github.com/klauspost/cpuid/v2/cpuid.go b/vendor/github.com/klauspost/cpuid/v2/cpuid.go index 248439a9a..9cf7738a9 100644 --- a/vendor/github.com/klauspost/cpuid/v2/cpuid.go +++ b/vendor/github.com/klauspost/cpuid/v2/cpuid.go @@ -220,6 +220,7 @@ const ( SEV_SNP // AMD SEV Secure Nested Paging supported SGX // Software Guard Extensions SGXLC // Software Guard Extensions Launch Control + SGXPQC // Software Guard Extensions 256-bit Encryption SHA // Intel SHA Extensions SME // AMD Secure Memory Encryption supported SME_COHERENT // AMD Hardware cache coherency across encryption domains enforced @@ -255,6 +256,9 @@ const ( TLB_FLUSH_NESTED // AMD: Flushing includes all the nested translations for guest translations TME // Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE. TOPEXT // TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX. + TSA_L1_NO // AMD only: Not vulnerable to TSA-L1 + TSA_SQ_NO // AM onlyD: Not vulnerable to TSA-SQ + TSA_VERW_CLEAR // If set, the memory form of the VERW instruction may be used to help mitigate TSA TSCRATEMSR // MSR based TSC rate control. Indicates support for MSR TSC ratio MSRC000_0104 TSXLDTRK // Intel TSX Suspend Load Address Tracking VAES // Vector AES. AVX(512) versions requires additional checks. @@ -304,6 +308,13 @@ const ( SM3 // SM3 instructions SM4 // SM4 instructions SVE // Scalable Vector Extension + + // PMU + PMU_FIXEDCOUNTER_CYCLES + PMU_FIXEDCOUNTER_REFCYCLES + PMU_FIXEDCOUNTER_INSTRUCTIONS + PMU_FIXEDCOUNTER_TOPDOWN_SLOTS + // Keep it last. It automatically defines the size of []flagSet lastID @@ -336,11 +347,36 @@ type CPUInfo struct { SGX SGXSupport AMDMemEncryption AMDMemEncryptionSupport AVX10Level uint8 + PMU PerformanceMonitoringInfo // holds information about the PMU maxFunc uint32 maxExFunc uint32 } +// PerformanceMonitoringInfo holds information about CPU performance monitoring capabilities. +// This is primarily populated from CPUID leaf 0xAh on x86 +type PerformanceMonitoringInfo struct { + // VersionID (x86 only): Version ID of architectural performance monitoring. + // A value of 0 means architectural performance monitoring is not supported or information is unavailable. + VersionID uint8 + // NumGPPMC: Number of General-Purpose Performance Monitoring Counters per logical processor. + // On ARM, this is derived from PMCR_EL0.N (number of event counters). + NumGPCounters uint8 + // GPPMCWidth: Bit width of General-Purpose Performance Monitoring Counters. + // On ARM, typically 64 for PMU event counters. + GPPMCWidth uint8 + // NumFixedPMC: Number of Fixed-Function Performance Counters. + // Valid on x86 if VersionID > 1. On ARM, this typically includes at least the cycle counter (PMCCNTR_EL0). + NumFixedPMC uint8 + // FixedPMCWidth: Bit width of Fixed-Function Performance Counters. + // Valid on x86 if VersionID > 1. On ARM, the cycle counter (PMCCNTR_EL0) is 64-bit. + FixedPMCWidth uint8 + // Raw register output from CPUID leaf 0xAh. + RawEBX uint32 + RawEAX uint32 + RawEDX uint32 +} + var cpuid func(op uint32) (eax, ebx, ecx, edx uint32) var cpuidex func(op, op2 uint32) (eax, ebx, ecx, edx uint32) var xgetbv func(index uint32) (eax, edx uint32) @@ -1358,6 +1394,11 @@ func support() flagSet { fs.setIf(edx&(1<<4) != 0, BHI_CTRL) fs.setIf(edx&(1<<5) != 0, MCDT_NO) + if fs.inSet(SGX) { + eax, _, _, _ := cpuidex(0x12, 0) + fs.setIf(eax&(1<<12) != 0, SGXPQC) + } + // Add keylocker features. if fs.inSet(KEYLOCKER) && mfi >= 0x19 { _, ebx, _, _ := cpuidex(0x19, 0) @@ -1371,6 +1412,7 @@ func support() flagSet { fs.setIf(ebx&(1<<17) != 0, AVX10_256) fs.setIf(ebx&(1<<18) != 0, AVX10_512) } + } // Processor Extended State Enumeration Sub-leaf (EAX = 0DH, ECX = 1) @@ -1514,12 +1556,28 @@ func support() flagSet { } if maxExtendedFunction() >= 0x80000021 && vend == AMD { - a, _, _, _ := cpuid(0x80000021) + a, _, c, _ := cpuid(0x80000021) fs.setIf((a>>31)&1 == 1, SRSO_MSR_FIX) fs.setIf((a>>30)&1 == 1, SRSO_USER_KERNEL_NO) fs.setIf((a>>29)&1 == 1, SRSO_NO) fs.setIf((a>>28)&1 == 1, IBPB_BRTYPE) fs.setIf((a>>27)&1 == 1, SBPB) + fs.setIf((c>>1)&1 == 1, TSA_L1_NO) + fs.setIf((c>>2)&1 == 1, TSA_SQ_NO) + fs.setIf((a>>5)&1 == 1, TSA_VERW_CLEAR) + } + if vend == AMD { + if family < 0x19 { + // AMD CPUs that are older than Family 19h are not vulnerable to TSA but do not set TSA_L1_NO or TSA_SQ_NO. + // Source: https://www.amd.com/content/dam/amd/en/documents/resources/bulletin/technical-guidance-for-mitigating-transient-scheduler-attacks.pdf + fs.set(TSA_L1_NO) + fs.set(TSA_SQ_NO) + } else if family == 0x1a { + // AMD Family 1Ah models 00h-4Fh and 60h-7Fh are also not vulnerable to TSA but do not set TSA_L1_NO or TSA_SQ_NO. + // Future AMD CPUs will set these CPUID bits if appropriate. CPUs will be designed to set these CPUID bits if appropriate. + notVuln := model <= 0x4f || (model >= 0x60 && model <= 0x7f) + fs.setIf(notVuln, TSA_L1_NO, TSA_SQ_NO) + } } if mfi >= 0x20 { @@ -1575,3 +1633,47 @@ func valAsString(values ...uint32) []byte { } return r } + +func parseLeaf0AH(c *CPUInfo, eax, ebx, edx uint32) (info PerformanceMonitoringInfo) { + info.VersionID = uint8(eax & 0xFF) + info.NumGPCounters = uint8((eax >> 8) & 0xFF) + info.GPPMCWidth = uint8((eax >> 16) & 0xFF) + + info.RawEBX = ebx + info.RawEAX = eax + info.RawEDX = edx + + if info.VersionID > 1 { // This information is only valid if VersionID > 1 + info.NumFixedPMC = uint8(edx & 0x1F) // Bits 4:0 + info.FixedPMCWidth = uint8((edx >> 5) & 0xFF) // Bits 12:5 + } + if info.VersionID > 0 { + // first 4 fixed events are always instructions retired, cycles, ref cycles and topdown slots + if ebx == 0x0 && info.NumFixedPMC == 3 { + c.featureSet.set(PMU_FIXEDCOUNTER_INSTRUCTIONS) + c.featureSet.set(PMU_FIXEDCOUNTER_CYCLES) + c.featureSet.set(PMU_FIXEDCOUNTER_REFCYCLES) + } + if ebx == 0x0 && info.NumFixedPMC == 4 { + c.featureSet.set(PMU_FIXEDCOUNTER_INSTRUCTIONS) + c.featureSet.set(PMU_FIXEDCOUNTER_CYCLES) + c.featureSet.set(PMU_FIXEDCOUNTER_REFCYCLES) + c.featureSet.set(PMU_FIXEDCOUNTER_TOPDOWN_SLOTS) + } + if ebx != 0x0 { + if ((ebx >> 0) & 1) == 0 { + c.featureSet.set(PMU_FIXEDCOUNTER_INSTRUCTIONS) + } + if ((ebx >> 1) & 1) == 0 { + c.featureSet.set(PMU_FIXEDCOUNTER_CYCLES) + } + if ((ebx >> 2) & 1) == 0 { + c.featureSet.set(PMU_FIXEDCOUNTER_REFCYCLES) + } + if ((ebx >> 3) & 1) == 0 { + c.featureSet.set(PMU_FIXEDCOUNTER_TOPDOWN_SLOTS) + } + } + } + return info +} diff --git a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go index f924c9d83..14a56b930 100644 --- a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go +++ b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go @@ -36,6 +36,10 @@ func addInfo(c *CPUInfo, safe bool) { c.AVX10Level = c.supportAVX10() c.cacheSize() c.frequencies() + if c.maxFunc >= 0x0A { + eax, ebx, _, edx := cpuid(0x0A) + c.PMU = parseLeaf0AH(c, eax, ebx, edx) + } } func getVectorLength() (vl, pl uint64) { return 0, 0 } diff --git a/vendor/github.com/klauspost/cpuid/v2/featureid_string.go b/vendor/github.com/klauspost/cpuid/v2/featureid_string.go index 07704351f..2888bae8f 100644 --- a/vendor/github.com/klauspost/cpuid/v2/featureid_string.go +++ b/vendor/github.com/klauspost/cpuid/v2/featureid_string.go @@ -154,95 +154,103 @@ func _() { _ = x[SEV_SNP-144] _ = x[SGX-145] _ = x[SGXLC-146] - _ = x[SHA-147] - _ = x[SME-148] - _ = x[SME_COHERENT-149] - _ = x[SM3_X86-150] - _ = x[SM4_X86-151] - _ = x[SPEC_CTRL_SSBD-152] - _ = x[SRBDS_CTRL-153] - _ = x[SRSO_MSR_FIX-154] - _ = x[SRSO_NO-155] - _ = x[SRSO_USER_KERNEL_NO-156] - _ = x[SSE-157] - _ = x[SSE2-158] - _ = x[SSE3-159] - _ = x[SSE4-160] - _ = x[SSE42-161] - _ = x[SSE4A-162] - _ = x[SSSE3-163] - _ = x[STIBP-164] - _ = x[STIBP_ALWAYSON-165] - _ = x[STOSB_SHORT-166] - _ = x[SUCCOR-167] - _ = x[SVM-168] - _ = x[SVMDA-169] - _ = x[SVMFBASID-170] - _ = x[SVML-171] - _ = x[SVMNP-172] - _ = x[SVMPF-173] - _ = x[SVMPFT-174] - _ = x[SYSCALL-175] - _ = x[SYSEE-176] - _ = x[TBM-177] - _ = x[TDX_GUEST-178] - _ = x[TLB_FLUSH_NESTED-179] - _ = x[TME-180] - _ = x[TOPEXT-181] - _ = x[TSCRATEMSR-182] - _ = x[TSXLDTRK-183] - _ = x[VAES-184] - _ = x[VMCBCLEAN-185] - _ = x[VMPL-186] - _ = x[VMSA_REGPROT-187] - _ = x[VMX-188] - _ = x[VPCLMULQDQ-189] - _ = x[VTE-190] - _ = x[WAITPKG-191] - _ = x[WBNOINVD-192] - _ = x[WRMSRNS-193] - _ = x[X87-194] - _ = x[XGETBV1-195] - _ = x[XOP-196] - _ = x[XSAVE-197] - _ = x[XSAVEC-198] - _ = x[XSAVEOPT-199] - _ = x[XSAVES-200] - _ = x[AESARM-201] - _ = x[ARMCPUID-202] - _ = x[ASIMD-203] - _ = x[ASIMDDP-204] - _ = x[ASIMDHP-205] - _ = x[ASIMDRDM-206] - _ = x[ATOMICS-207] - _ = x[CRC32-208] - _ = x[DCPOP-209] - _ = x[EVTSTRM-210] - _ = x[FCMA-211] - _ = x[FHM-212] - _ = x[FP-213] - _ = x[FPHP-214] - _ = x[GPA-215] - _ = x[JSCVT-216] - _ = x[LRCPC-217] - _ = x[PMULL-218] - _ = x[RNDR-219] - _ = x[TLB-220] - _ = x[TS-221] - _ = x[SHA1-222] - _ = x[SHA2-223] - _ = x[SHA3-224] - _ = x[SHA512-225] - _ = x[SM3-226] - _ = x[SM4-227] - _ = x[SVE-228] - _ = x[lastID-229] + _ = x[SGXPQC-147] + _ = x[SHA-148] + _ = x[SME-149] + _ = x[SME_COHERENT-150] + _ = x[SM3_X86-151] + _ = x[SM4_X86-152] + _ = x[SPEC_CTRL_SSBD-153] + _ = x[SRBDS_CTRL-154] + _ = x[SRSO_MSR_FIX-155] + _ = x[SRSO_NO-156] + _ = x[SRSO_USER_KERNEL_NO-157] + _ = x[SSE-158] + _ = x[SSE2-159] + _ = x[SSE3-160] + _ = x[SSE4-161] + _ = x[SSE42-162] + _ = x[SSE4A-163] + _ = x[SSSE3-164] + _ = x[STIBP-165] + _ = x[STIBP_ALWAYSON-166] + _ = x[STOSB_SHORT-167] + _ = x[SUCCOR-168] + _ = x[SVM-169] + _ = x[SVMDA-170] + _ = x[SVMFBASID-171] + _ = x[SVML-172] + _ = x[SVMNP-173] + _ = x[SVMPF-174] + _ = x[SVMPFT-175] + _ = x[SYSCALL-176] + _ = x[SYSEE-177] + _ = x[TBM-178] + _ = x[TDX_GUEST-179] + _ = x[TLB_FLUSH_NESTED-180] + _ = x[TME-181] + _ = x[TOPEXT-182] + _ = x[TSA_L1_NO-183] + _ = x[TSA_SQ_NO-184] + _ = x[TSA_VERW_CLEAR-185] + _ = x[TSCRATEMSR-186] + _ = x[TSXLDTRK-187] + _ = x[VAES-188] + _ = x[VMCBCLEAN-189] + _ = x[VMPL-190] + _ = x[VMSA_REGPROT-191] + _ = x[VMX-192] + _ = x[VPCLMULQDQ-193] + _ = x[VTE-194] + _ = x[WAITPKG-195] + _ = x[WBNOINVD-196] + _ = x[WRMSRNS-197] + _ = x[X87-198] + _ = x[XGETBV1-199] + _ = x[XOP-200] + _ = x[XSAVE-201] + _ = x[XSAVEC-202] + _ = x[XSAVEOPT-203] + _ = x[XSAVES-204] + _ = x[AESARM-205] + _ = x[ARMCPUID-206] + _ = x[ASIMD-207] + _ = x[ASIMDDP-208] + _ = x[ASIMDHP-209] + _ = x[ASIMDRDM-210] + _ = x[ATOMICS-211] + _ = x[CRC32-212] + _ = x[DCPOP-213] + _ = x[EVTSTRM-214] + _ = x[FCMA-215] + _ = x[FHM-216] + _ = x[FP-217] + _ = x[FPHP-218] + _ = x[GPA-219] + _ = x[JSCVT-220] + _ = x[LRCPC-221] + _ = x[PMULL-222] + _ = x[RNDR-223] + _ = x[TLB-224] + _ = x[TS-225] + _ = x[SHA1-226] + _ = x[SHA2-227] + _ = x[SHA3-228] + _ = x[SHA512-229] + _ = x[SM3-230] + _ = x[SM4-231] + _ = x[SVE-232] + _ = x[PMU_FIXEDCOUNTER_CYCLES-233] + _ = x[PMU_FIXEDCOUNTER_REFCYCLES-234] + _ = x[PMU_FIXEDCOUNTER_INSTRUCTIONS-235] + _ = x[PMU_FIXEDCOUNTER_TOPDOWN_SLOTS-236] + _ = x[lastID-237] _ = x[firstID-0] } -const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXFP8AMXTILEAMXTF32AMXCOMPLEXAMXTRANSPOSEAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8AVXVNNIINT16BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBPB_BRTYPEIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBKEYLOCKERKEYLOCKERWLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSBPBSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSM3_X86SM4_X86SPEC_CTRL_SSBDSRBDS_CTRLSRSO_MSR_FIXSRSO_NOSRSO_USER_KERNEL_NOSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFHMFPFPHPGPAJSCVTLRCPCPMULLRNDRTLBTSSHA1SHA2SHA3SHA512SM3SM4SVElastID" +const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXFP8AMXTILEAMXTF32AMXCOMPLEXAMXTRANSPOSEAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8AVXVNNIINT16BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBPB_BRTYPEIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBKEYLOCKERKEYLOCKERWLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSBPBSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSGXPQCSHASMESME_COHERENTSM3_X86SM4_X86SPEC_CTRL_SSBDSRBDS_CTRLSRSO_MSR_FIXSRSO_NOSRSO_USER_KERNEL_NOSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSA_L1_NOTSA_SQ_NOTSA_VERW_CLEARTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFHMFPFPHPGPAJSCVTLRCPCPMULLRNDRTLBTSSHA1SHA2SHA3SHA512SM3SM4SVEPMU_FIXEDCOUNTER_CYCLESPMU_FIXEDCOUNTER_REFCYCLESPMU_FIXEDCOUNTER_INSTRUCTIONSPMU_FIXEDCOUNTER_TOPDOWN_SLOTSlastID" -var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 61, 68, 75, 85, 97, 102, 105, 110, 119, 128, 137, 141, 151, 163, 171, 179, 187, 195, 202, 212, 222, 230, 240, 251, 259, 269, 287, 302, 309, 321, 328, 335, 346, 358, 366, 370, 374, 380, 385, 393, 398, 404, 408, 417, 435, 443, 450, 454, 458, 472, 478, 482, 486, 495, 499, 503, 508, 513, 517, 521, 528, 532, 535, 541, 544, 547, 557, 567, 580, 593, 597, 608, 612, 626, 643, 646, 656, 667, 673, 681, 692, 700, 712, 728, 742, 753, 763, 778, 786, 797, 807, 814, 823, 833, 837, 840, 847, 852, 863, 870, 877, 885, 888, 894, 899, 908, 915, 923, 927, 930, 936, 943, 956, 961, 963, 970, 977, 983, 987, 996, 1000, 1005, 1011, 1017, 1023, 1033, 1036, 1052, 1056, 1065, 1068, 1077, 1092, 1105, 1111, 1125, 1132, 1135, 1140, 1143, 1146, 1158, 1165, 1172, 1186, 1196, 1208, 1215, 1234, 1237, 1241, 1245, 1249, 1254, 1259, 1264, 1269, 1283, 1294, 1300, 1303, 1308, 1317, 1321, 1326, 1331, 1337, 1344, 1349, 1352, 1361, 1377, 1380, 1386, 1396, 1404, 1408, 1417, 1421, 1433, 1436, 1446, 1449, 1456, 1464, 1471, 1474, 1481, 1484, 1489, 1495, 1503, 1509, 1515, 1523, 1528, 1535, 1542, 1550, 1557, 1562, 1567, 1574, 1578, 1581, 1583, 1587, 1590, 1595, 1600, 1605, 1609, 1612, 1614, 1618, 1622, 1626, 1632, 1635, 1638, 1641, 1647} +var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 61, 68, 75, 85, 97, 102, 105, 110, 119, 128, 137, 141, 151, 163, 171, 179, 187, 195, 202, 212, 222, 230, 240, 251, 259, 269, 287, 302, 309, 321, 328, 335, 346, 358, 366, 370, 374, 380, 385, 393, 398, 404, 408, 417, 435, 443, 450, 454, 458, 472, 478, 482, 486, 495, 499, 503, 508, 513, 517, 521, 528, 532, 535, 541, 544, 547, 557, 567, 580, 593, 597, 608, 612, 626, 643, 646, 656, 667, 673, 681, 692, 700, 712, 728, 742, 753, 763, 778, 786, 797, 807, 814, 823, 833, 837, 840, 847, 852, 863, 870, 877, 885, 888, 894, 899, 908, 915, 923, 927, 930, 936, 943, 956, 961, 963, 970, 977, 983, 987, 996, 1000, 1005, 1011, 1017, 1023, 1033, 1036, 1052, 1056, 1065, 1068, 1077, 1092, 1105, 1111, 1125, 1132, 1135, 1140, 1146, 1149, 1152, 1164, 1171, 1178, 1192, 1202, 1214, 1221, 1240, 1243, 1247, 1251, 1255, 1260, 1265, 1270, 1275, 1289, 1300, 1306, 1309, 1314, 1323, 1327, 1332, 1337, 1343, 1350, 1355, 1358, 1367, 1383, 1386, 1392, 1401, 1410, 1424, 1434, 1442, 1446, 1455, 1459, 1471, 1474, 1484, 1487, 1494, 1502, 1509, 1512, 1519, 1522, 1527, 1533, 1541, 1547, 1553, 1561, 1566, 1573, 1580, 1588, 1595, 1600, 1605, 1612, 1616, 1619, 1621, 1625, 1628, 1633, 1638, 1643, 1647, 1650, 1652, 1656, 1660, 1664, 1670, 1673, 1676, 1679, 1702, 1728, 1757, 1787, 1793} func (i FeatureID) String() string { if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) { diff --git a/vendor/github.com/mailru/easyjson/.gitignore b/vendor/github.com/mailru/easyjson/.gitignore new file mode 100644 index 000000000..fbfaf7a3f --- /dev/null +++ b/vendor/github.com/mailru/easyjson/.gitignore @@ -0,0 +1,6 @@ +.root +*_easyjson.go +*.iml +.idea +*.swp +bin/* diff --git a/vendor/github.com/mailru/easyjson/Makefile b/vendor/github.com/mailru/easyjson/Makefile new file mode 100644 index 000000000..cc5ebbad3 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/Makefile @@ -0,0 +1,72 @@ +all: test + +clean: + rm -rf bin + rm -rf tests/*_easyjson.go + rm -rf benchmark/*_easyjson.go + +build: + go build -o ./bin/easyjson ./easyjson + +generate: build + bin/easyjson -stubs \ + ./tests/snake.go \ + ./tests/data.go \ + ./tests/omitempty.go \ + ./tests/nothing.go \ + ./tests/named_type.go \ + ./tests/custom_map_key_type.go \ + ./tests/embedded_type.go \ + ./tests/reference_to_pointer.go \ + ./tests/html.go \ + ./tests/unknown_fields.go \ + ./tests/type_declaration.go \ + ./tests/type_declaration_skip.go \ + ./tests/members_escaped.go \ + ./tests/members_unescaped.go \ + ./tests/intern.go \ + ./tests/nocopy.go \ + ./tests/escaping.go + bin/easyjson -all \ + ./tests/data.go \ + ./tests/nothing.go \ + ./tests/errors.go \ + ./tests/html.go \ + ./tests/type_declaration_skip.go + bin/easyjson \ + ./tests/nested_easy.go \ + ./tests/named_type.go \ + ./tests/custom_map_key_type.go \ + ./tests/embedded_type.go \ + ./tests/reference_to_pointer.go \ + ./tests/key_marshaler_map.go \ + ./tests/unknown_fields.go \ + ./tests/type_declaration.go \ + ./tests/members_escaped.go \ + ./tests/intern.go \ + ./tests/nocopy.go \ + ./tests/escaping.go \ + ./tests/nested_marshaler.go + bin/easyjson -snake_case ./tests/snake.go + bin/easyjson -omit_empty ./tests/omitempty.go + bin/easyjson -build_tags=use_easyjson -disable_members_unescape ./benchmark/data.go + bin/easyjson -disallow_unknown_fields ./tests/disallow_unknown.go + bin/easyjson -disable_members_unescape ./tests/members_unescaped.go + +test: generate + go test \ + ./tests \ + ./jlexer \ + ./gen \ + ./buffer + cd benchmark && go test -benchmem -tags use_easyjson -bench . + golint -set_exit_status ./tests/*_easyjson.go + +bench-other: generate + cd benchmark && make + +bench-python: + benchmark/ujson.sh + + +.PHONY: clean generate test build diff --git a/vendor/github.com/mailru/easyjson/README.md b/vendor/github.com/mailru/easyjson/README.md new file mode 100644 index 000000000..943b9e4ce --- /dev/null +++ b/vendor/github.com/mailru/easyjson/README.md @@ -0,0 +1,408 @@ +# easyjson [![Build Status](https://github.com/mailru/easyjson/actions/workflows/easyjson.yml/badge.svg)](https://github.com/mailru/easyjson/actions/workflows/easyjson.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/mailru/easyjson)](https://goreportcard.com/report/github.com/mailru/easyjson) + +Package easyjson provides a fast and easy way to marshal/unmarshal Go structs +to/from JSON without the use of reflection. In performance tests, easyjson +outperforms the standard `encoding/json` package by a factor of 4-5x, and other +JSON encoding packages by a factor of 2-3x. + +easyjson aims to keep generated Go code simple enough so that it can be easily +optimized or fixed. Another goal is to provide users with the ability to +customize the generated code by providing options not available with the +standard `encoding/json` package, such as generating "snake_case" names or +enabling `omitempty` behavior by default. + +## Usage +### Install: +```sh +# for Go < 1.17 +go get -u github.com/mailru/easyjson/... +``` +#### or +```sh +# for Go >= 1.17 +go get github.com/mailru/easyjson && go install github.com/mailru/easyjson/...@latest +``` +### Run: +```sh +easyjson -all .go +``` + +The above will generate `_easyjson.go` containing the appropriate marshaler and +unmarshaler funcs for all structs contained in `.go`. + +Please note that easyjson requires a full Go build environment and the `GOPATH` +environment variable to be set. This is because easyjson code generation +invokes `go run` on a temporary file (an approach to code generation borrowed +from [ffjson](https://github.com/pquerna/ffjson)). + +### Serialize +```go +someStruct := &SomeStruct{Field1: "val1", Field2: "val2"} +rawBytes, err := easyjson.Marshal(someStruct) +``` + +### Deserialize +```go +someStruct := &SomeStruct{} +err := easyjson.Unmarshal(rawBytes, someStruct) +``` + +Please see the [GoDoc](https://godoc.org/github.com/mailru/easyjson) +for more information and features. +## Options +```txt +Usage of easyjson: + -all + generate marshaler/unmarshalers for all structs in a file + -build_tags string + build tags to add to generated file + -gen_build_flags string + build flags when running the generator while bootstrapping + -byte + use simple bytes instead of Base64Bytes for slice of bytes + -leave_temps + do not delete temporary files + -no_std_marshalers + don't generate MarshalJSON/UnmarshalJSON funcs + -noformat + do not run 'gofmt -w' on output file + -omit_empty + omit empty fields by default + -output_filename string + specify the filename of the output + -pkg + process the whole package instead of just the given file + -snake_case + use snake_case names instead of CamelCase by default + -lower_camel_case + use lowerCamelCase instead of CamelCase by default + -stubs + only generate stubs for marshaler/unmarshaler funcs + -disallow_unknown_fields + return error if some unknown field in json appeared + -disable_members_unescape + disable unescaping of \uXXXX string sequences in member names +``` + +Using `-all` will generate marshalers/unmarshalers for all Go structs in the +file excluding those structs whose preceding comment starts with `easyjson:skip`. +For example: + +```go +//easyjson:skip +type A struct {} +``` + +If `-all` is not provided, then only those structs whose preceding +comment starts with `easyjson:json` will have marshalers/unmarshalers +generated. For example: + +```go +//easyjson:json +type A struct {} +``` + +Additional option notes: + +* `-snake_case` tells easyjson to generate snake\_case field names by default + (unless overridden by a field tag). The CamelCase to snake\_case conversion + algorithm should work in most cases (ie, HTTPVersion will be converted to + "http_version"). + +* `-build_tags` will add the specified build tags to generated Go sources. + +* `-gen_build_flags` will execute the easyjson bootstapping code to launch the + actual generator command with provided flags. Multiple arguments should be + separated by space e.g. `-gen_build_flags="-mod=mod -x"`. + +## Structure json tag options + +Besides standard json tag options like 'omitempty' the following are supported: + +* 'nocopy' - disables allocation and copying of string values, making them + refer to original json buffer memory. This works great for short lived + objects which are not hold in memory after decoding and immediate usage. + Note if string requires unescaping it will be processed as normally. +* 'intern' - string "interning" (deduplication) to save memory when the very + same string dictionary values are often met all over the structure. + See below for more details. + +## Generated Marshaler/Unmarshaler Funcs + +For Go struct types, easyjson generates the funcs `MarshalEasyJSON` / +`UnmarshalEasyJSON` for marshaling/unmarshaling JSON. In turn, these satisfy +the `easyjson.Marshaler` and `easyjson.Unmarshaler` interfaces and when used in +conjunction with `easyjson.Marshal` / `easyjson.Unmarshal` avoid unnecessary +reflection / type assertions during marshaling/unmarshaling to/from JSON for Go +structs. + +easyjson also generates `MarshalJSON` and `UnmarshalJSON` funcs for Go struct +types compatible with the standard `json.Marshaler` and `json.Unmarshaler` +interfaces. Please be aware that using the standard `json.Marshal` / +`json.Unmarshal` for marshaling/unmarshaling will incur a significant +performance penalty when compared to using `easyjson.Marshal` / +`easyjson.Unmarshal`. + +Additionally, easyjson exposes utility funcs that use the `MarshalEasyJSON` and +`UnmarshalEasyJSON` for marshaling/unmarshaling to and from standard readers +and writers. For example, easyjson provides `easyjson.MarshalToHTTPResponseWriter` +which marshals to the standard `http.ResponseWriter`. Please see the [GoDoc +listing](https://godoc.org/github.com/mailru/easyjson) for the full listing of +utility funcs that are available. + +## Controlling easyjson Marshaling and Unmarshaling Behavior + +Go types can provide their own `MarshalEasyJSON` and `UnmarshalEasyJSON` funcs +that satisfy the `easyjson.Marshaler` / `easyjson.Unmarshaler` interfaces. +These will be used by `easyjson.Marshal` and `easyjson.Unmarshal` when defined +for a Go type. + +Go types can also satisfy the `easyjson.Optional` interface, which allows the +type to define its own `omitempty` logic. + +## Type Wrappers + +easyjson provides additional type wrappers defined in the `easyjson/opt` +package. These wrap the standard Go primitives and in turn satisfy the +easyjson interfaces. + +The `easyjson/opt` type wrappers are useful when needing to distinguish between +a missing value and/or when needing to specifying a default value. Type +wrappers allow easyjson to avoid additional pointers and heap allocations and +can significantly increase performance when used properly. + +## Memory Pooling + +easyjson uses a buffer pool that allocates data in increasing chunks from 128 +to 32768 bytes. Chunks of 512 bytes and larger will be reused with the help of +`sync.Pool`. The maximum size of a chunk is bounded to reduce redundant memory +allocation and to allow larger reusable buffers. + +easyjson's custom allocation buffer pool is defined in the `easyjson/buffer` +package, and the default behavior pool behavior can be modified (if necessary) +through a call to `buffer.Init()` prior to any marshaling or unmarshaling. +Please see the [GoDoc listing](https://godoc.org/github.com/mailru/easyjson/buffer) +for more information. + +## String interning + +During unmarshaling, `string` field values can be optionally +[interned](https://en.wikipedia.org/wiki/String_interning) to reduce memory +allocations and usage by deduplicating strings in memory, at the expense of slightly +increased CPU usage. + +This will work effectively only for `string` fields being decoded that have frequently +the same value (e.g. if you have a string field that can only assume a small number +of possible values). + +To enable string interning, add the `intern` keyword tag to your `json` tag on `string` +fields, e.g.: + +```go +type Foo struct { + UUID string `json:"uuid"` // will not be interned during unmarshaling + State string `json:"state,intern"` // will be interned during unmarshaling +} +``` + +## Issues, Notes, and Limitations + +* easyjson is still early in its development. As such, there are likely to be + bugs and missing features when compared to `encoding/json`. In the case of a + missing feature or bug, please create a GitHub issue. Pull requests are + welcome! + +* Unlike `encoding/json`, object keys are case-sensitive. Case-insensitive + matching is not currently provided due to the significant performance hit + when doing case-insensitive key matching. In the future, case-insensitive + object key matching may be provided via an option to the generator. + +* easyjson makes use of `unsafe`, which simplifies the code and + provides significant performance benefits by allowing no-copy + conversion from `[]byte` to `string`. That said, `unsafe` is used + only when unmarshaling and parsing JSON, and any `unsafe` operations + / memory allocations done will be safely deallocated by + easyjson. Set the build tag `easyjson_nounsafe` to compile it + without `unsafe`. + +* easyjson is compatible with Google App Engine. The `appengine` build + tag (set by App Engine's environment) will automatically disable the + use of `unsafe`, which is not allowed in App Engine's Standard + Environment. Note that the use with App Engine is still experimental. + +* Floats are formatted using the default precision from Go's `strconv` package. + As such, easyjson will not correctly handle high precision floats when + marshaling/unmarshaling JSON. Note, however, that there are very few/limited + uses where this behavior is not sufficient for general use. That said, a + different package may be needed if precise marshaling/unmarshaling of high + precision floats to/from JSON is required. + +* While unmarshaling, the JSON parser does the minimal amount of work needed to + skip over unmatching parens, and as such full validation is not done for the + entire JSON value being unmarshaled/parsed. + +* Currently there is no true streaming support for encoding/decoding as + typically for many uses/protocols the final, marshaled length of the JSON + needs to be known prior to sending the data. Currently this is not possible + with easyjson's architecture. + +* easyjson parser and codegen based on reflection, so it won't work on `package main` + files, because they cant be imported by parser. + +## Benchmarks + +Most benchmarks were done using the example +[13kB example JSON](https://dev.twitter.com/rest/reference/get/search/tweets) +(9k after eliminating whitespace). This example is similar to real-world data, +is well-structured, and contains a healthy variety of different types, making +it ideal for JSON serialization benchmarks. + +Note: + +* For small request benchmarks, an 80 byte portion of the above example was + used. + +* For large request marshaling benchmarks, a struct containing 50 regular + samples was used, making a ~500kB output JSON. + +* Benchmarks are showing the results of easyjson's default behaviour, + which makes use of `unsafe`. + +Benchmarks are available in the repository and can be run by invoking `make`. + +### easyjson vs. encoding/json + +easyjson is roughly 5-6 times faster than the standard `encoding/json` for +unmarshaling, and 3-4 times faster for non-concurrent marshaling. Concurrent +marshaling is 6-7x faster if marshaling to a writer. + +### easyjson vs. ffjson + +easyjson uses the same approach for JSON marshaling as +[ffjson](https://github.com/pquerna/ffjson), but takes a significantly +different approach to lexing and parsing JSON during unmarshaling. This means +easyjson is roughly 2-3x faster for unmarshaling and 1.5-2x faster for +non-concurrent unmarshaling. + +As of this writing, `ffjson` seems to have issues when used concurrently: +specifically, large request pooling hurts `ffjson`'s performance and causes +scalability issues. These issues with `ffjson` can likely be fixed, but as of +writing remain outstanding/known issues with `ffjson`. + +easyjson and `ffjson` have similar performance for small requests, however +easyjson outperforms `ffjson` by roughly 2-5x times for large requests when +used with a writer. + +### easyjson vs. go/codec + +[go/codec](https://github.com/ugorji/go) provides +compile-time helpers for JSON generation. In this case, helpers do not work +like marshalers as they are encoding-independent. + +easyjson is generally 2x faster than `go/codec` for non-concurrent benchmarks +and about 3x faster for concurrent encoding (without marshaling to a writer). + +In an attempt to measure marshaling performance of `go/codec` (as opposed to +allocations/memcpy/writer interface invocations), a benchmark was done with +resetting length of a byte slice rather than resetting the whole slice to nil. +However, the optimization in this exact form may not be applicable in practice, +since the memory is not freed between marshaling operations. + +### easyjson vs 'ujson' python module + +[ujson](https://github.com/esnme/ultrajson) is using C code for parsing, so it +is interesting to see how plain golang compares to that. It is important to note +that the resulting object for python is slower to access, since the library +parses JSON object into dictionaries. + +easyjson is slightly faster for unmarshaling and 2-3x faster than `ujson` for +marshaling. + +### Benchmark Results + +`ffjson` results are from February 4th, 2016, using the latest `ffjson` and go1.6. +`go/codec` results are from March 4th, 2016, using the latest `go/codec` and go1.6. + +#### Unmarshaling + +| lib | json size | MB/s | allocs/op | B/op | +|:---------|:----------|-----:|----------:|------:| +| standard | regular | 22 | 218 | 10229 | +| standard | small | 9.7 | 14 | 720 | +| | | | | | +| easyjson | regular | 125 | 128 | 9794 | +| easyjson | small | 67 | 3 | 128 | +| | | | | | +| ffjson | regular | 66 | 141 | 9985 | +| ffjson | small | 17.6 | 10 | 488 | +| | | | | | +| codec | regular | 55 | 434 | 19299 | +| codec | small | 29 | 7 | 336 | +| | | | | | +| ujson | regular | 103 | N/A | N/A | + +#### Marshaling, one goroutine. + +| lib | json size | MB/s | allocs/op | B/op | +|:----------|:----------|-----:|----------:|------:| +| standard | regular | 75 | 9 | 23256 | +| standard | small | 32 | 3 | 328 | +| standard | large | 80 | 17 | 1.2M | +| | | | | | +| easyjson | regular | 213 | 9 | 10260 | +| easyjson* | regular | 263 | 8 | 742 | +| easyjson | small | 125 | 1 | 128 | +| easyjson | large | 212 | 33 | 490k | +| easyjson* | large | 262 | 25 | 2879 | +| | | | | | +| ffjson | regular | 122 | 153 | 21340 | +| ffjson** | regular | 146 | 152 | 4897 | +| ffjson | small | 36 | 5 | 384 | +| ffjson** | small | 64 | 4 | 128 | +| ffjson | large | 134 | 7317 | 818k | +| ffjson** | large | 125 | 7320 | 827k | +| | | | | | +| codec | regular | 80 | 17 | 33601 | +| codec*** | regular | 108 | 9 | 1153 | +| codec | small | 42 | 3 | 304 | +| codec*** | small | 56 | 1 | 48 | +| codec | large | 73 | 483 | 2.5M | +| codec*** | large | 103 | 451 | 66007 | +| | | | | | +| ujson | regular | 92 | N/A | N/A | + +\* marshaling to a writer, +\*\* using `ffjson.Pool()`, +\*\*\* reusing output slice instead of resetting it to nil + +#### Marshaling, concurrent. + +| lib | json size | MB/s | allocs/op | B/op | +|:----------|:----------|-----:|----------:|------:| +| standard | regular | 252 | 9 | 23257 | +| standard | small | 124 | 3 | 328 | +| standard | large | 289 | 17 | 1.2M | +| | | | | | +| easyjson | regular | 792 | 9 | 10597 | +| easyjson* | regular | 1748 | 8 | 779 | +| easyjson | small | 333 | 1 | 128 | +| easyjson | large | 718 | 36 | 548k | +| easyjson* | large | 2134 | 25 | 4957 | +| | | | | | +| ffjson | regular | 301 | 153 | 21629 | +| ffjson** | regular | 707 | 152 | 5148 | +| ffjson | small | 62 | 5 | 384 | +| ffjson** | small | 282 | 4 | 128 | +| ffjson | large | 438 | 7330 | 1.0M | +| ffjson** | large | 131 | 7319 | 820k | +| | | | | | +| codec | regular | 183 | 17 | 33603 | +| codec*** | regular | 671 | 9 | 1157 | +| codec | small | 147 | 3 | 304 | +| codec*** | small | 299 | 1 | 48 | +| codec | large | 190 | 483 | 2.5M | +| codec*** | large | 752 | 451 | 77574 | + +\* marshaling to a writer, +\*\* using `ffjson.Pool()`, +\*\*\* reusing output slice instead of resetting it to nil diff --git a/vendor/github.com/mailru/easyjson/helpers.go b/vendor/github.com/mailru/easyjson/helpers.go new file mode 100644 index 000000000..efe34bf2a --- /dev/null +++ b/vendor/github.com/mailru/easyjson/helpers.go @@ -0,0 +1,114 @@ +// Package easyjson contains marshaler/unmarshaler interfaces and helper functions. +package easyjson + +import ( + "io" + "io/ioutil" + "net/http" + "strconv" + "unsafe" + + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" +) + +// Marshaler is an easyjson-compatible marshaler interface. +type Marshaler interface { + MarshalEasyJSON(w *jwriter.Writer) +} + +// Unmarshaler is an easyjson-compatible unmarshaler interface. +type Unmarshaler interface { + UnmarshalEasyJSON(w *jlexer.Lexer) +} + +// MarshalerUnmarshaler is an easyjson-compatible marshaler/unmarshaler interface. +type MarshalerUnmarshaler interface { + Marshaler + Unmarshaler +} + +// Optional defines an undefined-test method for a type to integrate with 'omitempty' logic. +type Optional interface { + IsDefined() bool +} + +// UnknownsUnmarshaler provides a method to unmarshal unknown struct fileds and save them as you want +type UnknownsUnmarshaler interface { + UnmarshalUnknown(in *jlexer.Lexer, key string) +} + +// UnknownsMarshaler provides a method to write additional struct fields +type UnknownsMarshaler interface { + MarshalUnknowns(w *jwriter.Writer, first bool) +} + +func isNilInterface(i interface{}) bool { + return (*[2]uintptr)(unsafe.Pointer(&i))[1] == 0 +} + +// Marshal returns data as a single byte slice. Method is suboptimal as the data is likely to be copied +// from a chain of smaller chunks. +func Marshal(v Marshaler) ([]byte, error) { + if isNilInterface(v) { + return nullBytes, nil + } + + w := jwriter.Writer{} + v.MarshalEasyJSON(&w) + return w.BuildBytes() +} + +// MarshalToWriter marshals the data to an io.Writer. +func MarshalToWriter(v Marshaler, w io.Writer) (written int, err error) { + if isNilInterface(v) { + return w.Write(nullBytes) + } + + jw := jwriter.Writer{} + v.MarshalEasyJSON(&jw) + return jw.DumpTo(w) +} + +// MarshalToHTTPResponseWriter sets Content-Length and Content-Type headers for the +// http.ResponseWriter, and send the data to the writer. started will be equal to +// false if an error occurred before any http.ResponseWriter methods were actually +// invoked (in this case a 500 reply is possible). +func MarshalToHTTPResponseWriter(v Marshaler, w http.ResponseWriter) (started bool, written int, err error) { + if isNilInterface(v) { + w.Header().Set("Content-Type", "application/json") + w.Header().Set("Content-Length", strconv.Itoa(len(nullBytes))) + written, err = w.Write(nullBytes) + return true, written, err + } + + jw := jwriter.Writer{} + v.MarshalEasyJSON(&jw) + if jw.Error != nil { + return false, 0, jw.Error + } + w.Header().Set("Content-Type", "application/json") + w.Header().Set("Content-Length", strconv.Itoa(jw.Size())) + + started = true + written, err = jw.DumpTo(w) + return +} + +// Unmarshal decodes the JSON in data into the object. +func Unmarshal(data []byte, v Unmarshaler) error { + l := jlexer.Lexer{Data: data} + v.UnmarshalEasyJSON(&l) + return l.Error() +} + +// UnmarshalFromReader reads all the data in the reader and decodes as JSON into the object. +func UnmarshalFromReader(r io.Reader, v Unmarshaler) error { + data, err := ioutil.ReadAll(r) + if err != nil { + return err + } + l := jlexer.Lexer{Data: data} + v.UnmarshalEasyJSON(&l) + return l.Error() +} diff --git a/vendor/github.com/mailru/easyjson/raw.go b/vendor/github.com/mailru/easyjson/raw.go new file mode 100644 index 000000000..ee7367ae5 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/raw.go @@ -0,0 +1,46 @@ +package easyjson + +import ( + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" +) + +// RawMessage is a raw piece of JSON (number, string, bool, object, array or +// null) that is extracted without parsing and output as is during marshaling. +type RawMessage []byte + +// MarshalEasyJSON does JSON marshaling using easyjson interface. +func (v *RawMessage) MarshalEasyJSON(w *jwriter.Writer) { + if len(*v) == 0 { + w.RawString("null") + } else { + w.Raw(*v, nil) + } +} + +// UnmarshalEasyJSON does JSON unmarshaling using easyjson interface. +func (v *RawMessage) UnmarshalEasyJSON(l *jlexer.Lexer) { + *v = RawMessage(l.Raw()) +} + +// UnmarshalJSON implements encoding/json.Unmarshaler interface. +func (v *RawMessage) UnmarshalJSON(data []byte) error { + *v = make([]byte, len(data)) + copy(*v, data) + return nil +} + +var nullBytes = []byte("null") + +// MarshalJSON implements encoding/json.Marshaler interface. +func (v RawMessage) MarshalJSON() ([]byte, error) { + if len(v) == 0 { + return nullBytes, nil + } + return v, nil +} + +// IsDefined is required for integration with omitempty easyjson logic. +func (v *RawMessage) IsDefined() bool { + return len(*v) > 0 +} diff --git a/vendor/github.com/mailru/easyjson/unknown_fields.go b/vendor/github.com/mailru/easyjson/unknown_fields.go new file mode 100644 index 000000000..55538eac9 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/unknown_fields.go @@ -0,0 +1,32 @@ +package easyjson + +import ( + jlexer "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" +) + +// UnknownFieldsProxy implemets UnknownsUnmarshaler and UnknownsMarshaler +// use it as embedded field in your structure to parse and then serialize unknown struct fields +type UnknownFieldsProxy struct { + unknownFields map[string][]byte +} + +func (s *UnknownFieldsProxy) UnmarshalUnknown(in *jlexer.Lexer, key string) { + if s.unknownFields == nil { + s.unknownFields = make(map[string][]byte, 1) + } + s.unknownFields[key] = in.Raw() +} + +func (s UnknownFieldsProxy) MarshalUnknowns(out *jwriter.Writer, first bool) { + for key, val := range s.unknownFields { + if first { + first = false + } else { + out.RawByte(',') + } + out.String(string(key)) + out.RawByte(':') + out.Raw(val, nil) + } +} diff --git a/vendor/github.com/minio/crc64nvme/crc64.go b/vendor/github.com/minio/crc64nvme/crc64.go index 40ac28c76..10d12278f 100644 --- a/vendor/github.com/minio/crc64nvme/crc64.go +++ b/vendor/github.com/minio/crc64nvme/crc64.go @@ -125,14 +125,19 @@ func update(crc uint64, p []byte) uint64 { p = p[align:] } runs := len(p) / 128 - crc = updateAsm(crc, p[:128*runs]) + if hasAsm512 && runs >= 8 { + // Use 512-bit wide instructions for >= 1KB. + crc = updateAsm512(crc, p[:128*runs]) + } else if runs > 0 { + crc = updateAsm(crc, p[:128*runs]) + } return update(crc, p[128*runs:]) } buildSlicing8TablesOnce() crc = ^crc // table comparison is somewhat expensive, so avoid it for small sizes - for len(p) >= 64 { + if len(p) >= 64 { var helperTable = slicing8TableNVME // Update using slicing-by-8 for len(p) > 8 { diff --git a/vendor/github.com/minio/crc64nvme/crc64_amd64.go b/vendor/github.com/minio/crc64nvme/crc64_amd64.go index fc8538bc3..c741591a6 100644 --- a/vendor/github.com/minio/crc64nvme/crc64_amd64.go +++ b/vendor/github.com/minio/crc64nvme/crc64_amd64.go @@ -11,5 +11,7 @@ import ( ) var hasAsm = cpuid.CPU.Supports(cpuid.SSE2, cpuid.CLMUL, cpuid.SSE4) +var hasAsm512 = cpuid.CPU.Supports(cpuid.AVX512F, cpuid.VPCLMULQDQ, cpuid.AVX512VL, cpuid.CLMUL) func updateAsm(crc uint64, p []byte) (checksum uint64) +func updateAsm512(crc uint64, p []byte) (checksum uint64) diff --git a/vendor/github.com/minio/crc64nvme/crc64_amd64.s b/vendor/github.com/minio/crc64nvme/crc64_amd64.s index 9782321fd..590814d5b 100644 --- a/vendor/github.com/minio/crc64nvme/crc64_amd64.s +++ b/vendor/github.com/minio/crc64nvme/crc64_amd64.s @@ -15,18 +15,18 @@ TEXT ·updateAsm(SB), $0-40 CMPQ CX, $1 JLT skip128 - VMOVDQA 0x00(SI), X0 - VMOVDQA 0x10(SI), X1 - VMOVDQA 0x20(SI), X2 - VMOVDQA 0x30(SI), X3 - VMOVDQA 0x40(SI), X4 - VMOVDQA 0x50(SI), X5 - VMOVDQA 0x60(SI), X6 - VMOVDQA 0x70(SI), X7 - MOVQ AX, X8 - PXOR X8, X0 - CMPQ CX, $1 - JE tail128 + MOVOA 0x00(SI), X0 + MOVOA 0x10(SI), X1 + MOVOA 0x20(SI), X2 + MOVOA 0x30(SI), X3 + MOVOA 0x40(SI), X4 + MOVOA 0x50(SI), X5 + MOVOA 0x60(SI), X6 + MOVOA 0x70(SI), X7 + MOVQ AX, X8 + PXOR X8, X0 + CMPQ CX, $1 + JE tail128 MOVQ $0xa1ca681e733f9c40, AX MOVQ AX, X8 @@ -36,42 +36,42 @@ TEXT ·updateAsm(SB), $0-40 loop128: ADDQ $128, SI SUBQ $1, CX - VMOVDQA X0, X10 + MOVOA X0, X10 PCLMULQDQ $0x00, X8, X10 PCLMULQDQ $0x11, X9, X0 PXOR X10, X0 PXOR 0(SI), X0 - VMOVDQA X1, X10 + MOVOA X1, X10 PCLMULQDQ $0x00, X8, X10 PCLMULQDQ $0x11, X9, X1 PXOR X10, X1 PXOR 0x10(SI), X1 - VMOVDQA X2, X10 + MOVOA X2, X10 PCLMULQDQ $0x00, X8, X10 PCLMULQDQ $0x11, X9, X2 PXOR X10, X2 PXOR 0x20(SI), X2 - VMOVDQA X3, X10 + MOVOA X3, X10 PCLMULQDQ $0x00, X8, X10 PCLMULQDQ $0x11, X9, X3 PXOR X10, X3 PXOR 0x30(SI), X3 - VMOVDQA X4, X10 + MOVOA X4, X10 PCLMULQDQ $0x00, X8, X10 PCLMULQDQ $0x11, X9, X4 PXOR X10, X4 PXOR 0x40(SI), X4 - VMOVDQA X5, X10 + MOVOA X5, X10 PCLMULQDQ $0x00, X8, X10 PCLMULQDQ $0x11, X9, X5 PXOR X10, X5 PXOR 0x50(SI), X5 - VMOVDQA X6, X10 + MOVOA X6, X10 PCLMULQDQ $0x00, X8, X10 PCLMULQDQ $0x11, X9, X6 PXOR X10, X6 PXOR 0x60(SI), X6 - VMOVDQA X7, X10 + MOVOA X7, X10 PCLMULQDQ $0x00, X8, X10 PCLMULQDQ $0x11, X9, X7 PXOR X10, X7 @@ -155,3 +155,155 @@ skip128: NOTQ AX MOVQ AX, checksum+32(FP) RET + +// Constants, pre-splatted. +DATA ·asmConstantsPoly<>+0x00(SB)/8, $0xa1ca681e733f9c40 +DATA ·asmConstantsPoly<>+0x08(SB)/8, $0 +DATA ·asmConstantsPoly<>+0x10(SB)/8, $0xa1ca681e733f9c40 +DATA ·asmConstantsPoly<>+0x18(SB)/8, $0 +DATA ·asmConstantsPoly<>+0x20(SB)/8, $0xa1ca681e733f9c40 +DATA ·asmConstantsPoly<>+0x28(SB)/8, $0 +DATA ·asmConstantsPoly<>+0x30(SB)/8, $0xa1ca681e733f9c40 +DATA ·asmConstantsPoly<>+0x38(SB)/8, $0 +// Upper +DATA ·asmConstantsPoly<>+0x40(SB)/8, $0 +DATA ·asmConstantsPoly<>+0x48(SB)/8, $0x5f852fb61e8d92dc +DATA ·asmConstantsPoly<>+0x50(SB)/8, $0 +DATA ·asmConstantsPoly<>+0x58(SB)/8, $0x5f852fb61e8d92dc +DATA ·asmConstantsPoly<>+0x60(SB)/8, $0 +DATA ·asmConstantsPoly<>+0x68(SB)/8, $0x5f852fb61e8d92dc +DATA ·asmConstantsPoly<>+0x70(SB)/8, $0 +DATA ·asmConstantsPoly<>+0x78(SB)/8, $0x5f852fb61e8d92dc +GLOBL ·asmConstantsPoly<>(SB), (NOPTR+RODATA), $128 + +TEXT ·updateAsm512(SB), $0-40 + MOVQ crc+0(FP), AX // checksum + MOVQ p_base+8(FP), SI // start pointer + MOVQ p_len+16(FP), CX // length of buffer + NOTQ AX + SHRQ $7, CX + CMPQ CX, $1 + VPXORQ Z8, Z8, Z8 // Initialize ZMM8 to zero + JLT skip128 + + VMOVDQU64 0x00(SI), Z0 + VMOVDQU64 0x40(SI), Z4 + MOVQ $·asmConstantsPoly<>(SB), BX + VMOVQ AX, X8 + + // XOR initialization value into lower 64 bits of ZMM0 + VPXORQ Z8, Z0, Z0 + CMPQ CX, $1 + JE tail128 + + VMOVDQU64 0(BX), Z8 + VMOVDQU64 64(BX), Z9 + + PCALIGN $16 + +loop128: + PREFETCHT0 512(SI) + VMOVDQU64 0x80(SI), Z1 + VMOVDQU64 0xc0(SI), Z5 + ADDQ $128, SI + + SUBQ $1, CX + VPCLMULQDQ $0x00, Z8, Z0, Z10 + VPCLMULQDQ $0x11, Z9, Z0, Z0 + VPTERNLOGD $0x96, Z1, Z10, Z0 // Combine results with xor into Z0 + + PREFETCHT0 512-64(SI) + VPCLMULQDQ $0x00, Z8, Z4, Z10 + VPCLMULQDQ $0x11, Z9, Z4, Z4 + VPTERNLOGD $0x96, Z5, Z10, Z4 // Combine results with xor into Z4 + + CMPQ CX, $1 + JGT loop128 + +tail128: + // Extract X0 to X3 from ZMM0 + VEXTRACTF32X4 $1, Z0, X1 // X1: Second 128-bit lane + VEXTRACTF32X4 $2, Z0, X2 // X2: Third 128-bit lane + VEXTRACTF32X4 $3, Z0, X3 // X3: Fourth 128-bit lane + + // Extract X4 to X7 from ZMM4 + VEXTRACTF32X4 $1, Z4, X5 // X5: Second 128-bit lane + VEXTRACTF32X4 $2, Z4, X6 // X6: Third 128-bit lane + VEXTRACTF32X4 $3, Z4, X7 // X7: Fourth 128-bit lane + + MOVQ $0xd083dd594d96319d, AX + MOVQ AX, X11 + PCLMULQDQ $0x00, X0, X11 + MOVQ $0x946588403d4adcbc, AX + PINSRQ $0x1, AX, X12 + PCLMULQDQ $0x11, X12, X0 + PXOR X11, X7 + PXOR X0, X7 + MOVQ $0x3c255f5ebc414423, AX + MOVQ AX, X11 + PCLMULQDQ $0x00, X1, X11 + MOVQ $0x34f5a24e22d66e90, AX + PINSRQ $0x1, AX, X12 + PCLMULQDQ $0x11, X12, X1 + PXOR X11, X1 + PXOR X7, X1 + MOVQ $0x7b0ab10dd0f809fe, AX + MOVQ AX, X11 + PCLMULQDQ $0x00, X2, X11 + MOVQ $0x03363823e6e791e5, AX + PINSRQ $0x1, AX, X12 + PCLMULQDQ $0x11, X12, X2 + PXOR X11, X2 + PXOR X1, X2 + MOVQ $0x0c32cdb31e18a84a, AX + MOVQ AX, X11 + PCLMULQDQ $0x00, X3, X11 + MOVQ $0x62242240ace5045a, AX + PINSRQ $0x1, AX, X12 + PCLMULQDQ $0x11, X12, X3 + PXOR X11, X3 + PXOR X2, X3 + MOVQ $0xbdd7ac0ee1a4a0f0, AX + MOVQ AX, X11 + PCLMULQDQ $0x00, X4, X11 + MOVQ $0xa3ffdc1fe8e82a8b, AX + PINSRQ $0x1, AX, X12 + PCLMULQDQ $0x11, X12, X4 + PXOR X11, X4 + PXOR X3, X4 + MOVQ $0xb0bc2e589204f500, AX + MOVQ AX, X11 + PCLMULQDQ $0x00, X5, X11 + MOVQ $0xe1e0bb9d45d7a44c, AX + PINSRQ $0x1, AX, X12 + PCLMULQDQ $0x11, X12, X5 + PXOR X11, X5 + PXOR X4, X5 + MOVQ $0xeadc41fd2ba3d420, AX + MOVQ AX, X11 + PCLMULQDQ $0x00, X6, X11 + MOVQ $0x21e9761e252621ac, AX + PINSRQ $0x1, AX, X12 + PCLMULQDQ $0x11, X12, X6 + PXOR X11, X6 + PXOR X5, X6 + MOVQ AX, X5 + PCLMULQDQ $0x00, X6, X5 + PSHUFD $0xee, X6, X6 + PXOR X5, X6 + MOVQ $0x27ecfa329aef9f77, AX + MOVQ AX, X4 + PCLMULQDQ $0x00, X4, X6 + PEXTRQ $0, X6, BX + MOVQ $0x34d926535897936b, AX + MOVQ AX, X4 + PCLMULQDQ $0x00, X4, X6 + PXOR X5, X6 + PEXTRQ $1, X6, AX + XORQ BX, AX + +skip128: + NOTQ AX + MOVQ AX, checksum+32(FP) + VZEROUPPER + RET diff --git a/vendor/github.com/minio/crc64nvme/crc64_arm64.go b/vendor/github.com/minio/crc64nvme/crc64_arm64.go index 141ecf54d..7e3ea9134 100644 --- a/vendor/github.com/minio/crc64nvme/crc64_arm64.go +++ b/vendor/github.com/minio/crc64nvme/crc64_arm64.go @@ -11,5 +11,7 @@ import ( ) var hasAsm = cpuid.CPU.Supports(cpuid.ASIMD, cpuid.PMULL, cpuid.SHA3) +var hasAsm512 = false func updateAsm(crc uint64, p []byte) (checksum uint64) +func updateAsm512(crc uint64, p []byte) (checksum uint64) { panic("should not be reached") } diff --git a/vendor/github.com/minio/crc64nvme/crc64_other.go b/vendor/github.com/minio/crc64nvme/crc64_other.go index 467958c69..ae260f7fb 100644 --- a/vendor/github.com/minio/crc64nvme/crc64_other.go +++ b/vendor/github.com/minio/crc64nvme/crc64_other.go @@ -7,5 +7,7 @@ package crc64nvme var hasAsm = false +var hasAsm512 = false -func updateAsm(crc uint64, p []byte) (checksum uint64) { panic("should not be reached") } +func updateAsm(crc uint64, p []byte) (checksum uint64) { panic("should not be reached") } +func updateAsm512(crc uint64, p []byte) (checksum uint64) { panic("should not be reached") } diff --git a/vendor/github.com/pion/logging/.golangci.yml b/vendor/github.com/pion/logging/.golangci.yml index 50211be0c..59edee274 100644 --- a/vendor/github.com/pion/logging/.golangci.yml +++ b/vendor/github.com/pion/logging/.golangci.yml @@ -19,12 +19,16 @@ linters-settings: recommendations: - errors forbidigo: + analyze-types: true forbid: - ^fmt.Print(f|ln)?$ - ^log.(Panic|Fatal|Print)(f|ln)?$ - ^os.Exit$ - ^panic$ - ^print(ln)?$ + - p: ^testing.T.(Error|Errorf|Fatal|Fatalf|Fail|FailNow)$ + pkg: ^testing$ + msg: "use testify/assert instead" varnamelen: max-distance: 12 min-name-length: 2 @@ -37,6 +41,12 @@ linters-settings: - w io.Writer - r io.Reader - b []byte + revive: + rules: + # Prefer 'any' type alias over 'interface{}' for Go 1.18+ compatibility + - name: use-any + severity: warning + disabled: false linters: enable: @@ -59,7 +69,6 @@ linters: - exportloopref # checks for pointers to enclosing loop variables - forbidigo # Forbids identifiers - forcetypeassert # finds forced type assertions - - funlen # Tool for detection of long functions - gci # Gci control golang package import order and make it always deterministic. - gochecknoglobals # Checks that no globals are present in Go code - gocognit # Computes and checks the cognitive complexity of functions @@ -106,6 +115,7 @@ linters: - whitespace # Tool for detection of leading and trailing whitespace disable: - depguard # Go linter that checks if package imports are in a list of acceptable packages + - funlen # Tool for detection of long functions - gochecknoinits # Checks that no init functions are present in Go code - gomodguard # Allow and block list linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations. - interfacebloat # A linter that checks length of interface. @@ -127,9 +137,12 @@ issues: exclude-dirs-use-default: false exclude-rules: # Allow complex tests and examples, better to be self contained - - path: (examples|main\.go|_test\.go) + - path: (examples|main\.go) linters: + - gocognit - forbidigo + - path: _test\.go + linters: - gocognit # Allow forbidden identifiers in CLI commands diff --git a/vendor/github.com/pion/logging/README.md b/vendor/github.com/pion/logging/README.md index b9824abb6..20ae88948 100644 --- a/vendor/github.com/pion/logging/README.md +++ b/vendor/github.com/pion/logging/README.md @@ -6,7 +6,7 @@

The Pion logging library

Pion transport - Slack Widget + join us on Discord Follow us on Bluesky
GitHub Workflow Status Go Reference @@ -20,9 +20,9 @@ The library is used as a part of our WebRTC implementation. Please refer to that [roadmap](https://github.com/pion/webrtc/issues/9) to track our major milestones. ### Community -Pion has an active community on the [Slack](https://pion.ly/slack). +Pion has an active community on the [Discord](https://discord.gg/PngbdqpFbt). -Follow the [Pion Twitter](https://twitter.com/_pion) for project updates and important WebRTC news. +Follow the [Pion Bluesky](https://bsky.app/profile/pion.ly) or [Pion Twitter](https://twitter.com/_pion) for project updates and important WebRTC news. We are always looking to support **your projects**. Please reach out if you have something to build! If you need commercial support or don't want to use public methods you can contact us at [team@pion.ly](mailto:team@pion.ly) diff --git a/vendor/github.com/pion/logging/logger.go b/vendor/github.com/pion/logging/logger.go index eb1e56af6..b23aaa144 100644 --- a/vendor/github.com/pion/logging/logger.go +++ b/vendor/github.com/pion/logging/logger.go @@ -93,7 +93,7 @@ func (ll *DefaultLeveledLogger) WithOutput(output io.Writer) *DefaultLeveledLogg return ll } -func (ll *DefaultLeveledLogger) logf(logger *log.Logger, level LogLevel, format string, args ...interface{}) { +func (ll *DefaultLeveledLogger) logf(logger *log.Logger, level LogLevel, format string, args ...any) { if ll.level.Get() < level { return } @@ -116,7 +116,7 @@ func (ll *DefaultLeveledLogger) Trace(msg string) { } // Tracef formats and emits a message if the logger is at or below LogLevelTrace. -func (ll *DefaultLeveledLogger) Tracef(format string, args ...interface{}) { +func (ll *DefaultLeveledLogger) Tracef(format string, args ...any) { ll.logf(ll.trace, LogLevelTrace, format, args...) } @@ -126,7 +126,7 @@ func (ll *DefaultLeveledLogger) Debug(msg string) { } // Debugf formats and emits a message if the logger is at or below LogLevelDebug. -func (ll *DefaultLeveledLogger) Debugf(format string, args ...interface{}) { +func (ll *DefaultLeveledLogger) Debugf(format string, args ...any) { ll.logf(ll.debug, LogLevelDebug, format, args...) } @@ -136,7 +136,7 @@ func (ll *DefaultLeveledLogger) Info(msg string) { } // Infof formats and emits a message if the logger is at or below LogLevelInfo. -func (ll *DefaultLeveledLogger) Infof(format string, args ...interface{}) { +func (ll *DefaultLeveledLogger) Infof(format string, args ...any) { ll.logf(ll.info, LogLevelInfo, format, args...) } @@ -146,7 +146,7 @@ func (ll *DefaultLeveledLogger) Warn(msg string) { } // Warnf formats and emits a message if the logger is at or below LogLevelWarn. -func (ll *DefaultLeveledLogger) Warnf(format string, args ...interface{}) { +func (ll *DefaultLeveledLogger) Warnf(format string, args ...any) { ll.logf(ll.warn, LogLevelWarn, format, args...) } @@ -156,7 +156,7 @@ func (ll *DefaultLeveledLogger) Error(msg string) { } // Errorf formats and emits a message if the logger is at or below LogLevelError. -func (ll *DefaultLeveledLogger) Errorf(format string, args ...interface{}) { +func (ll *DefaultLeveledLogger) Errorf(format string, args ...any) { ll.logf(ll.err, LogLevelError, format, args...) } diff --git a/vendor/github.com/pion/logging/scoped.go b/vendor/github.com/pion/logging/scoped.go index 7b3a550ee..aac518eb5 100644 --- a/vendor/github.com/pion/logging/scoped.go +++ b/vendor/github.com/pion/logging/scoped.go @@ -58,15 +58,15 @@ const ( // LeveledLogger is the basic pion Logger interface. type LeveledLogger interface { Trace(msg string) - Tracef(format string, args ...interface{}) + Tracef(format string, args ...any) Debug(msg string) - Debugf(format string, args ...interface{}) + Debugf(format string, args ...any) Info(msg string) - Infof(format string, args ...interface{}) + Infof(format string, args ...any) Warn(msg string) - Warnf(format string, args ...interface{}) + Warnf(format string, args ...any) Error(msg string) - Errorf(format string, args ...interface{}) + Errorf(format string, args ...any) } // LoggerFactory is the basic pion LoggerFactory interface. diff --git a/vendor/github.com/prometheus/client_golang/prometheus/desc.go b/vendor/github.com/prometheus/client_golang/prometheus/desc.go index ad347113c..2331b8b4f 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/desc.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/desc.go @@ -95,7 +95,8 @@ func (v2) NewDesc(fqName, help string, variableLabels ConstrainableLabels, const help: help, variableLabels: variableLabels.compile(), } - if !model.IsValidMetricName(model.LabelValue(fqName)) { + //nolint:staticcheck // TODO: Don't use deprecated model.NameValidationScheme. + if !model.NameValidationScheme.IsValidMetricName(fqName) { d.err = fmt.Errorf("%q is not a valid metric name", fqName) return d } diff --git a/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go b/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go index f7f97ef92..d273b6640 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go @@ -67,7 +67,7 @@ func RuntimeMetricsToProm(d *metrics.Description) (string, string, string, bool) } // Our current conversion moves to legacy naming, so use legacy validation. - valid := model.IsValidLegacyMetricName(namespace + "_" + subsystem + "_" + name) + valid := model.LegacyValidation.IsValidMetricName(namespace + "_" + subsystem + "_" + name) switch d.Kind { case metrics.KindUint64: case metrics.KindFloat64: diff --git a/vendor/github.com/prometheus/client_golang/prometheus/labels.go b/vendor/github.com/prometheus/client_golang/prometheus/labels.go index c21911f29..5fe8d3b4d 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/labels.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/labels.go @@ -184,5 +184,6 @@ func validateLabelValues(vals []string, expectedNumberOfValues int) error { } func checkLabelName(l string) bool { - return model.LabelName(l).IsValid() && !strings.HasPrefix(l, reservedLabelPrefix) + //nolint:staticcheck // TODO: Don't use deprecated model.NameValidationScheme. + return model.NameValidationScheme.IsValidLabelName(l) && !strings.HasPrefix(l, reservedLabelPrefix) } diff --git a/vendor/github.com/prometheus/common/config/config.go b/vendor/github.com/prometheus/common/config/config.go index 7588da555..ff54cdd82 100644 --- a/vendor/github.com/prometheus/common/config/config.go +++ b/vendor/github.com/prometheus/common/config/config.go @@ -30,7 +30,7 @@ type Secret string // MarshalSecretValue if set to true will expose Secret type // through the marshal interfaces. Useful for outside projects // that load and marshal the Prometheus config. -var MarshalSecretValue bool = false +var MarshalSecretValue = false // MarshalYAML implements the yaml.Marshaler interface for Secrets. func (s Secret) MarshalYAML() (interface{}, error) { diff --git a/vendor/github.com/prometheus/common/config/http_config.go b/vendor/github.com/prometheus/common/config/http_config.go index 5d3f1941b..ad40fd936 100644 --- a/vendor/github.com/prometheus/common/config/http_config.go +++ b/vendor/github.com/prometheus/common/config/http_config.go @@ -72,7 +72,7 @@ var TLSVersions = map[string]TLSVersion{ func (tv *TLSVersion) UnmarshalYAML(unmarshal func(interface{}) error) error { var s string - err := unmarshal((*string)(&s)) + err := unmarshal(&s) if err != nil { return err } @@ -245,7 +245,7 @@ type OAuth2 struct { ProxyConfig `yaml:",inline"` } -// UnmarshalYAML implements the yaml.Unmarshaler interface +// UnmarshalYAML implements the yaml.Unmarshaler interface. func (o *OAuth2) UnmarshalYAML(unmarshal func(interface{}) error) error { type plain OAuth2 if err := unmarshal((*plain)(o)); err != nil { @@ -346,7 +346,7 @@ func nonZeroCount[T comparable](values ...T) int { var zero T for _, value := range values { if value != zero { - count += 1 + count++ } } return count @@ -363,7 +363,7 @@ func (c *HTTPClientConfig) Validate() error { if (c.BasicAuth != nil || c.OAuth2 != nil) && (len(c.BearerToken) > 0 || len(c.BearerTokenFile) > 0) { return errors.New("at most one of basic_auth, oauth2, bearer_token & bearer_token_file must be configured") } - if c.BasicAuth != nil && nonZeroCount(string(c.BasicAuth.Username) != "", c.BasicAuth.UsernameFile != "", c.BasicAuth.UsernameRef != "") > 1 { + if c.BasicAuth != nil && nonZeroCount(c.BasicAuth.Username != "", c.BasicAuth.UsernameFile != "", c.BasicAuth.UsernameRef != "") > 1 { return errors.New("at most one of basic_auth username, username_file & username_ref must be configured") } if c.BasicAuth != nil && nonZeroCount(string(c.BasicAuth.Password) != "", c.BasicAuth.PasswordFile != "", c.BasicAuth.PasswordRef != "") > 1 { @@ -423,7 +423,7 @@ func (c *HTTPClientConfig) Validate() error { return nil } -// UnmarshalYAML implements the yaml.Unmarshaler interface +// UnmarshalYAML implements the yaml.Unmarshaler interface. func (c *HTTPClientConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { type plain HTTPClientConfig *c = DefaultHTTPClientConfig @@ -542,8 +542,14 @@ func (s *secretManagerOption) applyToTLSConfigOptions(opts *tlsConfigOptions) { opts.secretManager = s.secretManager } +// SecretManagerOption is an option for providing a SecretManager. +type SecretManagerOption interface { + TLSConfigOption + HTTPClientOption +} + // WithSecretManager allows setting the secret manager. -func WithSecretManager(manager SecretManager) *secretManagerOption { +func WithSecretManager(manager SecretManager) SecretManagerOption { return &secretManagerOption{ secretManager: manager, } @@ -726,11 +732,11 @@ func (s *InlineSecret) Fetch(context.Context) (string, error) { return s.text, nil } -func (s *InlineSecret) Description() string { +func (*InlineSecret) Description() string { return "inline" } -func (s *InlineSecret) Immutable() bool { +func (*InlineSecret) Immutable() bool { return true } @@ -742,7 +748,7 @@ func NewFileSecret(file string) *FileSecret { return &FileSecret{file: file} } -func (s *FileSecret) Fetch(ctx context.Context) (string, error) { +func (s *FileSecret) Fetch(context.Context) (string, error) { fileBytes, err := os.ReadFile(s.file) if err != nil { return "", fmt.Errorf("unable to read file %s: %w", s.file, err) @@ -754,7 +760,7 @@ func (s *FileSecret) Description() string { return "file " + s.file } -func (s *FileSecret) Immutable() bool { +func (*FileSecret) Immutable() bool { return false } @@ -772,7 +778,7 @@ func (s *refSecret) Description() string { return "ref " + s.ref } -func (s *refSecret) Immutable() bool { +func (*refSecret) Immutable() bool { return false } @@ -1224,7 +1230,7 @@ func (c *TLSConfig) getClientCertificate(ctx context.Context, secretManager Secr } } - keySecret, err := toSecret(secretManager, Secret(c.Key), c.KeyFile, c.KeyRef) + keySecret, err := toSecret(secretManager, c.Key, c.KeyFile, c.KeyRef) if err != nil { return nil, fmt.Errorf("unable to use client key: %w", err) } @@ -1362,9 +1368,9 @@ func (t *tlsRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { } t.mtx.RLock() - equal := bytes.Equal(caHash[:], t.hashCAData) && - bytes.Equal(certHash[:], t.hashCertData) && - bytes.Equal(keyHash[:], t.hashKeyData) + equal := bytes.Equal(caHash, t.hashCAData) && + bytes.Equal(certHash, t.hashCertData) && + bytes.Equal(keyHash, t.hashKeyData) rt := t.rt t.mtx.RUnlock() if equal { @@ -1387,9 +1393,9 @@ func (t *tlsRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { t.mtx.Lock() t.rt = rt - t.hashCAData = caHash[:] - t.hashCertData = certHash[:] - t.hashKeyData = keyHash[:] + t.hashCAData = caHash + t.hashCertData = certHash + t.hashKeyData = keyHash t.mtx.Unlock() return rt.RoundTrip(req) diff --git a/vendor/github.com/prometheus/common/expfmt/decode.go b/vendor/github.com/prometheus/common/expfmt/decode.go index 1448439b7..7b762370e 100644 --- a/vendor/github.com/prometheus/common/expfmt/decode.go +++ b/vendor/github.com/prometheus/common/expfmt/decode.go @@ -70,19 +70,34 @@ func ResponseFormat(h http.Header) Format { return FmtUnknown } -// NewDecoder returns a new decoder based on the given input format. -// If the input format does not imply otherwise, a text format decoder is returned. +// NewDecoder returns a new decoder based on the given input format. Metric +// names are validated based on the provided Format -- if the format requires +// escaping, raditional Prometheues validity checking is used. Otherwise, names +// are checked for UTF-8 validity. Supported formats include delimited protobuf +// and Prometheus text format. For historical reasons, this decoder fallbacks +// to classic text decoding for any other format. This decoder does not fully +// support OpenMetrics although it may often succeed due to the similarities +// between the formats. This decoder may not support the latest features of +// Prometheus text format and is not intended for high-performance applications. +// See: https://github.com/prometheus/common/issues/812 func NewDecoder(r io.Reader, format Format) Decoder { + scheme := model.LegacyValidation + if format.ToEscapingScheme() == model.NoEscaping { + scheme = model.UTF8Validation + } switch format.FormatType() { case TypeProtoDelim: - return &protoDecoder{r: bufio.NewReader(r)} + return &protoDecoder{r: bufio.NewReader(r), s: scheme} + case TypeProtoText, TypeProtoCompact: + return &errDecoder{err: fmt.Errorf("format %s not supported for decoding", format)} } - return &textDecoder{r: r} + return &textDecoder{r: r, s: scheme} } // protoDecoder implements the Decoder interface for protocol buffers. type protoDecoder struct { r protodelim.Reader + s model.ValidationScheme } // Decode implements the Decoder interface. @@ -93,7 +108,7 @@ func (d *protoDecoder) Decode(v *dto.MetricFamily) error { if err := opts.UnmarshalFrom(d.r, v); err != nil { return err } - if !model.IsValidMetricName(model.LabelValue(v.GetName())) { + if !d.s.IsValidMetricName(v.GetName()) { return fmt.Errorf("invalid metric name %q", v.GetName()) } for _, m := range v.GetMetric() { @@ -107,7 +122,7 @@ func (d *protoDecoder) Decode(v *dto.MetricFamily) error { if !model.LabelValue(l.GetValue()).IsValid() { return fmt.Errorf("invalid label value %q", l.GetValue()) } - if !model.LabelName(l.GetName()).IsValid() { + if !d.s.IsValidLabelName(l.GetName()) { return fmt.Errorf("invalid label name %q", l.GetName()) } } @@ -115,10 +130,20 @@ func (d *protoDecoder) Decode(v *dto.MetricFamily) error { return nil } +// errDecoder is an error-state decoder that always returns the same error. +type errDecoder struct { + err error +} + +func (d *errDecoder) Decode(*dto.MetricFamily) error { + return d.err +} + // textDecoder implements the Decoder interface for the text protocol. type textDecoder struct { r io.Reader fams map[string]*dto.MetricFamily + s model.ValidationScheme err error } @@ -126,7 +151,7 @@ type textDecoder struct { func (d *textDecoder) Decode(v *dto.MetricFamily) error { if d.err == nil { // Read all metrics in one shot. - var p TextParser + p := NewTextParser(d.s) d.fams, d.err = p.TextToMetricFamilies(d.r) // If we don't get an error, store io.EOF for the end. if d.err == nil { diff --git a/vendor/github.com/prometheus/common/expfmt/encode.go b/vendor/github.com/prometheus/common/expfmt/encode.go index d7f3d76f5..73c24dfbc 100644 --- a/vendor/github.com/prometheus/common/expfmt/encode.go +++ b/vendor/github.com/prometheus/common/expfmt/encode.go @@ -18,14 +18,12 @@ import ( "io" "net/http" + "github.com/munnerz/goautoneg" + dto "github.com/prometheus/client_model/go" "google.golang.org/protobuf/encoding/protodelim" "google.golang.org/protobuf/encoding/prototext" "github.com/prometheus/common/model" - - "github.com/munnerz/goautoneg" - - dto "github.com/prometheus/client_model/go" ) // Encoder types encode metric families into an underlying wire protocol. @@ -61,7 +59,7 @@ func (ec encoderCloser) Close() error { // appropriate accepted type is found, FmtText is returned (which is the // Prometheus text format). This function will never negotiate FmtOpenMetrics, // as the support is still experimental. To include the option to negotiate -// FmtOpenMetrics, use NegotiateOpenMetrics. +// FmtOpenMetrics, use NegotiateIncludingOpenMetrics. func Negotiate(h http.Header) Format { escapingScheme := Format(fmt.Sprintf("; escaping=%s", Format(model.NameEscapingScheme.String()))) for _, ac := range goautoneg.ParseAccept(h.Get(hdrAccept)) { @@ -153,7 +151,7 @@ func NewEncoder(w io.Writer, format Format, options ...EncoderOption) Encoder { case TypeProtoDelim: return encoderCloser{ encode: func(v *dto.MetricFamily) error { - _, err := protodelim.MarshalTo(w, v) + _, err := protodelim.MarshalTo(w, model.EscapeMetricFamily(v, escapingScheme)) return err }, close: func() error { return nil }, diff --git a/vendor/github.com/prometheus/common/expfmt/expfmt.go b/vendor/github.com/prometheus/common/expfmt/expfmt.go index b26886560..c34c7de43 100644 --- a/vendor/github.com/prometheus/common/expfmt/expfmt.go +++ b/vendor/github.com/prometheus/common/expfmt/expfmt.go @@ -36,9 +36,11 @@ const ( ProtoType = `application/vnd.google.protobuf` ProtoProtocol = `io.prometheus.client.MetricFamily` // Deprecated: Use expfmt.NewFormat(expfmt.TypeProtoCompact) instead. - ProtoFmt = ProtoType + "; proto=" + ProtoProtocol + ";" - OpenMetricsType = `application/openmetrics-text` + ProtoFmt = ProtoType + "; proto=" + ProtoProtocol + ";" + OpenMetricsType = `application/openmetrics-text` + //nolint:revive // Allow for underscores. OpenMetricsVersion_0_0_1 = "0.0.1" + //nolint:revive // Allow for underscores. OpenMetricsVersion_1_0_0 = "1.0.0" // The Content-Type values for the different wire protocols. Do not do direct @@ -54,8 +56,10 @@ const ( // Deprecated: Use expfmt.NewFormat(expfmt.TypeProtoCompact) instead. FmtProtoCompact Format = ProtoFmt + ` encoding=compact-text` // Deprecated: Use expfmt.NewFormat(expfmt.TypeOpenMetrics) instead. + //nolint:revive // Allow for underscores. FmtOpenMetrics_1_0_0 Format = OpenMetricsType + `; version=` + OpenMetricsVersion_1_0_0 + `; charset=utf-8` // Deprecated: Use expfmt.NewFormat(expfmt.TypeOpenMetrics) instead. + //nolint:revive // Allow for underscores. FmtOpenMetrics_0_0_1 Format = OpenMetricsType + `; version=` + OpenMetricsVersion_0_0_1 + `; charset=utf-8` ) @@ -188,8 +192,8 @@ func (f Format) FormatType() FormatType { // Format contains a escaping=allow-utf-8 term, it will select NoEscaping. If a valid // "escaping" term exists, that will be used. Otherwise, the global default will // be returned. -func (format Format) ToEscapingScheme() model.EscapingScheme { - for _, p := range strings.Split(string(format), ";") { +func (f Format) ToEscapingScheme() model.EscapingScheme { + for _, p := range strings.Split(string(f), ";") { toks := strings.Split(p, "=") if len(toks) != 2 { continue diff --git a/vendor/github.com/prometheus/common/expfmt/fuzz.go b/vendor/github.com/prometheus/common/expfmt/fuzz.go index dfac962a4..0290f6abc 100644 --- a/vendor/github.com/prometheus/common/expfmt/fuzz.go +++ b/vendor/github.com/prometheus/common/expfmt/fuzz.go @@ -17,7 +17,11 @@ package expfmt -import "bytes" +import ( + "bytes" + + "github.com/prometheus/common/model" +) // Fuzz text metric parser with with github.com/dvyukov/go-fuzz: // @@ -26,9 +30,8 @@ import "bytes" // // Further input samples should go in the folder fuzz/corpus. func Fuzz(in []byte) int { - parser := TextParser{} + parser := NewTextParser(model.UTF8Validation) _, err := parser.TextToMetricFamilies(bytes.NewReader(in)) - if err != nil { return 0 } diff --git a/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go b/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go index a21ed4ec1..8dbf6d04e 100644 --- a/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go +++ b/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go @@ -22,11 +22,10 @@ import ( "strconv" "strings" + dto "github.com/prometheus/client_model/go" "google.golang.org/protobuf/types/known/timestamppb" "github.com/prometheus/common/model" - - dto "github.com/prometheus/client_model/go" ) type encoderOption struct { @@ -249,7 +248,7 @@ func MetricFamilyToOpenMetrics(out io.Writer, in *dto.MetricFamily, options ...E // Finally the samples, one line for each. if metricType == dto.MetricType_COUNTER && strings.HasSuffix(name, "_total") { - compliantName = compliantName + "_total" + compliantName += "_total" } for _, metric := range in.Metric { switch metricType { @@ -477,7 +476,7 @@ func writeOpenMetricsNameAndLabelPairs( if name != "" { // If the name does not pass the legacy validity check, we must put the // metric name inside the braces, quoted. - if !model.IsValidLegacyMetricName(name) { + if !model.LegacyValidation.IsValidMetricName(name) { metricInsideBraces = true err := w.WriteByte(separator) written++ @@ -641,11 +640,11 @@ func writeExemplar(w enhancedWriter, e *dto.Exemplar) (int, error) { if err != nil { return written, err } - err = (*e).Timestamp.CheckValid() + err = e.Timestamp.CheckValid() if err != nil { return written, err } - ts := (*e).Timestamp.AsTime() + ts := e.Timestamp.AsTime() // TODO(beorn7): Format this directly from components of ts to // avoid overflow/underflow and precision issues of the float // conversion. diff --git a/vendor/github.com/prometheus/common/expfmt/text_create.go b/vendor/github.com/prometheus/common/expfmt/text_create.go index 4b86434b3..c4e9c1bbc 100644 --- a/vendor/github.com/prometheus/common/expfmt/text_create.go +++ b/vendor/github.com/prometheus/common/expfmt/text_create.go @@ -22,9 +22,9 @@ import ( "strings" "sync" - "github.com/prometheus/common/model" - dto "github.com/prometheus/client_model/go" + + "github.com/prometheus/common/model" ) // enhancedWriter has all the enhanced write functions needed here. bufio.Writer @@ -354,7 +354,7 @@ func writeNameAndLabelPairs( if name != "" { // If the name does not pass the legacy validity check, we must put the // metric name inside the braces. - if !model.IsValidLegacyMetricName(name) { + if !model.LegacyValidation.IsValidMetricName(name) { metricInsideBraces = true err := w.WriteByte(separator) written++ @@ -498,7 +498,7 @@ func writeInt(w enhancedWriter, i int64) (int, error) { // writeName writes a string as-is if it complies with the legacy naming // scheme, or escapes it in double quotes if not. func writeName(w enhancedWriter, name string) (int, error) { - if model.IsValidLegacyMetricName(name) { + if model.LegacyValidation.IsValidMetricName(name) { return w.WriteString(name) } var written int diff --git a/vendor/github.com/prometheus/common/expfmt/text_parse.go b/vendor/github.com/prometheus/common/expfmt/text_parse.go index 4067978a1..8f2edde32 100644 --- a/vendor/github.com/prometheus/common/expfmt/text_parse.go +++ b/vendor/github.com/prometheus/common/expfmt/text_parse.go @@ -78,6 +78,14 @@ type TextParser struct { // These indicate if the metric name from the current line being parsed is inside // braces and if that metric name was found respectively. currentMetricIsInsideBraces, currentMetricInsideBracesIsPresent bool + // scheme sets the desired ValidationScheme for names. Defaults to the invalid + // UnsetValidation. + scheme model.ValidationScheme +} + +// NewTextParser returns a new TextParser with the provided nameValidationScheme. +func NewTextParser(nameValidationScheme model.ValidationScheme) TextParser { + return TextParser{scheme: nameValidationScheme} } // TextToMetricFamilies reads 'in' as the simple and flat text-based exchange @@ -126,6 +134,7 @@ func (p *TextParser) TextToMetricFamilies(in io.Reader) (map[string]*dto.MetricF func (p *TextParser) reset(in io.Reader) { p.metricFamiliesByName = map[string]*dto.MetricFamily{} + p.currentLabelPairs = nil if p.buf == nil { p.buf = bufio.NewReader(in) } else { @@ -216,6 +225,9 @@ func (p *TextParser) startComment() stateFn { return nil } p.setOrCreateCurrentMF() + if p.err != nil { + return nil + } if p.skipBlankTab(); p.err != nil { return nil // Unexpected end of input. } @@ -244,6 +256,9 @@ func (p *TextParser) readingMetricName() stateFn { return nil } p.setOrCreateCurrentMF() + if p.err != nil { + return nil + } // Now is the time to fix the type if it hasn't happened yet. if p.currentMF.Type == nil { p.currentMF.Type = dto.MetricType_UNTYPED.Enum() @@ -311,6 +326,9 @@ func (p *TextParser) startLabelName() stateFn { switch p.currentByte { case ',': p.setOrCreateCurrentMF() + if p.err != nil { + return nil + } if p.currentMF.Type == nil { p.currentMF.Type = dto.MetricType_UNTYPED.Enum() } @@ -319,6 +337,10 @@ func (p *TextParser) startLabelName() stateFn { return p.startLabelName case '}': p.setOrCreateCurrentMF() + if p.err != nil { + p.currentLabelPairs = nil + return nil + } if p.currentMF.Type == nil { p.currentMF.Type = dto.MetricType_UNTYPED.Enum() } @@ -341,6 +363,12 @@ func (p *TextParser) startLabelName() stateFn { p.currentLabelPair = &dto.LabelPair{Name: proto.String(p.currentToken.String())} if p.currentLabelPair.GetName() == string(model.MetricNameLabel) { p.parseError(fmt.Sprintf("label name %q is reserved", model.MetricNameLabel)) + p.currentLabelPairs = nil + return nil + } + if !p.scheme.IsValidLabelName(p.currentLabelPair.GetName()) { + p.parseError(fmt.Sprintf("invalid label name %q", p.currentLabelPair.GetName())) + p.currentLabelPairs = nil return nil } // Special summary/histogram treatment. Don't add 'quantile' and 'le' @@ -353,13 +381,12 @@ func (p *TextParser) startLabelName() stateFn { labels := make(map[string]struct{}) for _, l := range p.currentLabelPairs { lName := l.GetName() - if _, exists := labels[lName]; !exists { - labels[lName] = struct{}{} - } else { + if _, exists := labels[lName]; exists { p.parseError(fmt.Sprintf("duplicate label names for metric %q", p.currentMF.GetName())) p.currentLabelPairs = nil return nil } + labels[lName] = struct{}{} } return p.startLabelValue } @@ -440,7 +467,8 @@ func (p *TextParser) readingValue() stateFn { // When we are here, we have read all the labels, so for the // special case of a summary/histogram, we can finally find out // if the metric already exists. - if p.currentMF.GetType() == dto.MetricType_SUMMARY { + switch p.currentMF.GetType() { + case dto.MetricType_SUMMARY: signature := model.LabelsToSignature(p.currentLabels) if summary := p.summaries[signature]; summary != nil { p.currentMetric = summary @@ -448,7 +476,7 @@ func (p *TextParser) readingValue() stateFn { p.summaries[signature] = p.currentMetric p.currentMF.Metric = append(p.currentMF.Metric, p.currentMetric) } - } else if p.currentMF.GetType() == dto.MetricType_HISTOGRAM { + case dto.MetricType_HISTOGRAM: signature := model.LabelsToSignature(p.currentLabels) if histogram := p.histograms[signature]; histogram != nil { p.currentMetric = histogram @@ -456,7 +484,7 @@ func (p *TextParser) readingValue() stateFn { p.histograms[signature] = p.currentMetric p.currentMF.Metric = append(p.currentMF.Metric, p.currentMetric) } - } else { + default: p.currentMF.Metric = append(p.currentMF.Metric, p.currentMetric) } if p.readTokenUntilWhitespace(); p.err != nil { @@ -805,6 +833,10 @@ func (p *TextParser) setOrCreateCurrentMF() { p.currentIsHistogramCount = false p.currentIsHistogramSum = false name := p.currentToken.String() + if !p.scheme.IsValidMetricName(name) { + p.parseError(fmt.Sprintf("invalid metric name %q", name)) + return + } if p.currentMF = p.metricFamiliesByName[name]; p.currentMF != nil { return } diff --git a/vendor/github.com/prometheus/common/model/labels.go b/vendor/github.com/prometheus/common/model/labels.go index de83afe93..93498c9ec 100644 --- a/vendor/github.com/prometheus/common/model/labels.go +++ b/vendor/github.com/prometheus/common/model/labels.go @@ -16,9 +16,10 @@ package model import ( "encoding/json" "fmt" - "regexp" "strings" "unicode/utf8" + + "github.com/grafana/regexp" ) const ( @@ -32,6 +33,12 @@ const ( // MetricNameLabel is the label name indicating the metric name of a // timeseries. MetricNameLabel = "__name__" + // MetricTypeLabel is the label name indicating the metric type of + // timeseries as per the PROM-39 proposal. + MetricTypeLabel = "__type__" + // MetricUnitLabel is the label name indicating the metric unit of + // timeseries as per the PROM-39 proposal. + MetricUnitLabel = "__unit__" // SchemeLabel is the name of the label that holds the scheme on which to // scrape a target. @@ -100,34 +107,21 @@ type LabelName string // IsValid returns true iff the name matches the pattern of LabelNameRE when // NameValidationScheme is set to LegacyValidation, or valid UTF-8 if // NameValidationScheme is set to UTF8Validation. +// +// Deprecated: This method should not be used and may be removed in the future. +// Use [ValidationScheme.IsValidLabelName] instead. func (ln LabelName) IsValid() bool { - if len(ln) == 0 { - return false - } - switch NameValidationScheme { - case LegacyValidation: - return ln.IsValidLegacy() - case UTF8Validation: - return utf8.ValidString(string(ln)) - default: - panic(fmt.Sprintf("Invalid name validation scheme requested: %d", NameValidationScheme)) - } + return NameValidationScheme.IsValidLabelName(string(ln)) } // IsValidLegacy returns true iff name matches the pattern of LabelNameRE for // legacy names. It does not use LabelNameRE for the check but a much faster // hardcoded implementation. +// +// Deprecated: This method should not be used and may be removed in the future. +// Use [LegacyValidation.IsValidLabelName] instead. func (ln LabelName) IsValidLegacy() bool { - if len(ln) == 0 { - return false - } - for i, b := range ln { - // TODO: Apply De Morgan's law. Make sure there are tests for this. - if !((b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || b == '_' || (b >= '0' && b <= '9' && i > 0)) { //nolint:staticcheck - return false - } - } - return true + return LegacyValidation.IsValidLabelName(string(ln)) } // UnmarshalYAML implements the yaml.Unmarshaler interface. diff --git a/vendor/github.com/prometheus/common/model/labelset.go b/vendor/github.com/prometheus/common/model/labelset.go index d0ad88da3..9de47b256 100644 --- a/vendor/github.com/prometheus/common/model/labelset.go +++ b/vendor/github.com/prometheus/common/model/labelset.go @@ -114,10 +114,10 @@ func (ls LabelSet) Clone() LabelSet { } // Merge is a helper function to non-destructively merge two label sets. -func (l LabelSet) Merge(other LabelSet) LabelSet { - result := make(LabelSet, len(l)) +func (ls LabelSet) Merge(other LabelSet) LabelSet { + result := make(LabelSet, len(ls)) - for k, v := range l { + for k, v := range ls { result[k] = v } @@ -140,7 +140,7 @@ func (ls LabelSet) FastFingerprint() Fingerprint { } // UnmarshalJSON implements the json.Unmarshaler interface. -func (l *LabelSet) UnmarshalJSON(b []byte) error { +func (ls *LabelSet) UnmarshalJSON(b []byte) error { var m map[LabelName]LabelValue if err := json.Unmarshal(b, &m); err != nil { return err @@ -153,6 +153,6 @@ func (l *LabelSet) UnmarshalJSON(b []byte) error { return fmt.Errorf("%q is not a valid label name", ln) } } - *l = LabelSet(m) + *ls = LabelSet(m) return nil } diff --git a/vendor/github.com/prometheus/common/model/metric.go b/vendor/github.com/prometheus/common/model/metric.go index a6b01755b..f7f61c5d5 100644 --- a/vendor/github.com/prometheus/common/model/metric.go +++ b/vendor/github.com/prometheus/common/model/metric.go @@ -14,16 +14,18 @@ package model import ( + "encoding/json" "errors" "fmt" - "regexp" "sort" "strconv" "strings" "unicode/utf8" + "github.com/grafana/regexp" dto "github.com/prometheus/client_model/go" "google.golang.org/protobuf/proto" + "gopkg.in/yaml.v2" ) var ( @@ -62,16 +64,151 @@ var ( type ValidationScheme int const ( + // UnsetValidation represents an undefined ValidationScheme. + // Should not be used in practice. + UnsetValidation ValidationScheme = iota + // LegacyValidation is a setting that requires that all metric and label names // conform to the original Prometheus character requirements described by // MetricNameRE and LabelNameRE. - LegacyValidation ValidationScheme = iota + LegacyValidation // UTF8Validation only requires that metric and label names be valid UTF-8 // strings. UTF8Validation ) +var _ interface { + yaml.Marshaler + yaml.Unmarshaler + json.Marshaler + json.Unmarshaler + fmt.Stringer +} = new(ValidationScheme) + +// String returns the string representation of s. +func (s ValidationScheme) String() string { + switch s { + case UnsetValidation: + return "unset" + case LegacyValidation: + return "legacy" + case UTF8Validation: + return "utf8" + default: + panic(fmt.Errorf("unhandled ValidationScheme: %d", s)) + } +} + +// MarshalYAML implements the yaml.Marshaler interface. +func (s ValidationScheme) MarshalYAML() (any, error) { + switch s { + case UnsetValidation: + return "", nil + case LegacyValidation, UTF8Validation: + return s.String(), nil + default: + panic(fmt.Errorf("unhandled ValidationScheme: %d", s)) + } +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface. +func (s *ValidationScheme) UnmarshalYAML(unmarshal func(any) error) error { + var scheme string + if err := unmarshal(&scheme); err != nil { + return err + } + return s.Set(scheme) +} + +// MarshalJSON implements the json.Marshaler interface. +func (s ValidationScheme) MarshalJSON() ([]byte, error) { + switch s { + case UnsetValidation: + return json.Marshal("") + case UTF8Validation, LegacyValidation: + return json.Marshal(s.String()) + default: + return nil, fmt.Errorf("unhandled ValidationScheme: %d", s) + } +} + +// UnmarshalJSON implements the json.Unmarshaler interface. +func (s *ValidationScheme) UnmarshalJSON(bytes []byte) error { + var repr string + if err := json.Unmarshal(bytes, &repr); err != nil { + return err + } + return s.Set(repr) +} + +// Set implements the pflag.Value interface. +func (s *ValidationScheme) Set(text string) error { + switch text { + case "": + // Don't change the value. + case LegacyValidation.String(): + *s = LegacyValidation + case UTF8Validation.String(): + *s = UTF8Validation + default: + return fmt.Errorf("unrecognized ValidationScheme: %q", text) + } + return nil +} + +// IsValidMetricName returns whether metricName is valid according to s. +func (s ValidationScheme) IsValidMetricName(metricName string) bool { + switch s { + case LegacyValidation: + if len(metricName) == 0 { + return false + } + for i, b := range metricName { + if !isValidLegacyRune(b, i) { + return false + } + } + return true + case UTF8Validation: + if len(metricName) == 0 { + return false + } + return utf8.ValidString(metricName) + default: + panic(fmt.Sprintf("Invalid name validation scheme requested: %s", s.String())) + } +} + +// IsValidLabelName returns whether labelName is valid according to s. +func (s ValidationScheme) IsValidLabelName(labelName string) bool { + switch s { + case LegacyValidation: + if len(labelName) == 0 { + return false + } + for i, b := range labelName { + // TODO: Apply De Morgan's law. Make sure there are tests for this. + if !((b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || b == '_' || (b >= '0' && b <= '9' && i > 0)) { //nolint:staticcheck + return false + } + } + return true + case UTF8Validation: + if len(labelName) == 0 { + return false + } + return utf8.ValidString(labelName) + default: + panic(fmt.Sprintf("Invalid name validation scheme requested: %s", s)) + } +} + +// Type implements the pflag.Value interface. +func (ValidationScheme) Type() string { + return "validationScheme" +} + type EscapingScheme int const ( @@ -101,7 +238,7 @@ const ( // Accept header, the default NameEscapingScheme will be used. EscapingKey = "escaping" - // Possible values for Escaping Key: + // Possible values for Escaping Key. AllowUTF8 = "allow-utf-8" // No escaping required. EscapeUnderscores = "underscores" EscapeDots = "dots" @@ -175,34 +312,22 @@ func (m Metric) FastFingerprint() Fingerprint { // IsValidMetricName returns true iff name matches the pattern of MetricNameRE // for legacy names, and iff it's valid UTF-8 if the UTF8Validation scheme is // selected. +// +// Deprecated: This function should not be used and might be removed in the future. +// Use [ValidationScheme.IsValidMetricName] instead. func IsValidMetricName(n LabelValue) bool { - switch NameValidationScheme { - case LegacyValidation: - return IsValidLegacyMetricName(string(n)) - case UTF8Validation: - if len(n) == 0 { - return false - } - return utf8.ValidString(string(n)) - default: - panic(fmt.Sprintf("Invalid name validation scheme requested: %d", NameValidationScheme)) - } + return NameValidationScheme.IsValidMetricName(string(n)) } // IsValidLegacyMetricName is similar to IsValidMetricName but always uses the // legacy validation scheme regardless of the value of NameValidationScheme. // This function, however, does not use MetricNameRE for the check but a much // faster hardcoded implementation. +// +// Deprecated: This function should not be used and might be removed in the future. +// Use [LegacyValidation.IsValidMetricName] instead. func IsValidLegacyMetricName(n string) bool { - if len(n) == 0 { - return false - } - for i, b := range n { - if !isValidLegacyRune(b, i) { - return false - } - } - return true + return LegacyValidation.IsValidMetricName(n) } // EscapeMetricFamily escapes the given metric names and labels with the given @@ -310,13 +435,14 @@ func EscapeName(name string, scheme EscapingScheme) string { case DotsEscaping: // Do not early return for legacy valid names, we still escape underscores. for i, b := range name { - if b == '_' { + switch { + case b == '_': escaped.WriteString("__") - } else if b == '.' { + case b == '.': escaped.WriteString("_dot_") - } else if isValidLegacyRune(b, i) { + case isValidLegacyRune(b, i): escaped.WriteRune(b) - } else { + default: escaped.WriteString("__") } } @@ -327,13 +453,14 @@ func EscapeName(name string, scheme EscapingScheme) string { } escaped.WriteString("U__") for i, b := range name { - if b == '_' { + switch { + case b == '_': escaped.WriteString("__") - } else if isValidLegacyRune(b, i) { + case isValidLegacyRune(b, i): escaped.WriteRune(b) - } else if !utf8.ValidRune(b) { + case !utf8.ValidRune(b): escaped.WriteString("_FFFD_") - } else { + default: escaped.WriteRune('_') escaped.WriteString(strconv.FormatInt(int64(b), 16)) escaped.WriteRune('_') @@ -345,7 +472,7 @@ func EscapeName(name string, scheme EscapingScheme) string { } } -// lower function taken from strconv.atoi +// lower function taken from strconv.atoi. func lower(c byte) byte { return c | ('x' - 'X') } @@ -409,11 +536,12 @@ func UnescapeName(name string, scheme EscapingScheme) string { } r := lower(escapedName[i]) utf8Val *= 16 - if r >= '0' && r <= '9' { + switch { + case r >= '0' && r <= '9': utf8Val += uint(r) - '0' - } else if r >= 'a' && r <= 'f' { + case r >= 'a' && r <= 'f': utf8Val += uint(r) - 'a' + 10 - } else { + default: return name } i++ diff --git a/vendor/github.com/prometheus/common/model/silence.go b/vendor/github.com/prometheus/common/model/silence.go index 8f91a9702..8c51dbaac 100644 --- a/vendor/github.com/prometheus/common/model/silence.go +++ b/vendor/github.com/prometheus/common/model/silence.go @@ -17,8 +17,9 @@ import ( "encoding/json" "errors" "fmt" - "regexp" "time" + + "github.com/grafana/regexp" ) // Matcher describes a matches the value of a given label. diff --git a/vendor/github.com/prometheus/common/model/time.go b/vendor/github.com/prometheus/common/model/time.go index fed9e87b9..1730b0fdc 100644 --- a/vendor/github.com/prometheus/common/model/time.go +++ b/vendor/github.com/prometheus/common/model/time.go @@ -126,14 +126,14 @@ func (t *Time) UnmarshalJSON(b []byte) error { p := strings.Split(string(b), ".") switch len(p) { case 1: - v, err := strconv.ParseInt(string(p[0]), 10, 64) + v, err := strconv.ParseInt(p[0], 10, 64) if err != nil { return err } *t = Time(v * second) case 2: - v, err := strconv.ParseInt(string(p[0]), 10, 64) + v, err := strconv.ParseInt(p[0], 10, 64) if err != nil { return err } @@ -143,7 +143,7 @@ func (t *Time) UnmarshalJSON(b []byte) error { if prec < 0 { p[1] = p[1][:dotPrecision] } else if prec > 0 { - p[1] = p[1] + strings.Repeat("0", prec) + p[1] += strings.Repeat("0", prec) } va, err := strconv.ParseInt(p[1], 10, 32) @@ -170,15 +170,15 @@ func (t *Time) UnmarshalJSON(b []byte) error { // This type should not propagate beyond the scope of input/output processing. type Duration time.Duration -// Set implements pflag/flag.Value +// Set implements pflag/flag.Value. func (d *Duration) Set(s string) error { var err error *d, err = ParseDuration(s) return err } -// Type implements pflag.Value -func (d *Duration) Type() string { +// Type implements pflag.Value. +func (*Duration) Type() string { return "duration" } diff --git a/vendor/github.com/prometheus/common/model/value.go b/vendor/github.com/prometheus/common/model/value.go index 8050637d8..a9995a37e 100644 --- a/vendor/github.com/prometheus/common/model/value.go +++ b/vendor/github.com/prometheus/common/model/value.go @@ -191,7 +191,8 @@ func (ss SampleStream) String() string { } func (ss SampleStream) MarshalJSON() ([]byte, error) { - if len(ss.Histograms) > 0 && len(ss.Values) > 0 { + switch { + case len(ss.Histograms) > 0 && len(ss.Values) > 0: v := struct { Metric Metric `json:"metric"` Values []SamplePair `json:"values"` @@ -202,7 +203,7 @@ func (ss SampleStream) MarshalJSON() ([]byte, error) { Histograms: ss.Histograms, } return json.Marshal(&v) - } else if len(ss.Histograms) > 0 { + case len(ss.Histograms) > 0: v := struct { Metric Metric `json:"metric"` Histograms []SampleHistogramPair `json:"histograms"` @@ -211,7 +212,7 @@ func (ss SampleStream) MarshalJSON() ([]byte, error) { Histograms: ss.Histograms, } return json.Marshal(&v) - } else { + default: v := struct { Metric Metric `json:"metric"` Values []SamplePair `json:"values"` @@ -258,7 +259,7 @@ func (s Scalar) String() string { // MarshalJSON implements json.Marshaler. func (s Scalar) MarshalJSON() ([]byte, error) { v := strconv.FormatFloat(float64(s.Value), 'f', -1, 64) - return json.Marshal([...]interface{}{s.Timestamp, string(v)}) + return json.Marshal([...]interface{}{s.Timestamp, v}) } // UnmarshalJSON implements json.Unmarshaler. @@ -349,9 +350,9 @@ func (m Matrix) Len() int { return len(m) } func (m Matrix) Less(i, j int) bool { return m[i].Metric.Before(m[j].Metric) } func (m Matrix) Swap(i, j int) { m[i], m[j] = m[j], m[i] } -func (mat Matrix) String() string { - matCp := make(Matrix, len(mat)) - copy(matCp, mat) +func (m Matrix) String() string { + matCp := make(Matrix, len(m)) + copy(matCp, m) sort.Sort(matCp) strs := make([]string, len(matCp)) diff --git a/vendor/github.com/prometheus/common/model/value_histogram.go b/vendor/github.com/prometheus/common/model/value_histogram.go index 895e6a3e8..91ce5b7a4 100644 --- a/vendor/github.com/prometheus/common/model/value_histogram.go +++ b/vendor/github.com/prometheus/common/model/value_histogram.go @@ -86,22 +86,22 @@ func (s *HistogramBucket) Equal(o *HistogramBucket) bool { return s == o || (s.Boundaries == o.Boundaries && s.Lower == o.Lower && s.Upper == o.Upper && s.Count == o.Count) } -func (b HistogramBucket) String() string { +func (s HistogramBucket) String() string { var sb strings.Builder - lowerInclusive := b.Boundaries == 1 || b.Boundaries == 3 - upperInclusive := b.Boundaries == 0 || b.Boundaries == 3 + lowerInclusive := s.Boundaries == 1 || s.Boundaries == 3 + upperInclusive := s.Boundaries == 0 || s.Boundaries == 3 if lowerInclusive { sb.WriteRune('[') } else { sb.WriteRune('(') } - fmt.Fprintf(&sb, "%g,%g", b.Lower, b.Upper) + fmt.Fprintf(&sb, "%g,%g", s.Lower, s.Upper) if upperInclusive { sb.WriteRune(']') } else { sb.WriteRune(')') } - fmt.Fprintf(&sb, ":%v", b.Count) + fmt.Fprintf(&sb, ":%v", s.Count) return sb.String() } diff --git a/vendor/github.com/prometheus/common/model/value_type.go b/vendor/github.com/prometheus/common/model/value_type.go index 726c50ee6..078910f46 100644 --- a/vendor/github.com/prometheus/common/model/value_type.go +++ b/vendor/github.com/prometheus/common/model/value_type.go @@ -66,8 +66,8 @@ func (et *ValueType) UnmarshalJSON(b []byte) error { return nil } -func (e ValueType) String() string { - switch e { +func (et ValueType) String() string { + switch et { case ValNone: return "" case ValScalar: diff --git a/vendor/github.com/prometheus/procfs/Makefile.common b/vendor/github.com/prometheus/procfs/Makefile.common index 0ed55c2ba..4de21512f 100644 --- a/vendor/github.com/prometheus/procfs/Makefile.common +++ b/vendor/github.com/prometheus/procfs/Makefile.common @@ -33,7 +33,7 @@ GOHOSTOS ?= $(shell $(GO) env GOHOSTOS) GOHOSTARCH ?= $(shell $(GO) env GOHOSTARCH) GO_VERSION ?= $(shell $(GO) version) -GO_VERSION_NUMBER ?= $(word 3, $(GO_VERSION))Error Parsing File +GO_VERSION_NUMBER ?= $(word 3, $(GO_VERSION)) PRE_GO_111 ?= $(shell echo $(GO_VERSION_NUMBER) | grep -E 'go1\.(10|[0-9])\.') PROMU := $(FIRST_GOPATH)/bin/promu @@ -61,7 +61,8 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v2.0.2 +GOLANGCI_LINT_VERSION ?= v2.1.5 +GOLANGCI_FMT_OPTS ?= # golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) @@ -156,9 +157,13 @@ $(GOTEST_DIR): @mkdir -p $@ .PHONY: common-format -common-format: +common-format: $(GOLANGCI_LINT) @echo ">> formatting code" $(GO) fmt $(pkgs) +ifdef GOLANGCI_LINT + @echo ">> formatting code with golangci-lint" + $(GOLANGCI_LINT) fmt $(GOLANGCI_FMT_OPTS) +endif .PHONY: common-vet common-vet: @@ -248,8 +253,8 @@ $(PROMU): cp $(PROMU_TMP)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM)/promu $(FIRST_GOPATH)/bin/promu rm -r $(PROMU_TMP) -.PHONY: proto -proto: +.PHONY: common-proto +common-proto: @echo ">> generating code from proto files" @./scripts/genproto.sh diff --git a/vendor/github.com/prometheus/procfs/mdstat.go b/vendor/github.com/prometheus/procfs/mdstat.go index 67a9d2b44..1fd4381b2 100644 --- a/vendor/github.com/prometheus/procfs/mdstat.go +++ b/vendor/github.com/prometheus/procfs/mdstat.go @@ -123,13 +123,16 @@ func parseMDStat(mdStatData []byte) ([]MDStat, error) { finish := float64(0) pct := float64(0) recovering := strings.Contains(lines[syncLineIdx], "recovery") + reshaping := strings.Contains(lines[syncLineIdx], "reshape") resyncing := strings.Contains(lines[syncLineIdx], "resync") checking := strings.Contains(lines[syncLineIdx], "check") // Append recovery and resyncing state info. - if recovering || resyncing || checking { + if recovering || resyncing || checking || reshaping { if recovering { state = "recovering" + } else if reshaping { + state = "reshaping" } else if checking { state = "checking" } else { diff --git a/vendor/github.com/prometheus/procfs/meminfo.go b/vendor/github.com/prometheus/procfs/meminfo.go index 4b2c4050a..937e1f960 100644 --- a/vendor/github.com/prometheus/procfs/meminfo.go +++ b/vendor/github.com/prometheus/procfs/meminfo.go @@ -66,6 +66,10 @@ type Meminfo struct { // Memory which has been evicted from RAM, and is temporarily // on the disk SwapFree *uint64 + // Memory consumed by the zswap backend (compressed size) + Zswap *uint64 + // Amount of anonymous memory stored in zswap (original size) + Zswapped *uint64 // Memory which is waiting to get written back to the disk Dirty *uint64 // Memory which is actively being written back to the disk @@ -85,6 +89,8 @@ type Meminfo struct { // amount of memory dedicated to the lowest level of page // tables. PageTables *uint64 + // secondary page tables. + SecPageTables *uint64 // NFS pages sent to the server, but not yet committed to // stable storage NFSUnstable *uint64 @@ -129,15 +135,18 @@ type Meminfo struct { Percpu *uint64 HardwareCorrupted *uint64 AnonHugePages *uint64 + FileHugePages *uint64 ShmemHugePages *uint64 ShmemPmdMapped *uint64 CmaTotal *uint64 CmaFree *uint64 + Unaccepted *uint64 HugePagesTotal *uint64 HugePagesFree *uint64 HugePagesRsvd *uint64 HugePagesSurp *uint64 Hugepagesize *uint64 + Hugetlb *uint64 DirectMap4k *uint64 DirectMap2M *uint64 DirectMap1G *uint64 @@ -161,6 +170,8 @@ type Meminfo struct { MlockedBytes *uint64 SwapTotalBytes *uint64 SwapFreeBytes *uint64 + ZswapBytes *uint64 + ZswappedBytes *uint64 DirtyBytes *uint64 WritebackBytes *uint64 AnonPagesBytes *uint64 @@ -171,6 +182,7 @@ type Meminfo struct { SUnreclaimBytes *uint64 KernelStackBytes *uint64 PageTablesBytes *uint64 + SecPageTablesBytes *uint64 NFSUnstableBytes *uint64 BounceBytes *uint64 WritebackTmpBytes *uint64 @@ -182,11 +194,14 @@ type Meminfo struct { PercpuBytes *uint64 HardwareCorruptedBytes *uint64 AnonHugePagesBytes *uint64 + FileHugePagesBytes *uint64 ShmemHugePagesBytes *uint64 ShmemPmdMappedBytes *uint64 CmaTotalBytes *uint64 CmaFreeBytes *uint64 + UnacceptedBytes *uint64 HugepagesizeBytes *uint64 + HugetlbBytes *uint64 DirectMap4kBytes *uint64 DirectMap2MBytes *uint64 DirectMap1GBytes *uint64 @@ -287,6 +302,12 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "SwapFree:": m.SwapFree = &val m.SwapFreeBytes = &valBytes + case "Zswap:": + m.Zswap = &val + m.ZswapBytes = &valBytes + case "Zswapped:": + m.Zswapped = &val + m.ZswapBytes = &valBytes case "Dirty:": m.Dirty = &val m.DirtyBytes = &valBytes @@ -317,6 +338,9 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "PageTables:": m.PageTables = &val m.PageTablesBytes = &valBytes + case "SecPageTables:": + m.SecPageTables = &val + m.SecPageTablesBytes = &valBytes case "NFS_Unstable:": m.NFSUnstable = &val m.NFSUnstableBytes = &valBytes @@ -350,6 +374,9 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "AnonHugePages:": m.AnonHugePages = &val m.AnonHugePagesBytes = &valBytes + case "FileHugePages:": + m.FileHugePages = &val + m.FileHugePagesBytes = &valBytes case "ShmemHugePages:": m.ShmemHugePages = &val m.ShmemHugePagesBytes = &valBytes @@ -362,6 +389,9 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "CmaFree:": m.CmaFree = &val m.CmaFreeBytes = &valBytes + case "Unaccepted:": + m.Unaccepted = &val + m.UnacceptedBytes = &valBytes case "HugePages_Total:": m.HugePagesTotal = &val case "HugePages_Free:": @@ -373,6 +403,9 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "Hugepagesize:": m.Hugepagesize = &val m.HugepagesizeBytes = &valBytes + case "Hugetlb:": + m.Hugetlb = &val + m.HugetlbBytes = &valBytes case "DirectMap4k:": m.DirectMap4k = &val m.DirectMap4kBytes = &valBytes diff --git a/vendor/github.com/prometheus/procfs/proc_stat.go b/vendor/github.com/prometheus/procfs/proc_stat.go index 06a8d931c..3328556bd 100644 --- a/vendor/github.com/prometheus/procfs/proc_stat.go +++ b/vendor/github.com/prometheus/procfs/proc_stat.go @@ -101,6 +101,12 @@ type ProcStat struct { RSS int // Soft limit in bytes on the rss of the process. RSSLimit uint64 + // The address above which program text can run. + StartCode uint64 + // The address below which program text can run. + EndCode uint64 + // The address of the start (i.e., bottom) of the stack. + StartStack uint64 // CPU number last executed on. Processor uint // Real-time scheduling priority, a number in the range 1 to 99 for processes @@ -177,9 +183,9 @@ func (p Proc) Stat() (ProcStat, error) { &s.VSize, &s.RSS, &s.RSSLimit, - &ignoreUint64, - &ignoreUint64, - &ignoreUint64, + &s.StartCode, + &s.EndCode, + &s.StartStack, &ignoreUint64, &ignoreUint64, &ignoreUint64, diff --git a/vendor/github.com/prometheus/procfs/proc_statm.go b/vendor/github.com/prometheus/procfs/proc_statm.go new file mode 100644 index 000000000..ed5798424 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_statm.go @@ -0,0 +1,116 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "os" + "strconv" + "strings" + + "github.com/prometheus/procfs/internal/util" +) + +// - https://man7.org/linux/man-pages/man5/proc_pid_statm.5.html + +// ProcStatm Provides memory usage information for a process, measured in memory pages. +// Read from /proc/[pid]/statm. +type ProcStatm struct { + // The process ID. + PID int + // total program size (same as VmSize in status) + Size uint64 + // resident set size (same as VmRSS in status) + Resident uint64 + // number of resident shared pages (i.e., backed by a file) + Shared uint64 + // text (code) + Text uint64 + // library (unused since Linux 2.6; always 0) + Lib uint64 + // data + stack + Data uint64 + // dirty pages (unused since Linux 2.6; always 0) + Dt uint64 +} + +// NewStatm returns the current status information of the process. +// Deprecated: Use p.Statm() instead. +func (p Proc) NewStatm() (ProcStatm, error) { + return p.Statm() +} + +// Statm returns the current memory usage information of the process. +func (p Proc) Statm() (ProcStatm, error) { + data, err := util.ReadFileNoStat(p.path("statm")) + if err != nil { + return ProcStatm{}, err + } + + statmSlice, err := parseStatm(data) + if err != nil { + return ProcStatm{}, err + } + + procStatm := ProcStatm{ + PID: p.PID, + Size: statmSlice[0], + Resident: statmSlice[1], + Shared: statmSlice[2], + Text: statmSlice[3], + Lib: statmSlice[4], + Data: statmSlice[5], + Dt: statmSlice[6], + } + + return procStatm, nil +} + +// parseStatm return /proc/[pid]/statm data to uint64 slice. +func parseStatm(data []byte) ([]uint64, error) { + var statmSlice []uint64 + statmItems := strings.Fields(string(data)) + for i := 0; i < len(statmItems); i++ { + statmItem, err := strconv.ParseUint(statmItems[i], 10, 64) + if err != nil { + return nil, err + } + statmSlice = append(statmSlice, statmItem) + } + return statmSlice, nil +} + +// SizeBytes returns the process of total program size in bytes. +func (s ProcStatm) SizeBytes() uint64 { + return s.Size * uint64(os.Getpagesize()) +} + +// ResidentBytes returns the process of resident set size in bytes. +func (s ProcStatm) ResidentBytes() uint64 { + return s.Resident * uint64(os.Getpagesize()) +} + +// SHRBytes returns the process of share memory size in bytes. +func (s ProcStatm) SHRBytes() uint64 { + return s.Shared * uint64(os.Getpagesize()) +} + +// TextBytes returns the process of text (code) size in bytes. +func (s ProcStatm) TextBytes() uint64 { + return s.Text * uint64(os.Getpagesize()) +} + +// DataBytes returns the process of data + stack size in bytes. +func (s ProcStatm) DataBytes() uint64 { + return s.Data * uint64(os.Getpagesize()) +} diff --git a/vendor/github.com/prometheus/prometheus/model/histogram/float_histogram.go b/vendor/github.com/prometheus/prometheus/model/histogram/float_histogram.go index e5519a56d..92f084bdf 100644 --- a/vendor/github.com/prometheus/prometheus/model/histogram/float_histogram.go +++ b/vendor/github.com/prometheus/prometheus/model/histogram/float_histogram.go @@ -73,10 +73,8 @@ func (h *FloatHistogram) Copy() *FloatHistogram { } if h.UsesCustomBuckets() { - if len(h.CustomValues) != 0 { - c.CustomValues = make([]float64, len(h.CustomValues)) - copy(c.CustomValues, h.CustomValues) - } + // Custom values are interned, so no need to copy them. + c.CustomValues = h.CustomValues } else { c.ZeroThreshold = h.ZeroThreshold c.ZeroCount = h.ZeroCount @@ -117,9 +115,8 @@ func (h *FloatHistogram) CopyTo(to *FloatHistogram) { to.NegativeSpans = clearIfNotNil(to.NegativeSpans) to.NegativeBuckets = clearIfNotNil(to.NegativeBuckets) - - to.CustomValues = resize(to.CustomValues, len(h.CustomValues)) - copy(to.CustomValues, h.CustomValues) + // Custom values are interned, so no need to copy them. + to.CustomValues = h.CustomValues } else { to.ZeroThreshold = h.ZeroThreshold to.ZeroCount = h.ZeroCount @@ -130,7 +127,8 @@ func (h *FloatHistogram) CopyTo(to *FloatHistogram) { to.NegativeBuckets = resize(to.NegativeBuckets, len(h.NegativeBuckets)) copy(to.NegativeBuckets, h.NegativeBuckets) - to.CustomValues = clearIfNotNil(to.CustomValues) + // Custom values are interned, so no need to reset them. + to.CustomValues = nil } to.PositiveSpans = resize(to.PositiveSpans, len(h.PositiveSpans)) @@ -1016,7 +1014,7 @@ type floatBucketIterator struct { func (i *floatBucketIterator) At() Bucket[float64] { // Need to use i.targetSchema rather than i.baseBucketIterator.schema. - return i.baseBucketIterator.at(i.targetSchema) + return i.at(i.targetSchema) } func (i *floatBucketIterator) Next() bool { diff --git a/vendor/github.com/prometheus/prometheus/model/histogram/histogram.go b/vendor/github.com/prometheus/prometheus/model/histogram/histogram.go index 778aefe28..cfb63e634 100644 --- a/vendor/github.com/prometheus/prometheus/model/histogram/histogram.go +++ b/vendor/github.com/prometheus/prometheus/model/histogram/histogram.go @@ -102,10 +102,8 @@ func (h *Histogram) Copy() *Histogram { } if h.UsesCustomBuckets() { - if len(h.CustomValues) != 0 { - c.CustomValues = make([]float64, len(h.CustomValues)) - copy(c.CustomValues, h.CustomValues) - } + // Custom values are interned, it's ok to copy by reference. + c.CustomValues = h.CustomValues } else { c.ZeroThreshold = h.ZeroThreshold c.ZeroCount = h.ZeroCount @@ -146,9 +144,8 @@ func (h *Histogram) CopyTo(to *Histogram) { to.NegativeSpans = clearIfNotNil(to.NegativeSpans) to.NegativeBuckets = clearIfNotNil(to.NegativeBuckets) - - to.CustomValues = resize(to.CustomValues, len(h.CustomValues)) - copy(to.CustomValues, h.CustomValues) + // Custom values are interned, it's ok to copy by reference. + to.CustomValues = h.CustomValues } else { to.ZeroThreshold = h.ZeroThreshold to.ZeroCount = h.ZeroCount @@ -158,8 +155,8 @@ func (h *Histogram) CopyTo(to *Histogram) { to.NegativeBuckets = resize(to.NegativeBuckets, len(h.NegativeBuckets)) copy(to.NegativeBuckets, h.NegativeBuckets) - - to.CustomValues = clearIfNotNil(to.CustomValues) + // Custom values are interned, no need to reset. + to.CustomValues = nil } to.PositiveSpans = resize(to.PositiveSpans, len(h.PositiveSpans)) @@ -379,9 +376,8 @@ func (h *Histogram) ToFloat(fh *FloatHistogram) *FloatHistogram { fh.ZeroCount = 0 fh.NegativeSpans = clearIfNotNil(fh.NegativeSpans) fh.NegativeBuckets = clearIfNotNil(fh.NegativeBuckets) - - fh.CustomValues = resize(fh.CustomValues, len(h.CustomValues)) - copy(fh.CustomValues, h.CustomValues) + // Custom values are interned, it's ok to copy by reference. + fh.CustomValues = h.CustomValues } else { fh.ZeroThreshold = h.ZeroThreshold fh.ZeroCount = float64(h.ZeroCount) @@ -395,7 +391,8 @@ func (h *Histogram) ToFloat(fh *FloatHistogram) *FloatHistogram { currentNegative += float64(b) fh.NegativeBuckets[i] = currentNegative } - fh.CustomValues = clearIfNotNil(fh.CustomValues) + // Custom values are interned, no need to reset. + fh.CustomValues = nil } fh.PositiveSpans = resize(fh.PositiveSpans, len(h.PositiveSpans)) diff --git a/vendor/github.com/prometheus/prometheus/model/labels/labels.go b/vendor/github.com/prometheus/prometheus/model/labels/labels.go index ed66d73cb..2e8dc52cb 100644 --- a/vendor/github.com/prometheus/prometheus/model/labels/labels.go +++ b/vendor/github.com/prometheus/prometheus/model/labels/labels.go @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !stringlabels && !dedupelabels +//go:build slicelabels package labels @@ -32,8 +32,8 @@ func (ls Labels) Len() int { return len(ls) } func (ls Labels) Swap(i, j int) { ls[i], ls[j] = ls[j], ls[i] } func (ls Labels) Less(i, j int) bool { return ls[i].Name < ls[j].Name } -// Bytes returns ls as a byte slice. -// It uses an byte invalid character as a separator and so should not be used for printing. +// Bytes returns an opaque, not-human-readable, encoding of ls, usable as a map key. +// Encoding may change over time or between runs of Prometheus. func (ls Labels) Bytes(buf []byte) []byte { b := bytes.NewBuffer(buf[:0]) b.WriteByte(labelSep) @@ -336,16 +336,29 @@ func (ls Labels) Validate(f func(l Label) error) error { return nil } -// DropMetricName returns Labels with "__name__" removed. +// DropMetricName returns Labels with the "__name__" removed. +// Deprecated: Use DropReserved instead. func (ls Labels) DropMetricName() Labels { + return ls.DropReserved(func(n string) bool { return n == MetricName }) +} + +// DropReserved returns Labels without the chosen (via shouldDropFn) reserved (starting with underscore) labels. +func (ls Labels) DropReserved(shouldDropFn func(name string) bool) Labels { + rm := 0 for i, l := range ls { - if l.Name == MetricName { + if l.Name[0] > '_' { // Stop looking if we've gone past special labels. + break + } + if shouldDropFn(l.Name) { + i := i - rm // Offsetting after removals. if i == 0 { // Make common case fast with no allocations. - return ls[1:] + ls = ls[1:] + } else { + // Avoid modifying original Labels - use [:i:i] so that left slice would not + // have any spare capacity and append would have to allocate a new slice for the result. + ls = append(ls[:i:i], ls[i+1:]...) } - // Avoid modifying original Labels - use [:i:i] so that left slice would not - // have any spare capacity and append would have to allocate a new slice for the result. - return append(ls[:i:i], ls[i+1:]...) + rm++ } } return ls @@ -453,7 +466,7 @@ func (b *ScratchBuilder) Add(name, value string) { } // UnsafeAddBytes adds a name/value pair, using []byte instead of string. -// The '-tags stringlabels' version of this function is unsafe, hence the name. +// The default version of this function is unsafe, hence the name. // This version is safe - it copies the strings immediately - but we keep the same name so everything compiles. func (b *ScratchBuilder) UnsafeAddBytes(name, value []byte) { b.add = append(b.add, Label{Name: string(name), Value: string(value)}) diff --git a/vendor/github.com/prometheus/prometheus/model/labels/labels_common.go b/vendor/github.com/prometheus/prometheus/model/labels/labels_common.go index 005eaa509..5f46d6c35 100644 --- a/vendor/github.com/prometheus/prometheus/model/labels/labels_common.go +++ b/vendor/github.com/prometheus/prometheus/model/labels/labels_common.go @@ -24,10 +24,12 @@ import ( ) const ( - MetricName = "__name__" - AlertName = "alertname" - BucketLabel = "le" - InstanceName = "instance" + // MetricName is a special label name that represent a metric name. + // Deprecated: Use schema.Metadata structure and its methods. + MetricName = "__name__" + + AlertName = "alertname" + BucketLabel = "le" labelSep = '\xfe' // Used at beginning of `Bytes` return. sep = '\xff' // Used between labels in `Bytes` and `Hash`. @@ -35,7 +37,7 @@ const ( var seps = []byte{sep} // Used with Hash, which has no WriteByte method. -// Label is a key/value pair of strings. +// Label is a key/value a pair of strings. type Label struct { Name, Value string } @@ -167,10 +169,8 @@ func (b *Builder) Del(ns ...string) *Builder { // Keep removes all labels from the base except those with the given names. func (b *Builder) Keep(ns ...string) *Builder { b.base.Range(func(l Label) { - for _, n := range ns { - if l.Name == n { - return - } + if slices.Contains(ns, l.Name) { + return } b.del = append(b.del, l.Name) }) diff --git a/vendor/github.com/prometheus/prometheus/model/labels/labels_dedupelabels.go b/vendor/github.com/prometheus/prometheus/model/labels/labels_dedupelabels.go index a0d83e004..64e0a69b8 100644 --- a/vendor/github.com/prometheus/prometheus/model/labels/labels_dedupelabels.go +++ b/vendor/github.com/prometheus/prometheus/model/labels/labels_dedupelabels.go @@ -140,8 +140,8 @@ func decodeString(t *nameTable, data string, index int) (string, int) { return t.ToName(num), index } -// Bytes returns ls as a byte slice. -// It uses non-printing characters and so should not be used for printing. +// Bytes returns an opaque, not-human-readable, encoding of ls, usable as a map key. +// Encoding may change over time or between runs of Prometheus. func (ls Labels) Bytes(buf []byte) []byte { b := bytes.NewBuffer(buf[:0]) for i := 0; i < len(ls.data); { @@ -554,20 +554,27 @@ func (ls Labels) ReleaseStrings(release func(string)) { // TODO: remove these calls as there is nothing to do. } -// DropMetricName returns Labels with "__name__" removed. +// DropMetricName returns Labels with the "__name__" removed. +// Deprecated: Use DropReserved instead. func (ls Labels) DropMetricName() Labels { + return ls.DropReserved(func(n string) bool { return n == MetricName }) +} + +// DropReserved returns Labels without the chosen (via shouldDropFn) reserved (starting with underscore) labels. +func (ls Labels) DropReserved(shouldDropFn func(name string) bool) Labels { for i := 0; i < len(ls.data); { lName, i2 := decodeString(ls.syms, ls.data, i) _, i2 = decodeVarint(ls.data, i2) - if lName == MetricName { + if lName[0] > '_' { // Stop looking if we've gone past special labels. + break + } + if shouldDropFn(lName) { if i == 0 { // Make common case fast with no allocations. ls.data = ls.data[i2:] } else { ls.data = ls.data[:i] + ls.data[i2:] } - break - } else if lName[0] > MetricName[0] { // Stop looking if we've gone past. - break + continue } i = i2 } diff --git a/vendor/github.com/prometheus/prometheus/model/labels/labels_stringlabels.go b/vendor/github.com/prometheus/prometheus/model/labels/labels_stringlabels.go index f49ed96f6..a2b16cac7 100644 --- a/vendor/github.com/prometheus/prometheus/model/labels/labels_stringlabels.go +++ b/vendor/github.com/prometheus/prometheus/model/labels/labels_stringlabels.go @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build stringlabels +//go:build !slicelabels && !dedupelabels package labels @@ -24,31 +24,25 @@ import ( ) // Labels is implemented by a single flat string holding name/value pairs. -// Each name and value is preceded by its length in varint encoding. +// Each name and value is preceded by its length, encoded as a single byte +// for size 0-254, or the following 3 bytes little-endian, if the first byte is 255. +// Maximum length allowed is 2^24 or 16MB. // Names are in order. type Labels struct { data string } func decodeSize(data string, index int) (int, int) { - // Fast-path for common case of a single byte, value 0..127. b := data[index] index++ - if b < 0x80 { - return int(b), index - } - size := int(b & 0x7F) - for shift := uint(7); ; shift += 7 { + if b == 255 { + // Larger numbers are encoded as 3 bytes little-endian. // Just panic if we go of the end of data, since all Labels strings are constructed internally and // malformed data indicates a bug, or memory corruption. - b := data[index] - index++ - size |= int(b&0x7F) << shift - if b < 0x80 { - break - } + return int(data[index]) + (int(data[index+1]) << 8) + (int(data[index+2]) << 16), index + 3 } - return size, index + // More common case of a single byte, value 0..254. + return int(b), index } func decodeString(data string, index int) (string, int) { @@ -57,8 +51,8 @@ func decodeString(data string, index int) (string, int) { return data[index : index+size], index + size } -// Bytes returns ls as a byte slice. -// It uses non-printing characters and so should not be used for printing. +// Bytes returns an opaque, not-human-readable, encoding of ls, usable as a map key. +// Encoding may change over time or between runs of Prometheus. func (ls Labels) Bytes(buf []byte) []byte { if cap(buf) < len(ls.data) { buf = make([]byte, len(ls.data)) @@ -76,7 +70,7 @@ func (ls Labels) IsZero() bool { // MatchLabels returns a subset of Labels that matches/does not match with the provided label names based on the 'on' boolean. // If on is set to true, it returns the subset of labels that match with the provided label names and its inverse when 'on' is set to false. -// TODO: This is only used in printing an error message +// TODO: This is only used in printing an error message. func (ls Labels) MatchLabels(on bool, names ...string) Labels { b := NewBuilder(ls) if on { @@ -298,6 +292,7 @@ func Equal(ls, o Labels) bool { func EmptyLabels() Labels { return Labels{} } + func yoloBytes(s string) []byte { return unsafe.Slice(unsafe.StringData(s), len(s)) } @@ -370,7 +365,7 @@ func Compare(a, b Labels) int { return +1 } -// Copy labels from b on top of whatever was in ls previously, reusing memory or expanding if needed. +// CopyFrom will copy labels from b on top of whatever was in ls previously, reusing memory or expanding if needed. func (ls *Labels) CopyFrom(b Labels) { ls.data = b.data // strings are immutable } @@ -418,21 +413,28 @@ func (ls Labels) Validate(f func(l Label) error) error { return nil } -// DropMetricName returns Labels with "__name__" removed. +// DropMetricName returns Labels with the "__name__" removed. +// Deprecated: Use DropReserved instead. func (ls Labels) DropMetricName() Labels { + return ls.DropReserved(func(n string) bool { return n == MetricName }) +} + +// DropReserved returns Labels without the chosen (via shouldDropFn) reserved (starting with underscore) labels. +func (ls Labels) DropReserved(shouldDropFn func(name string) bool) Labels { for i := 0; i < len(ls.data); { lName, i2 := decodeString(ls.data, i) size, i2 := decodeSize(ls.data, i2) i2 += size - if lName == MetricName { + if lName[0] > '_' { // Stop looking if we've gone past special labels. + break + } + if shouldDropFn(lName) { if i == 0 { // Make common case fast with no allocations. ls.data = ls.data[i2:] } else { ls.data = ls.data[:i] + ls.data[i2:] } - break - } else if lName[0] > MetricName[0] { // Stop looking if we've gone past. - break + continue } i = i2 } @@ -440,11 +442,11 @@ func (ls Labels) DropMetricName() Labels { } // InternStrings is a no-op because it would only save when the whole set of labels is identical. -func (ls *Labels) InternStrings(intern func(string) string) { +func (ls *Labels) InternStrings(_ func(string) string) { } // ReleaseStrings is a no-op for the same reason as InternStrings. -func (ls Labels) ReleaseStrings(release func(string)) { +func (ls Labels) ReleaseStrings(_ func(string)) { } // Builder allows modifying Labels. @@ -527,48 +529,27 @@ func marshalLabelToSizedBuffer(m *Label, data []byte) int { return len(data) - i } -func sizeVarint(x uint64) (n int) { - // Most common case first - if x < 1<<7 { +func sizeWhenEncoded(x uint64) (n int) { + if x < 255 { return 1 + } else if x <= 1<<24 { + return 4 } - if x >= 1<<56 { - return 9 - } - if x >= 1<<28 { - x >>= 28 - n = 4 - } - if x >= 1<<14 { - x >>= 14 - n += 2 - } - if x >= 1<<7 { - n++ - } - return n + 1 -} - -func encodeVarint(data []byte, offset int, v uint64) int { - offset -= sizeVarint(v) - base := offset - for v >= 1<<7 { - data[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - data[offset] = uint8(v) - return base + panic("String too long to encode as label.") } -// Special code for the common case that a size is less than 128 func encodeSize(data []byte, offset, v int) int { - if v < 1<<7 { + if v < 255 { offset-- data[offset] = uint8(v) return offset } - return encodeVarint(data, offset, uint64(v)) + offset -= 4 + data[offset] = 255 + data[offset+1] = byte(v) + data[offset+2] = byte((v >> 8)) + data[offset+3] = byte((v >> 16)) + return offset } func labelsSize(lbls []Label) (n int) { @@ -582,9 +563,9 @@ func labelsSize(lbls []Label) (n int) { func labelSize(m *Label) (n int) { // strings are encoded as length followed by contents. l := len(m.Name) - n += l + sizeVarint(uint64(l)) + n += l + sizeWhenEncoded(uint64(l)) l = len(m.Value) - n += l + sizeVarint(uint64(l)) + n += l + sizeWhenEncoded(uint64(l)) return n } @@ -630,7 +611,7 @@ func (b *ScratchBuilder) Add(name, value string) { b.add = append(b.add, Label{Name: name, Value: value}) } -// Add a name/value pair, using []byte instead of string to reduce memory allocations. +// UnsafeAddBytes adds a name/value pair using []byte instead of string to reduce memory allocations. // The values must remain live until Labels() is called. func (b *ScratchBuilder) UnsafeAddBytes(name, value []byte) { b.add = append(b.add, Label{Name: yoloString(name), Value: yoloString(value)}) @@ -658,7 +639,7 @@ func (b *ScratchBuilder) Labels() Labels { return b.output } -// Write the newly-built Labels out to ls, reusing an internal buffer. +// Overwrite will write the newly-built Labels out to ls, reusing an internal buffer. // Callers must ensure that there are no other references to ls, or any strings fetched from it. func (b *ScratchBuilder) Overwrite(ls *Labels) { size := labelsSize(b.add) @@ -671,7 +652,7 @@ func (b *ScratchBuilder) Overwrite(ls *Labels) { ls.data = yoloString(b.overwriteBuffer) } -// Symbol-table is no-op, just for api parity with dedupelabels. +// SymbolTable is no-op, just for api parity with dedupelabels. type SymbolTable struct{} func NewSymbolTable() *SymbolTable { return nil } diff --git a/vendor/github.com/prometheus/prometheus/model/labels/regexp.go b/vendor/github.com/prometheus/prometheus/model/labels/regexp.go index cf6c9158e..1636aacc2 100644 --- a/vendor/github.com/prometheus/prometheus/model/labels/regexp.go +++ b/vendor/github.com/prometheus/prometheus/model/labels/regexp.go @@ -95,12 +95,7 @@ func (m *FastRegexMatcher) compileMatchStringFunction() func(string) bool { return func(s string) bool { if len(m.setMatches) != 0 { - for _, match := range m.setMatches { - if match == s { - return true - } - } - return false + return slices.Contains(m.setMatches, s) } if m.prefix != "" && !strings.HasPrefix(s, m.prefix) { return false @@ -771,16 +766,11 @@ func (m *equalMultiStringSliceMatcher) setMatches() []string { func (m *equalMultiStringSliceMatcher) Matches(s string) bool { if m.caseSensitive { - for _, v := range m.values { - if s == v { - return true - } - } - } else { - for _, v := range m.values { - if strings.EqualFold(s, v) { - return true - } + return slices.Contains(m.values, s) + } + for _, v := range m.values { + if strings.EqualFold(s, v) { + return true } } return false diff --git a/vendor/github.com/prometheus/prometheus/model/labels/sharding.go b/vendor/github.com/prometheus/prometheus/model/labels/sharding.go index 8b3a36939..ed05da675 100644 --- a/vendor/github.com/prometheus/prometheus/model/labels/sharding.go +++ b/vendor/github.com/prometheus/prometheus/model/labels/sharding.go @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !stringlabels && !dedupelabels +//go:build slicelabels package labels diff --git a/vendor/github.com/prometheus/prometheus/model/labels/sharding_stringlabels.go b/vendor/github.com/prometheus/prometheus/model/labels/sharding_stringlabels.go index 798f268eb..4dcbaa21d 100644 --- a/vendor/github.com/prometheus/prometheus/model/labels/sharding_stringlabels.go +++ b/vendor/github.com/prometheus/prometheus/model/labels/sharding_stringlabels.go @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build stringlabels +//go:build !slicelabels && !dedupelabels package labels diff --git a/vendor/github.com/prometheus/prometheus/promql/parser/functions.go b/vendor/github.com/prometheus/prometheus/promql/parser/functions.go index aa65aca27..dfb181833 100644 --- a/vendor/github.com/prometheus/prometheus/promql/parser/functions.go +++ b/vendor/github.com/prometheus/prometheus/promql/parser/functions.go @@ -283,6 +283,24 @@ var Functions = map[string]*Function{ ArgTypes: []ValueType{ValueTypeMatrix}, ReturnType: ValueTypeVector, }, + "ts_of_max_over_time": { + Name: "ts_of_max_over_time", + ArgTypes: []ValueType{ValueTypeMatrix}, + ReturnType: ValueTypeVector, + Experimental: true, + }, + "ts_of_min_over_time": { + Name: "ts_of_min_over_time", + ArgTypes: []ValueType{ValueTypeMatrix}, + ReturnType: ValueTypeVector, + Experimental: true, + }, + "ts_of_last_over_time": { + Name: "ts_of_last_over_time", + ArgTypes: []ValueType{ValueTypeMatrix}, + ReturnType: ValueTypeVector, + Experimental: true, + }, "minute": { Name: "minute", ArgTypes: []ValueType{ValueTypeVector}, diff --git a/vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y b/vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y index de9234589..fc901374e 100644 --- a/vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y +++ b/vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y @@ -186,7 +186,7 @@ START_METRIC_SELECTOR %type int %type uint %type number series_value signed_number signed_or_unsigned_number -%type step_invariant_expr aggregate_expr aggregate_modifier bin_modifier binary_expr bool_modifier expr function_call function_call_args function_call_body group_modifiers label_matchers matrix_selector number_duration_literal offset_expr on_or_ignoring paren_expr string_literal subquery_expr unary_expr vector_selector duration_expr paren_duration_expr positive_duration_expr +%type step_invariant_expr aggregate_expr aggregate_modifier bin_modifier binary_expr bool_modifier expr function_call function_call_args function_call_body group_modifiers label_matchers matrix_selector number_duration_literal offset_expr on_or_ignoring paren_expr string_literal subquery_expr unary_expr vector_selector duration_expr paren_duration_expr positive_duration_expr offset_duration_expr %start start @@ -243,9 +243,23 @@ expr : */ aggregate_expr : aggregate_op aggregate_modifier function_call_body - { $$ = yylex.(*parser).newAggregateExpr($1, $2, $3) } + { + // Need to consume the position of the first RIGHT_PAREN. It might not exist on garbage input + // like 'sum (some_metric) by test' + if len(yylex.(*parser).closingParens) > 1 { + yylex.(*parser).closingParens = yylex.(*parser).closingParens[1:] + } + $$ = yylex.(*parser).newAggregateExpr($1, $2, $3) + } | aggregate_op function_call_body aggregate_modifier - { $$ = yylex.(*parser).newAggregateExpr($1, $3, $2) } + { + // Need to consume the position of the first RIGHT_PAREN. It might not exist on garbage input + // like 'sum by test (some_metric)' + if len(yylex.(*parser).closingParens) > 1 { + yylex.(*parser).closingParens = yylex.(*parser).closingParens[1:] + } + $$ = yylex.(*parser).newAggregateExpr($1, $3, $2) + } | aggregate_op function_call_body { $$ = yylex.(*parser).newAggregateExpr($1, &AggregateExpr{}, $2) } | aggregate_op error @@ -399,9 +413,10 @@ function_call : IDENTIFIER function_call_body Args: $2.(Expressions), PosRange: posrange.PositionRange{ Start: $1.Pos, - End: yylex.(*parser).lastClosing, + End: yylex.(*parser).closingParens[0], }, } + yylex.(*parser).closingParens = yylex.(*parser).closingParens[1:] } ; @@ -427,7 +442,10 @@ function_call_args: function_call_args COMMA expr */ paren_expr : LEFT_PAREN expr RIGHT_PAREN - { $$ = &ParenExpr{Expr: $2.(Expr), PosRange: mergeRanges(&$1, &$3)} } + { + $$ = &ParenExpr{Expr: $2.(Expr), PosRange: mergeRanges(&$1, &$3)} + yylex.(*parser).closingParens = yylex.(*parser).closingParens[1:] + } ; /* @@ -449,10 +467,10 @@ positive_duration_expr : duration_expr } ; -offset_expr: expr OFFSET duration_expr +offset_expr: expr OFFSET offset_duration_expr { if numLit, ok := $3.(*NumberLiteral); ok { - yylex.(*parser).addOffset($1, time.Duration(numLit.Val*1000)*time.Millisecond) + yylex.(*parser).addOffset($1, time.Duration(math.Round(numLit.Val*float64(time.Second)))) $$ = $1 break } @@ -506,7 +524,7 @@ matrix_selector : expr LEFT_BRACKET positive_duration_expr RIGHT_BRACKET var rangeNl time.Duration if numLit, ok := $3.(*NumberLiteral); ok { - rangeNl = time.Duration(numLit.Val*1000)*time.Millisecond + rangeNl = time.Duration(math.Round(numLit.Val*float64(time.Second))) } rangeExpr, _ := $3.(*DurationExpr) $$ = &MatrixSelector{ @@ -523,11 +541,11 @@ subquery_expr : expr LEFT_BRACKET positive_duration_expr COLON positive_durati var rangeNl time.Duration var stepNl time.Duration if numLit, ok := $3.(*NumberLiteral); ok { - rangeNl = time.Duration(numLit.Val*1000)*time.Millisecond + rangeNl = time.Duration(math.Round(numLit.Val*float64(time.Second))) } rangeExpr, _ := $3.(*DurationExpr) if numLit, ok := $5.(*NumberLiteral); ok { - stepNl = time.Duration(numLit.Val*1000)*time.Millisecond + stepNl = time.Duration(math.Round(numLit.Val*float64(time.Second))) } stepExpr, _ := $5.(*DurationExpr) $$ = &SubqueryExpr{ @@ -543,7 +561,7 @@ subquery_expr : expr LEFT_BRACKET positive_duration_expr COLON positive_durati { var rangeNl time.Duration if numLit, ok := $3.(*NumberLiteral); ok { - rangeNl = time.Duration(numLit.Val*1000)*time.Millisecond + rangeNl = time.Duration(math.Round(numLit.Val*float64(time.Second))) } rangeExpr, _ := $3.(*DurationExpr) $$ = &SubqueryExpr{ @@ -1034,6 +1052,36 @@ maybe_grouping_labels: /* empty */ { $$ = nil } * Duration expressions. */ +// offset_duration_expr is needed to handle expressions like "foo offset -2^2" correctly. +// Without this rule, such expressions would be parsed as "foo offset (-2^2)" due to operator precedence. +// With this rule, they are parsed as "(foo offset -2)^2", which is the expected behavior without parentheses. +offset_duration_expr : number_duration_literal + { + nl := $1.(*NumberLiteral) + if nl.Val > 1<<63/1e9 || nl.Val < -(1<<63)/1e9 { + yylex.(*parser).addParseErrf(nl.PosRange, "duration out of range") + $$ = &NumberLiteral{Val: 0} + break + } + $$ = nl + } + | unary_op number_duration_literal + { + nl := $2.(*NumberLiteral) + if $1.Typ == SUB { + nl.Val *= -1 + } + if nl.Val > 1<<63/1e9 || nl.Val < -(1<<63)/1e9 { + yylex.(*parser).addParseErrf($1.PositionRange(), "duration out of range") + $$ = &NumberLiteral{Val: 0} + break + } + nl.PosRange.Start = $1.Pos + $$ = nl + } + | duration_expr + ; + duration_expr : number_duration_literal { nl := $1.(*NumberLiteral) diff --git a/vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y.go b/vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y.go index 8c84b42f1..637cc4843 100644 --- a/vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y.go +++ b/vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y.go @@ -340,13 +340,13 @@ var yyExca = [...]int16{ 85, 198, -2, 126, -1, 126, - 41, 250, - 42, 250, - 52, 250, - 53, 250, - 57, 250, + 41, 253, + 42, 253, + 52, 253, + 53, 253, + 57, 253, -2, 20, - -1, 224, + -1, 227, 9, 247, 12, 247, 13, 247, @@ -378,7 +378,7 @@ var yyExca = [...]int16{ 88, 247, 89, 247, -2, 0, - -1, 225, + -1, 228, 9, 247, 12, 247, 13, 247, @@ -414,154 +414,156 @@ var yyExca = [...]int16{ const yyPrivate = 57344 -const yyLast = 892 +const yyLast = 915 var yyAct = [...]int16{ - 166, 359, 357, 169, 364, 251, 39, 216, 301, 52, - 177, 315, 86, 130, 84, 6, 316, 109, 200, 44, - 145, 117, 116, 61, 118, 195, 109, 295, 119, 170, - 371, 372, 373, 374, 120, 109, 222, 121, 223, 224, - 225, 115, 296, 327, 91, 93, 94, 140, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 297, 105, - 106, 108, 92, 93, 123, 202, 125, 124, 105, 126, - 108, 354, 293, 102, 103, 353, 122, 105, 59, 108, - 92, 358, 110, 113, 127, 329, 107, 175, 292, 349, - 318, 285, 132, 114, 112, 107, 327, 115, 111, 174, - 336, 119, 141, 176, 107, 204, 284, 120, 348, 173, - 220, 2, 3, 4, 5, 203, 205, 161, 291, 179, - 180, 181, 182, 183, 184, 185, 190, 163, 194, 163, - 163, 163, 163, 163, 163, 163, 188, 191, 186, 189, - 187, 290, 243, 121, 218, 365, 289, 79, 221, 382, - 208, 206, 35, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 381, 288, - 219, 380, 7, 10, 241, 242, 347, 346, 345, 244, - 245, 344, 343, 81, 163, 163, 164, 109, 164, 164, - 164, 164, 164, 164, 164, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 342, 132, 287, 212, 91, 93, 94, 139, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 210, 105, - 106, 108, 92, 109, 341, 168, 211, 317, 340, 313, - 314, 339, 174, 164, 164, 294, 178, 338, 337, 50, - 8, 209, 173, 56, 37, 80, 107, 179, 319, 165, - 91, 93, 94, 55, 95, 96, 97, 163, 99, 100, - 101, 102, 103, 104, 175, 105, 106, 108, 92, 248, - 138, 335, 137, 247, 60, 77, 90, 9, 9, 196, - 176, 201, 325, 202, 326, 328, 334, 330, 246, 321, - 113, 78, 107, 333, 331, 332, 56, 36, 110, 113, - 114, 112, 165, 1, 115, 62, 55, 49, 320, 114, - 112, 171, 172, 115, 111, 174, 164, 48, 47, 351, - 46, 352, 144, 204, 45, 173, 43, 383, 77, 360, - 361, 362, 356, 203, 205, 363, 162, 367, 366, 369, - 368, 254, 142, 56, 78, 375, 376, 175, 214, 165, - 377, 264, 174, 55, 192, 217, 379, 270, 133, 220, - 87, 350, 173, 176, 253, 42, 143, 199, 131, 324, - 85, 384, 198, 41, 323, 77, 286, 136, 207, 40, - 51, 88, 135, 88, 175, 197, 266, 267, 215, 322, - 268, 78, 378, 298, 89, 134, 213, 249, 281, 82, - 176, 255, 257, 259, 260, 261, 269, 271, 274, 275, - 276, 277, 278, 282, 283, 254, 370, 256, 258, 262, - 263, 265, 272, 273, 133, 264, 56, 279, 280, 167, - 87, 270, 165, 252, 131, 250, 55, 53, 253, 128, - 85, 174, 129, 0, 0, 0, 0, 88, 83, 0, - 0, 173, 0, 88, 0, 0, 0, 0, 77, 0, - 266, 267, 0, 0, 268, 0, 0, 0, 0, 0, - 0, 0, 281, 175, 78, 255, 257, 259, 260, 261, - 269, 271, 274, 275, 276, 277, 278, 282, 283, 176, - 0, 256, 258, 262, 263, 265, 272, 273, 0, 0, - 56, 279, 280, 54, 79, 0, 57, 300, 0, 22, - 55, 0, 0, 193, 299, 0, 58, 0, 303, 304, - 302, 309, 311, 308, 310, 305, 306, 307, 312, 0, - 0, 0, 77, 0, 0, 0, 0, 0, 18, 19, - 0, 0, 20, 0, 0, 0, 0, 0, 78, 0, - 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 0, 0, 0, - 13, 0, 0, 0, 24, 0, 30, 0, 0, 31, - 32, 56, 38, 109, 54, 79, 0, 57, 355, 0, - 22, 55, 0, 0, 0, 0, 0, 58, 0, 303, - 304, 302, 309, 311, 308, 310, 305, 306, 307, 312, - 91, 93, 0, 77, 0, 0, 0, 0, 0, 18, - 19, 102, 103, 20, 0, 105, 106, 108, 92, 78, - 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 0, 0, - 0, 13, 107, 0, 0, 24, 0, 30, 0, 56, - 31, 32, 54, 79, 0, 57, 0, 0, 22, 55, - 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, + 167, 363, 361, 170, 368, 255, 39, 219, 305, 52, + 178, 319, 86, 130, 84, 6, 320, 109, 203, 44, + 118, 117, 116, 227, 228, 198, 109, 171, 375, 376, + 377, 378, 119, 121, 225, 109, 226, 145, 120, 61, + 115, 358, 357, 331, 91, 93, 94, 140, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 333, 105, + 106, 108, 92, 93, 123, 133, 125, 124, 105, 126, + 108, 199, 339, 102, 103, 131, 122, 105, 299, 108, + 92, 362, 296, 290, 297, 59, 107, 338, 88, 353, + 110, 113, 132, 300, 337, 107, 322, 119, 331, 176, + 127, 114, 112, 120, 107, 115, 111, 340, 352, 301, + 223, 2, 3, 4, 5, 177, 247, 165, 295, 180, + 183, 184, 185, 186, 187, 188, 141, 163, 197, 181, + 181, 181, 181, 181, 181, 181, 191, 194, 189, 56, + 190, 294, 121, 369, 221, 166, 79, 293, 224, 55, + 211, 209, 215, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 222, 386, + 292, 77, 202, 175, 245, 214, 246, 201, 35, 7, + 248, 249, 351, 174, 244, 350, 181, 78, 385, 213, + 200, 384, 245, 164, 113, 182, 182, 182, 182, 182, + 182, 182, 181, 175, 114, 112, 175, 205, 115, 36, + 349, 348, 212, 174, 132, 291, 174, 347, 387, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 10, 176, 328, 90, 176, 346, + 321, 327, 317, 318, 81, 109, 298, 207, 110, 113, + 182, 177, 182, 193, 177, 289, 326, 206, 208, 114, + 112, 180, 323, 115, 111, 345, 192, 344, 182, 343, + 288, 181, 91, 93, 94, 342, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 169, 105, 106, 108, + 92, 341, 138, 175, 137, 139, 329, 136, 330, 332, + 252, 334, 135, 174, 251, 1, 217, 161, 335, 336, + 175, 325, 62, 220, 107, 134, 87, 223, 56, 250, + 174, 49, 48, 47, 166, 176, 85, 204, 55, 205, + 324, 46, 8, 355, 210, 356, 37, 182, 133, 88, + 144, 177, 176, 364, 365, 366, 360, 45, 131, 367, + 77, 371, 370, 373, 372, 258, 129, 50, 177, 379, + 380, 88, 43, 80, 381, 268, 78, 142, 195, 207, + 383, 274, 172, 173, 42, 354, 304, 143, 257, 206, + 208, 41, 40, 303, 51, 388, 218, 307, 308, 306, + 313, 315, 312, 314, 309, 310, 311, 316, 382, 60, + 270, 271, 9, 9, 272, 302, 89, 216, 253, 82, + 374, 168, 285, 256, 53, 259, 261, 263, 264, 265, + 273, 275, 278, 279, 280, 281, 282, 286, 287, 258, + 128, 260, 262, 266, 267, 269, 276, 277, 0, 268, + 87, 283, 284, 0, 0, 274, 0, 0, 179, 254, + 85, 0, 257, 0, 0, 56, 0, 0, 83, 0, + 0, 166, 0, 88, 0, 55, 0, 0, 0, 0, + 0, 0, 0, 0, 270, 271, 0, 0, 272, 0, + 0, 0, 0, 0, 0, 0, 285, 77, 0, 259, + 261, 263, 264, 265, 273, 275, 278, 279, 280, 281, + 282, 286, 287, 78, 0, 260, 262, 266, 267, 269, + 276, 277, 0, 0, 56, 283, 284, 54, 79, 0, + 57, 0, 0, 22, 55, 0, 162, 196, 0, 0, + 58, 0, 0, 56, 0, 0, 0, 0, 0, 166, + 0, 0, 0, 55, 0, 0, 77, 0, 0, 0, + 0, 0, 18, 19, 0, 0, 20, 0, 0, 0, + 0, 0, 78, 0, 0, 77, 0, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 78, 0, 0, 13, 0, 0, 0, 24, 0, + 30, 0, 0, 31, 32, 56, 38, 109, 54, 79, + 0, 57, 359, 0, 22, 55, 0, 0, 0, 0, + 0, 58, 0, 307, 308, 306, 313, 315, 312, 314, + 309, 310, 311, 316, 91, 93, 0, 77, 0, 0, + 0, 0, 0, 18, 19, 102, 103, 20, 0, 105, + 106, 108, 92, 78, 0, 0, 0, 0, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 0, 0, 0, 13, 107, 0, 0, 24, + 0, 30, 0, 56, 31, 32, 54, 79, 0, 57, + 0, 0, 22, 55, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 77, 0, 0, 0, 0, 0, 18, 19, 0, - 0, 20, 0, 0, 0, 17, 79, 78, 0, 0, - 0, 22, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 0, 0, 0, 13, + 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, + 0, 18, 19, 0, 0, 20, 0, 0, 0, 17, + 79, 78, 0, 0, 0, 22, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 0, 0, 0, 13, 0, 0, 0, 24, 0, 30, + 0, 0, 31, 32, 18, 19, 0, 0, 20, 0, + 0, 0, 17, 35, 0, 0, 0, 0, 22, 11, + 12, 14, 15, 16, 21, 23, 25, 26, 27, 28, + 29, 33, 34, 0, 0, 0, 13, 0, 0, 0, + 24, 0, 30, 0, 0, 31, 32, 18, 19, 0, + 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 11, 12, 14, 15, 16, 21, 23, 25, + 26, 27, 28, 29, 33, 34, 109, 0, 0, 13, 0, 0, 0, 24, 0, 30, 0, 0, 31, 32, - 18, 19, 0, 0, 20, 0, 0, 0, 17, 35, - 0, 0, 0, 0, 22, 11, 12, 14, 15, 16, - 21, 23, 25, 26, 27, 28, 29, 33, 34, 0, - 0, 0, 13, 0, 0, 0, 24, 0, 30, 0, - 0, 31, 32, 18, 19, 0, 0, 20, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, - 14, 15, 16, 21, 23, 25, 26, 27, 28, 29, - 33, 34, 109, 0, 0, 13, 0, 0, 0, 24, - 0, 30, 0, 0, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, - 93, 94, 0, 95, 96, 0, 0, 99, 100, 0, - 102, 103, 104, 0, 105, 106, 108, 92, 0, 0, + 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, + 0, 0, 0, 91, 93, 94, 0, 95, 96, 97, + 0, 99, 100, 101, 102, 103, 104, 0, 105, 106, + 108, 92, 91, 93, 94, 0, 95, 96, 0, 0, + 99, 100, 0, 102, 103, 104, 0, 105, 106, 108, + 92, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 107, + 0, 0, 0, 0, 107, } var yyPact = [...]int16{ - 13, 162, 746, 746, 582, 703, -1000, -1000, -1000, 139, + 13, 169, 750, 750, 586, 707, -1000, -1000, -1000, 165, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 438, -1000, 284, -1000, 173, + -1000, -1000, -1000, -1000, -1000, 438, -1000, 235, -1000, 231, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 41, 22, 128, -1000, -1000, 660, -1000, 660, - 134, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 432, - -1000, -1000, 385, -1000, -1000, 278, 213, -1000, -1000, 23, - -1000, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, 344, 233, 244, - 427, 427, 427, 427, 427, 427, 128, -51, -1000, 124, - 124, 501, -1000, 3, 267, 12, -15, -1000, 375, -1000, - -1000, 289, 61, -1000, -1000, 368, -1000, 226, -1000, 211, - 353, 660, -1000, -46, -41, -1000, 660, 660, 660, 660, - 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, - 660, -1000, -1000, -1000, 427, 427, -1000, 127, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 90, 90, 277, -1000, 41, - 258, 258, -15, -15, -15, -15, -1000, -1000, -1000, 423, - -1000, -1000, 84, -1000, 173, -1000, -1000, -1000, 366, -1000, - 144, -1000, -1000, -1000, -1000, -1000, 116, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 62, 46, 1, -1000, -1000, -1000, - 500, 21, 124, 124, 124, 124, 12, 12, 579, 579, - 579, 808, 219, 579, 579, 808, 12, 12, 579, 12, - 21, -15, 267, 68, -1000, -1000, -1000, 297, -1000, 377, + -1000, -1000, 207, 18, 127, -1000, -1000, 664, -1000, 664, + 133, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 336, + -1000, -1000, 295, -1000, -1000, 290, 291, -1000, -1000, 23, + -1000, -41, -41, -41, -41, -41, -41, -41, -41, -41, + -41, -41, -41, -41, -41, -41, -41, 524, 284, 446, + 130, 130, 130, 130, 130, 130, 127, -47, -1000, 251, + 251, 505, -1000, 3, 49, 12, -16, -1000, 170, -1000, + -1000, 325, 203, -1000, -1000, 314, -1000, 187, -1000, 150, + 301, 664, -1000, -48, -57, -1000, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, -1000, -1000, -1000, 130, 207, 130, -1000, 101, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 164, 164, 298, -1000, + 207, -1000, 130, 152, 152, -16, -16, -16, -16, -1000, + -1000, -1000, 427, -1000, -1000, 248, -1000, 231, -1000, -1000, + -1000, 63, -1000, 145, -1000, -1000, -1000, -1000, -1000, 116, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 56, 58, 52, + -1000, -1000, -1000, 359, 21, 251, 251, 251, 251, 12, + 12, 583, 583, 583, 831, 812, 583, 583, 831, 12, + 12, 583, 12, 21, -1000, -16, 49, 74, -1000, -1000, + -1000, 309, -1000, 234, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 664, + -1000, -1000, -1000, -1000, -1000, -1000, 79, 79, 32, 79, + 94, 94, 70, 90, -1000, -1000, 285, 269, 263, 261, + 259, 233, 211, 205, 204, 179, 176, -1000, -1000, -1000, + -1000, -1000, -1000, 87, -1000, -1000, -1000, 353, -1000, 231, + -1000, -1000, -1000, 79, -1000, 16, 15, 585, -1000, -1000, + -1000, 24, 194, 194, 194, 164, 129, 129, 24, 129, + 24, -64, -1000, -1000, -1000, -1000, -1000, 79, 79, -1000, + -1000, -1000, 79, -1000, -1000, -1000, -1000, -1000, -1000, 194, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 660, -1000, -1000, -1000, -1000, - -1000, -1000, 77, 77, 59, 77, 94, 94, 279, 83, - -1000, -1000, 242, 241, 235, 232, 228, 204, 176, 175, - 172, 171, 170, -1000, -1000, -1000, -1000, -1000, -1000, 87, - -1000, -1000, -1000, 349, -1000, 173, -1000, -1000, -1000, 77, - -1000, 49, 45, 581, -1000, -1000, -1000, 24, 442, 442, - 442, 90, 131, 131, 24, 131, 24, -62, -1000, -1000, - -1000, -1000, -1000, 77, 77, -1000, -1000, -1000, 77, -1000, - -1000, -1000, -1000, -1000, -1000, 442, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 147, -1000, - 316, -1000, -1000, -1000, -1000, + -1000, -1000, 167, -1000, 197, -1000, -1000, -1000, -1000, } var yyPgo = [...]int16{ - 0, 449, 13, 447, 5, 18, 443, 284, 78, 439, - 12, 426, 173, 250, 409, 14, 407, 16, 11, 406, - 404, 7, 403, 8, 4, 402, 2, 1, 3, 398, - 29, 0, 390, 389, 22, 102, 383, 376, 6, 375, - 364, 21, 352, 23, 336, 19, 334, 332, 330, 328, - 327, 317, 249, 9, 315, 10, 313, 307, + 0, 430, 13, 414, 5, 18, 413, 399, 85, 411, + 12, 410, 234, 332, 409, 14, 408, 16, 11, 407, + 406, 7, 405, 8, 4, 398, 2, 1, 3, 386, + 27, 0, 384, 382, 22, 126, 381, 377, 6, 374, + 368, 21, 367, 39, 362, 19, 347, 340, 331, 323, + 322, 321, 357, 9, 312, 10, 307, 305, 209, } var yyR1 = [...]int8{ - 0, 56, 56, 56, 56, 56, 56, 56, 38, 38, + 0, 57, 57, 57, 57, 57, 57, 57, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 33, 33, 33, 33, 34, 34, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, @@ -575,7 +577,7 @@ var yyR1 = [...]int8{ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 12, 12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15, - 15, 57, 20, 20, 20, 20, 19, 19, 19, 19, + 15, 58, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 29, 29, 29, 21, 21, 21, 21, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 25, 25, @@ -585,8 +587,9 @@ var yyR1 = [...]int8{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 5, 5, 5, 5, 45, 45, 28, 28, 30, 30, - 31, 31, 27, 26, 26, 49, 10, 18, 18, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 54, + 31, 31, 27, 26, 26, 49, 10, 18, 18, 56, + 56, 56, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 54, } var yyR2 = [...]int8{ @@ -615,14 +618,15 @@ var yyR2 = [...]int8{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 0, 1, 1, - 2, 3, 3, 3, 3, 3, 3, 1, 3, + 2, 1, 1, 2, 3, 3, 3, 3, 3, 3, + 1, 3, } var yyChk = [...]int16{ - -1000, -56, 98, 99, 100, 101, 2, 10, -13, -7, + -1000, -57, 98, 99, 100, 101, 2, 10, -13, -7, -12, 62, 63, 79, 64, 65, 66, 12, 47, 48, 51, 67, 18, 68, 83, 69, 70, 71, 72, 73, - 85, 88, 89, 74, 75, 13, -57, -13, 10, -38, + 85, 88, 89, 74, 75, 13, -58, -13, 10, -38, -33, -36, -39, -44, -45, -46, -48, -49, -50, -51, -52, -32, -53, -3, 12, 19, 9, 15, 25, -8, -7, -43, -54, 62, 63, 64, 65, 66, 67, 68, @@ -635,29 +639,29 @@ var yyChk = [...]int16{ -2, 12, -10, 2, 20, 7, 2, 4, 2, 4, 24, -35, -42, -37, -47, 78, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -53, 2, -45, -8, 15, -31, -9, 2, -28, - -30, 88, 89, 19, 9, 41, 57, -55, 2, -53, - -53, -53, -53, -53, -53, -53, -41, -34, -17, 15, - 2, -17, -40, 22, -38, 22, 22, 20, 7, 2, - -5, 2, 4, 54, 44, 55, -5, 20, -15, 25, - 2, 25, 2, -19, 5, -29, -21, 12, -28, -30, - 16, -38, 82, 84, 80, 81, -38, -38, -38, -38, + -35, -56, 2, -45, -8, -53, 15, -31, -9, 2, + -28, -30, 88, 89, 19, 9, 41, 57, -55, 2, + -53, -45, -8, -53, -53, -53, -53, -53, -53, -41, + -34, -17, 15, 2, -17, -40, 22, -38, 22, 22, + 20, 7, 2, -5, 2, 4, 54, 44, 55, -5, + 20, -15, 25, 2, 25, 2, -19, 5, -29, -21, + 12, -28, -30, 16, -38, 82, 84, 80, 81, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -53, -53, 15, -28, -28, 21, 6, 2, -16, - 22, -4, -6, 25, 2, 62, 78, 63, 79, 64, - 65, 66, 80, 81, 12, 82, 47, 48, 51, 67, - 18, 68, 83, 84, 69, 70, 71, 72, 73, 88, - 89, 59, 74, 75, 22, 7, 20, -2, 25, 2, - 25, 2, 26, 26, -30, 26, 41, 57, -22, 24, - 17, -23, 30, 28, 29, 35, 36, 37, 33, 31, - 34, 32, 38, -17, -17, -18, -17, -18, 22, -55, - 21, 2, 22, 7, 2, -38, -27, 19, -27, 26, - -27, -21, -21, 24, 17, 2, 17, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 21, 2, - 22, -4, -27, 26, 26, 17, -23, -26, 57, -27, - -31, -31, -31, -28, -24, 14, -24, -26, -24, -26, - -11, 92, 93, 94, 95, -27, -27, -27, -25, -31, - 24, 21, 2, 21, -31, + -38, -38, -38, -38, -45, -53, -53, 15, -28, -28, + 21, 6, 2, -16, 22, -4, -6, 25, 2, 62, + 78, 63, 79, 64, 65, 66, 80, 81, 12, 82, + 47, 48, 51, 67, 18, 68, 83, 84, 69, 70, + 71, 72, 73, 88, 89, 59, 74, 75, 22, 7, + 20, -2, 25, 2, 25, 2, 26, 26, -30, 26, + 41, 57, -22, 24, 17, -23, 30, 28, 29, 35, + 36, 37, 33, 31, 34, 32, 38, -17, -17, -18, + -17, -18, 22, -55, 21, 2, 22, 7, 2, -38, + -27, 19, -27, 26, -27, -21, -21, 24, 17, 2, + 17, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 21, 2, 22, -4, -27, 26, 26, 17, + -23, -26, 57, -27, -31, -31, -31, -28, -24, 14, + -24, -26, -24, -26, -11, 92, 93, 94, 95, -27, + -27, -27, -25, -31, 24, 21, 2, 21, -31, } var yyDef = [...]int16{ @@ -667,7 +671,7 @@ var yyDef = [...]int16{ 122, 123, 124, 125, 126, 0, 2, -2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 0, 109, 234, 235, 0, 245, 0, - 86, 87, 257, -2, -2, -2, -2, -2, -2, -2, + 86, 87, 260, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 228, 229, 0, 5, 101, 0, 129, 132, 0, 136, 140, 246, 141, 145, 44, 44, 44, 44, 44, 44, 44, 44, 44, @@ -677,29 +681,29 @@ var yyDef = [...]int16{ 92, 0, 96, 100, 127, 0, 133, 0, 139, 0, 144, 0, 43, 48, 49, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 70, 71, 249, 0, 0, 72, 0, 74, 240, - 241, 75, 76, 236, 237, 0, 0, 0, 83, 69, - 251, 252, 253, 254, 255, 256, 21, 22, 25, 0, - 55, 26, 0, 64, 66, 68, 258, 88, 0, 93, - 0, 99, 230, 231, 232, 233, 0, 128, 131, 134, - 137, 135, 138, 143, 146, 148, 151, 155, 156, 157, - 0, 27, 0, 0, -2, -2, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 250, 0, 0, 238, 239, 77, 0, 82, 0, - 54, 57, 59, 60, 61, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 63, 67, 89, 91, 94, 98, - 95, 97, 0, 0, 0, 0, 0, 0, 0, 0, - 161, 163, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 47, 50, 248, 51, 73, 0, - 79, 81, 52, 0, 58, 65, 147, 242, 149, 0, - 152, 0, 0, 0, 159, 164, 160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 78, 80, - 53, 56, 150, 0, 0, 158, 162, 165, 0, 244, - 166, 167, 168, 169, 170, 0, 171, 172, 173, 174, - 175, 181, 182, 183, 184, 153, 154, 243, 0, 179, - 0, 177, 180, 176, 178, + 0, 70, 71, 249, 0, 251, 0, 72, 0, 74, + 240, 241, 75, 76, 236, 237, 0, 0, 0, 83, + 69, 252, 0, 254, 255, 256, 257, 258, 259, 21, + 22, 25, 0, 55, 26, 0, 64, 66, 68, 261, + 88, 0, 93, 0, 99, 230, 231, 232, 233, 0, + 128, 131, 134, 137, 135, 138, 143, 146, 148, 151, + 155, 156, 157, 0, 27, 0, 0, -2, -2, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 250, 253, 0, 0, 238, 239, + 77, 0, 82, 0, 54, 57, 59, 60, 61, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 63, 67, + 89, 91, 94, 98, 95, 97, 0, 0, 0, 0, + 0, 0, 0, 0, 161, 163, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 47, 50, + 248, 51, 73, 0, 79, 81, 52, 0, 58, 65, + 147, 242, 149, 0, 152, 0, 0, 0, 159, 164, + 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 78, 80, 53, 56, 150, 0, 0, 158, + 162, 165, 0, 244, 166, 167, 168, 169, 170, 0, + 171, 172, 173, 174, 175, 181, 182, 183, 184, 153, + 154, 243, 0, 179, 0, 177, 180, 176, 178, } var yyTok1 = [...]int8{ @@ -1087,11 +1091,21 @@ yydefault: case 21: yyDollar = yyS[yypt-3 : yypt+1] { + // Need to consume the position of the first RIGHT_PAREN. It might not exist on garbage input + // like 'sum (some_metric) by test' + if len(yylex.(*parser).closingParens) > 1 { + yylex.(*parser).closingParens = yylex.(*parser).closingParens[1:] + } yyVAL.node = yylex.(*parser).newAggregateExpr(yyDollar[1].item, yyDollar[2].node, yyDollar[3].node) } case 22: yyDollar = yyS[yypt-3 : yypt+1] { + // Need to consume the position of the first RIGHT_PAREN. It might not exist on garbage input + // like 'sum by test (some_metric)' + if len(yylex.(*parser).closingParens) > 1 { + yylex.(*parser).closingParens = yylex.(*parser).closingParens[1:] + } yyVAL.node = yylex.(*parser).newAggregateExpr(yyDollar[1].item, yyDollar[3].node, yyDollar[2].node) } case 23: @@ -1319,9 +1333,10 @@ yydefault: Args: yyDollar[2].node.(Expressions), PosRange: posrange.PositionRange{ Start: yyDollar[1].item.Pos, - End: yylex.(*parser).lastClosing, + End: yylex.(*parser).closingParens[0], }, } + yylex.(*parser).closingParens = yylex.(*parser).closingParens[1:] } case 63: yyDollar = yyS[yypt-3 : yypt+1] @@ -1353,6 +1368,7 @@ yydefault: yyDollar = yyS[yypt-3 : yypt+1] { yyVAL.node = &ParenExpr{Expr: yyDollar[2].node.(Expr), PosRange: mergeRanges(&yyDollar[1].item, &yyDollar[3].item)} + yylex.(*parser).closingParens = yylex.(*parser).closingParens[1:] } case 69: yyDollar = yyS[yypt-1 : yypt+1] @@ -1372,7 +1388,7 @@ yydefault: yyDollar = yyS[yypt-3 : yypt+1] { if numLit, ok := yyDollar[3].node.(*NumberLiteral); ok { - yylex.(*parser).addOffset(yyDollar[1].node, time.Duration(numLit.Val*1000)*time.Millisecond) + yylex.(*parser).addOffset(yyDollar[1].node, time.Duration(math.Round(numLit.Val*float64(time.Second)))) yyVAL.node = yyDollar[1].node break } @@ -1423,7 +1439,7 @@ yydefault: var rangeNl time.Duration if numLit, ok := yyDollar[3].node.(*NumberLiteral); ok { - rangeNl = time.Duration(numLit.Val*1000) * time.Millisecond + rangeNl = time.Duration(math.Round(numLit.Val * float64(time.Second))) } rangeExpr, _ := yyDollar[3].node.(*DurationExpr) yyVAL.node = &MatrixSelector{ @@ -1439,11 +1455,11 @@ yydefault: var rangeNl time.Duration var stepNl time.Duration if numLit, ok := yyDollar[3].node.(*NumberLiteral); ok { - rangeNl = time.Duration(numLit.Val*1000) * time.Millisecond + rangeNl = time.Duration(math.Round(numLit.Val * float64(time.Second))) } rangeExpr, _ := yyDollar[3].node.(*DurationExpr) if numLit, ok := yyDollar[5].node.(*NumberLiteral); ok { - stepNl = time.Duration(numLit.Val*1000) * time.Millisecond + stepNl = time.Duration(math.Round(numLit.Val * float64(time.Second))) } stepExpr, _ := yyDollar[5].node.(*DurationExpr) yyVAL.node = &SubqueryExpr{ @@ -1460,7 +1476,7 @@ yydefault: { var rangeNl time.Duration if numLit, ok := yyDollar[3].node.(*NumberLiteral); ok { - rangeNl = time.Duration(numLit.Val*1000) * time.Millisecond + rangeNl = time.Duration(math.Round(numLit.Val * float64(time.Second))) } rangeExpr, _ := yyDollar[3].node.(*DurationExpr) yyVAL.node = &SubqueryExpr{ @@ -2036,6 +2052,32 @@ yydefault: yyVAL.node = nl } case 250: + yyDollar = yyS[yypt-2 : yypt+1] + { + nl := yyDollar[2].node.(*NumberLiteral) + if yyDollar[1].item.Typ == SUB { + nl.Val *= -1 + } + if nl.Val > 1<<63/1e9 || nl.Val < -(1<<63)/1e9 { + yylex.(*parser).addParseErrf(yyDollar[1].item.PositionRange(), "duration out of range") + yyVAL.node = &NumberLiteral{Val: 0} + break + } + nl.PosRange.Start = yyDollar[1].item.Pos + yyVAL.node = nl + } + case 252: + yyDollar = yyS[yypt-1 : yypt+1] + { + nl := yyDollar[1].node.(*NumberLiteral) + if nl.Val > 1<<63/1e9 || nl.Val < -(1<<63)/1e9 { + yylex.(*parser).addParseErrf(nl.PosRange, "duration out of range") + yyVAL.node = &NumberLiteral{Val: 0} + break + } + yyVAL.node = nl + } + case 253: yyDollar = yyS[yypt-2 : yypt+1] { switch expr := yyDollar[2].node.(type) { @@ -2068,25 +2110,25 @@ yydefault: break } } - case 251: + case 254: yyDollar = yyS[yypt-3 : yypt+1] { yylex.(*parser).experimentalDurationExpr(yyDollar[1].node.(Expr)) yyVAL.node = &DurationExpr{Op: ADD, LHS: yyDollar[1].node.(Expr), RHS: yyDollar[3].node.(Expr)} } - case 252: + case 255: yyDollar = yyS[yypt-3 : yypt+1] { yylex.(*parser).experimentalDurationExpr(yyDollar[1].node.(Expr)) yyVAL.node = &DurationExpr{Op: SUB, LHS: yyDollar[1].node.(Expr), RHS: yyDollar[3].node.(Expr)} } - case 253: + case 256: yyDollar = yyS[yypt-3 : yypt+1] { yylex.(*parser).experimentalDurationExpr(yyDollar[1].node.(Expr)) yyVAL.node = &DurationExpr{Op: MUL, LHS: yyDollar[1].node.(Expr), RHS: yyDollar[3].node.(Expr)} } - case 254: + case 257: yyDollar = yyS[yypt-3 : yypt+1] { yylex.(*parser).experimentalDurationExpr(yyDollar[1].node.(Expr)) @@ -2097,7 +2139,7 @@ yydefault: } yyVAL.node = &DurationExpr{Op: DIV, LHS: yyDollar[1].node.(Expr), RHS: yyDollar[3].node.(Expr)} } - case 255: + case 258: yyDollar = yyS[yypt-3 : yypt+1] { yylex.(*parser).experimentalDurationExpr(yyDollar[1].node.(Expr)) @@ -2108,13 +2150,13 @@ yydefault: } yyVAL.node = &DurationExpr{Op: MOD, LHS: yyDollar[1].node.(Expr), RHS: yyDollar[3].node.(Expr)} } - case 256: + case 259: yyDollar = yyS[yypt-3 : yypt+1] { yylex.(*parser).experimentalDurationExpr(yyDollar[1].node.(Expr)) yyVAL.node = &DurationExpr{Op: POW, LHS: yyDollar[1].node.(Expr), RHS: yyDollar[3].node.(Expr)} } - case 258: + case 261: yyDollar = yyS[yypt-3 : yypt+1] { yylex.(*parser).experimentalDurationExpr(yyDollar[2].node.(Expr)) diff --git a/vendor/github.com/prometheus/prometheus/promql/parser/lex.go b/vendor/github.com/prometheus/prometheus/promql/parser/lex.go index 66522f59d..3bb74b4ad 100644 --- a/vendor/github.com/prometheus/prometheus/promql/parser/lex.go +++ b/vendor/github.com/prometheus/prometheus/promql/parser/lex.go @@ -674,10 +674,10 @@ func lexInsideBraces(l *Lexer) stateFn { l.backup() l.emit(EQL) case r == '!': - switch nr := l.next(); { - case nr == '~': + switch nr := l.next(); nr { + case '~': l.emit(NEQ_REGEX) - case nr == '=': + case '=': l.emit(NEQ) default: return l.errorf("unexpected character after '!' inside braces: %q", nr) diff --git a/vendor/github.com/prometheus/prometheus/promql/parser/parse.go b/vendor/github.com/prometheus/prometheus/promql/parser/parse.go index 5cf85ea35..e99f5f457 100644 --- a/vendor/github.com/prometheus/prometheus/promql/parser/parse.go +++ b/vendor/github.com/prometheus/prometheus/promql/parser/parse.go @@ -59,6 +59,13 @@ type parser struct { // Everytime an Item is lexed that could be the end // of certain expressions its end position is stored here. lastClosing posrange.Pos + // Keep track of closing parentheses in addition, because sometimes the + // parser needs to read past a closing parenthesis to find the end of an + // expression, e.g. reading ony '(sum(foo)' cannot tell the end of the + // aggregation expression, since it could continue with either + // '(sum(foo))' or '(sum(foo) by (bar))' by which time we set lastClosing + // to the last paren. + closingParens []posrange.Pos yyParser yyParserImpl @@ -82,6 +89,7 @@ func NewParser(input string, opts ...Opt) *parser { //nolint:revive // unexporte p.injecting = false p.parseErrors = nil p.generatedParserResult = nil + p.closingParens = make([]posrange.Pos, 0) // Clear lexer struct before reusing. p.lex = Lexer{ @@ -171,6 +179,11 @@ func EnrichParseError(err error, enrich func(parseErr *ParseErr)) { func ParseExpr(input string) (expr Expr, err error) { p := NewParser(input) defer p.Close() + + if len(p.closingParens) > 0 { + return nil, fmt.Errorf("internal parser error, not all closing parens consumed: %v", p.closingParens) + } + return p.ParseExpr() } @@ -374,7 +387,10 @@ func (p *parser) Lex(lval *yySymType) int { case EOF: lval.item.Typ = EOF p.InjectItem(0) - case RIGHT_BRACE, RIGHT_PAREN, RIGHT_BRACKET, DURATION, NUMBER: + case RIGHT_PAREN: + p.closingParens = append(p.closingParens, lval.item.Pos+posrange.Pos(len(lval.item.Val))) + fallthrough + case RIGHT_BRACE, RIGHT_BRACKET, DURATION, NUMBER: p.lastClosing = lval.item.Pos + posrange.Pos(len(lval.item.Val)) } @@ -435,10 +451,16 @@ func (p *parser) newAggregateExpr(op Item, modifier, args Node) (ret *AggregateE ret = modifier.(*AggregateExpr) arguments := args.(Expressions) + if len(p.closingParens) == 0 { + // Prevents invalid array accesses. + // The error is already captured by the parser. + return + } ret.PosRange = posrange.PositionRange{ Start: op.Pos, - End: p.lastClosing, + End: p.closingParens[0], } + p.closingParens = p.closingParens[1:] ret.Op = op.Typ diff --git a/vendor/github.com/prometheus/prometheus/storage/merge.go b/vendor/github.com/prometheus/prometheus/storage/merge.go index bc70ceea5..9b3bcee58 100644 --- a/vendor/github.com/prometheus/prometheus/storage/merge.go +++ b/vendor/github.com/prometheus/prometheus/storage/merge.go @@ -64,10 +64,8 @@ func NewMergeQuerier(primaries, secondaries []Querier, mergeFn VerticalSeriesMer queriers = append(queriers, newSecondaryQuerierFrom(q)) } - concurrentSelect := false - if len(secondaries) > 0 { - concurrentSelect = true - } + concurrentSelect := len(secondaries) > 0 + return &querierAdapter{&mergeGenericQuerier{ mergeFn: (&seriesMergerAdapter{VerticalSeriesMergeFunc: mergeFn}).Merge, queriers: queriers, @@ -111,10 +109,8 @@ func NewMergeChunkQuerier(primaries, secondaries []ChunkQuerier, mergeFn Vertica queriers = append(queriers, newSecondaryQuerierFromChunk(q)) } - concurrentSelect := false - if len(secondaries) > 0 { - concurrentSelect = true - } + concurrentSelect := len(secondaries) > 0 + return &chunkQuerierAdapter{&mergeGenericQuerier{ mergeFn: (&chunkSeriesMergerAdapter{VerticalChunkSeriesMergeFunc: mergeFn}).Merge, queriers: queriers, diff --git a/vendor/github.com/prometheus/prometheus/tsdb/chunkenc/float_histogram.go b/vendor/github.com/prometheus/prometheus/tsdb/chunkenc/float_histogram.go index 0da00dcda..e5ad4028b 100644 --- a/vendor/github.com/prometheus/prometheus/tsdb/chunkenc/float_histogram.go +++ b/vendor/github.com/prometheus/prometheus/tsdb/chunkenc/float_histogram.go @@ -946,8 +946,8 @@ func (it *floatHistogramIterator) AtFloatHistogram(fh *histogram.FloatHistogram) fh.NegativeBuckets = resize(fh.NegativeBuckets, len(it.nBuckets)) copy(fh.NegativeBuckets, it.nBuckets) - fh.CustomValues = resize(fh.CustomValues, len(it.customValues)) - copy(fh.CustomValues, it.customValues) + // Custom values are interned. The single copy is in this iterator. + fh.CustomValues = it.customValues return it.t, fh } diff --git a/vendor/github.com/prometheus/prometheus/tsdb/chunkenc/histogram.go b/vendor/github.com/prometheus/prometheus/tsdb/chunkenc/histogram.go index 7f528df8d..0f54eb692 100644 --- a/vendor/github.com/prometheus/prometheus/tsdb/chunkenc/histogram.go +++ b/vendor/github.com/prometheus/prometheus/tsdb/chunkenc/histogram.go @@ -201,7 +201,8 @@ type HistogramAppender struct { schema int32 zThreshold float64 pSpans, nSpans []histogram.Span - customValues []float64 + // customValues is read only after the first sample is appended. + customValues []float64 // Although we intend to start new chunks on counter resets, we still // have to handle negative deltas for gauge histograms. Therefore, even @@ -995,8 +996,8 @@ func (it *histogramIterator) AtHistogram(h *histogram.Histogram) (int64, *histog h.NegativeBuckets = resize(h.NegativeBuckets, len(it.nBuckets)) copy(h.NegativeBuckets, it.nBuckets) - h.CustomValues = resize(h.CustomValues, len(it.customValues)) - copy(h.CustomValues, it.customValues) + // Custom values are interned. The single copy is here in the iterator. + h.CustomValues = it.customValues return it.t, h } @@ -1049,8 +1050,8 @@ func (it *histogramIterator) AtFloatHistogram(fh *histogram.FloatHistogram) (int fh.NegativeBuckets[i] = currentNegative } - fh.CustomValues = resize(fh.CustomValues, len(it.customValues)) - copy(fh.CustomValues, it.customValues) + // Custom values are interned. The single copy is here in the iterator. + fh.CustomValues = it.customValues return it.t, fh } @@ -1081,7 +1082,6 @@ func (it *histogramIterator) Reset(b []byte) { it.atHistogramCalled = false it.pBuckets, it.nBuckets = nil, nil it.pSpans, it.nSpans = nil, nil - it.customValues = nil } else { it.pBuckets = it.pBuckets[:0] it.nBuckets = it.nBuckets[:0] @@ -1089,7 +1089,6 @@ func (it *histogramIterator) Reset(b []byte) { if it.atFloatHistogramCalled { it.atFloatHistogramCalled = false it.pFloatBuckets, it.nFloatBuckets = nil, nil - it.customValues = nil } else { it.pFloatBuckets = it.pFloatBuckets[:0] it.nFloatBuckets = it.nFloatBuckets[:0] @@ -1102,6 +1101,7 @@ func (it *histogramIterator) Reset(b []byte) { it.leading = 0 it.trailing = 0 it.err = nil + it.customValues = nil } func (it *histogramIterator) Next() ValueType { @@ -1211,13 +1211,7 @@ func (it *histogramIterator) Next() ValueType { } else { it.nSpans = nil } - if len(it.customValues) > 0 { - newCustomValues := make([]float64, len(it.customValues)) - copy(newCustomValues, it.customValues) - it.customValues = newCustomValues - } else { - it.customValues = nil - } + // it.CustomValues are interned, so we don't need to copy them. } if it.atHistogramCalled { diff --git a/vendor/github.com/prometheus/prometheus/tsdb/chunks/chunk_write_queue.go b/vendor/github.com/prometheus/prometheus/tsdb/chunks/chunk_write_queue.go index ba9730d93..bb9f23970 100644 --- a/vendor/github.com/prometheus/prometheus/tsdb/chunks/chunk_write_queue.go +++ b/vendor/github.com/prometheus/prometheus/tsdb/chunks/chunk_write_queue.go @@ -88,10 +88,7 @@ func newChunkWriteQueue(reg prometheus.Registerer, size int, writeChunk writeChu []string{"operation"}, ) - segmentSize := size - if segmentSize > maxChunkQueueSegmentSize { - segmentSize = maxChunkQueueSegmentSize - } + segmentSize := min(size, maxChunkQueueSegmentSize) q := &chunkWriteQueue{ jobs: newWriteJobQueue(size, segmentSize), diff --git a/vendor/github.com/prometheus/prometheus/tsdb/chunks/chunks.go b/vendor/github.com/prometheus/prometheus/tsdb/chunks/chunks.go index f505d762b..034106238 100644 --- a/vendor/github.com/prometheus/prometheus/tsdb/chunks/chunks.go +++ b/vendor/github.com/prometheus/prometheus/tsdb/chunks/chunks.go @@ -14,7 +14,6 @@ package chunks import ( - "bufio" "encoding/binary" "errors" "fmt" @@ -281,12 +280,13 @@ func checkCRC32(data, sum []byte) error { type Writer struct { dirFile *os.File files []*os.File - wbuf *bufio.Writer + wbuf fileutil.BufWriter n int64 crc32 hash.Hash buf [binary.MaxVarintLen32]byte - segmentSize int64 + segmentSize int64 + useUncachedIO bool } const ( @@ -294,21 +294,40 @@ const ( DefaultChunkSegmentSize = 512 * 1024 * 1024 ) -// NewWriterWithSegSize returns a new writer against the given directory -// and allows setting a custom size for the segments. -func NewWriterWithSegSize(dir string, segmentSize int64) (*Writer, error) { - return newWriter(dir, segmentSize) +type writerOptions struct { + segmentSize int64 + useUncachedIO bool } -// NewWriter returns a new writer against the given directory -// using the default segment size. -func NewWriter(dir string) (*Writer, error) { - return newWriter(dir, DefaultChunkSegmentSize) +type WriterOption func(*writerOptions) + +func WithUncachedIO(enabled bool) WriterOption { + return func(o *writerOptions) { + o.useUncachedIO = enabled + } +} + +// WithSegmentSize sets the chunk segment size for the writer. +// Passing a value less than or equal to 0 causes the default segment size (DefaultChunkSegmentSize) to be used. +func WithSegmentSize(segmentSize int64) WriterOption { + return func(o *writerOptions) { + if segmentSize <= 0 { + segmentSize = DefaultChunkSegmentSize + } + + o.segmentSize = segmentSize + } } -func newWriter(dir string, segmentSize int64) (*Writer, error) { - if segmentSize <= 0 { - segmentSize = DefaultChunkSegmentSize +// NewWriter returns a new writer against the given directory. +// It uses DefaultChunkSegmentSize as the default segment size. +func NewWriter(dir string, opts ...WriterOption) (*Writer, error) { + options := &writerOptions{ + segmentSize: DefaultChunkSegmentSize, + } + + for _, opt := range opts { + opt(options) } if err := os.MkdirAll(dir, 0o777); err != nil { @@ -319,10 +338,11 @@ func newWriter(dir string, segmentSize int64) (*Writer, error) { return nil, err } return &Writer{ - dirFile: dirFile, - n: 0, - crc32: newCRC32(), - segmentSize: segmentSize, + dirFile: dirFile, + n: 0, + crc32: newCRC32(), + segmentSize: options.segmentSize, + useUncachedIO: options.useUncachedIO, }, nil } @@ -333,7 +353,7 @@ func (w *Writer) tail() *os.File { return w.files[len(w.files)-1] } -// finalizeTail writes all pending data to the current tail file, +// finalizeTail writes all pending data to the current tail file if any, // truncates its size, and closes it. func (w *Writer) finalizeTail() error { tf := w.tail() @@ -341,8 +361,10 @@ func (w *Writer) finalizeTail() error { return nil } - if err := w.wbuf.Flush(); err != nil { - return err + if w.wbuf != nil { + if err := w.wbuf.Flush(); err != nil { + return err + } } if err := tf.Sync(); err != nil { return err @@ -373,9 +395,25 @@ func (w *Writer) cut() error { w.files = append(w.files, f) if w.wbuf != nil { - w.wbuf.Reset(f) + if err := w.wbuf.Reset(f); err != nil { + return err + } } else { - w.wbuf = bufio.NewWriterSize(f, 8*1024*1024) + var ( + wbuf fileutil.BufWriter + err error + ) + size := 8 * 1024 * 1024 + if w.useUncachedIO { + // Uncached IO is implemented using direct I/O for now. + wbuf, err = fileutil.NewDirectIOWriter(f, size) + } else { + wbuf, err = fileutil.NewBufioWriterWithSeek(f, size) + } + if err != nil { + return err + } + w.wbuf = wbuf } return nil @@ -434,8 +472,9 @@ func cutSegmentFile(dirFile *os.File, magicNumber uint32, chunksFormat byte, all return 0, nil, 0, fmt.Errorf("open final file: %w", err) } // Skip header for further writes. - if _, err := f.Seek(int64(n), 0); err != nil { - return 0, nil, 0, fmt.Errorf("seek in final file: %w", err) + offset := int64(n) + if _, err := f.Seek(offset, 0); err != nil { + return 0, nil, 0, fmt.Errorf("seek to %d in final file: %w", offset, err) } return n, f, seq, nil } diff --git a/vendor/github.com/prometheus/prometheus/tsdb/errors/errors.go b/vendor/github.com/prometheus/prometheus/tsdb/errors/errors.go index a86ce59bd..ded4ae3a2 100644 --- a/vendor/github.com/prometheus/prometheus/tsdb/errors/errors.go +++ b/vendor/github.com/prometheus/prometheus/tsdb/errors/errors.go @@ -94,6 +94,11 @@ func (es nonNilMultiError) Is(target error) bool { return false } +// Unwrap returns the list of errors contained in the multiError. +func (es nonNilMultiError) Unwrap() []error { + return es.errs +} + // CloseAll closes all given closers while recording error in MultiError. func CloseAll(cs []io.Closer) error { errs := NewMulti() diff --git a/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io.go b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io.go new file mode 100644 index 000000000..ad306776c --- /dev/null +++ b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io.go @@ -0,0 +1,39 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package fileutil + +import ( + "bufio" + "errors" + "os" +) + +var errDirectIOUnsupported = errors.New("direct IO is unsupported") + +type BufWriter interface { + Write([]byte) (int, error) + Flush() error + Reset(f *os.File) error +} + +// writer is a specialized wrapper around bufio.Writer. +// It is used when Direct IO isn't enabled, as using directIOWriter in such cases is impractical. +type writer struct { + *bufio.Writer +} + +func (b *writer) Reset(f *os.File) error { + b.Writer.Reset(f) + return nil +} diff --git a/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_force.go b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_force.go new file mode 100644 index 000000000..e2f811b9f --- /dev/null +++ b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_force.go @@ -0,0 +1,28 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This allows seamless testing of the Direct I/O writer across all tsdb tests. + +//go:build linux && forcedirectio + +package fileutil + +import "os" + +func NewDirectIOWriter(f *os.File, size int) (BufWriter, error) { + return newDirectIOWriter(f, size) +} + +func NewBufioWriterWithSeek(f *os.File, size int) (BufWriter, error) { + return NewDirectIOWriter(f, size) +} diff --git a/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_linux.go b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_linux.go new file mode 100644 index 000000000..7406cc159 --- /dev/null +++ b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_linux.go @@ -0,0 +1,29 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build linux && !forcedirectio + +package fileutil + +import ( + "bufio" + "os" +) + +func NewBufioWriterWithSeek(f *os.File, size int) (BufWriter, error) { + return &writer{bufio.NewWriterSize(f, size)}, nil +} + +func NewDirectIOWriter(f *os.File, size int) (BufWriter, error) { + return newDirectIOWriter(f, size) +} diff --git a/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_unsupported.go b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_unsupported.go new file mode 100644 index 000000000..fb0b28fcc --- /dev/null +++ b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_unsupported.go @@ -0,0 +1,29 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !linux + +package fileutil + +import ( + "bufio" + "os" +) + +func NewBufioWriterWithSeek(f *os.File, size int) (BufWriter, error) { + return &writer{bufio.NewWriterSize(f, size)}, nil +} + +func NewDirectIOWriter(_ *os.File, _ int) (BufWriter, error) { + return nil, errDirectIOUnsupported +} diff --git a/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_writer.go b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_writer.go new file mode 100644 index 000000000..793d08148 --- /dev/null +++ b/vendor/github.com/prometheus/prometheus/tsdb/fileutil/direct_io_writer.go @@ -0,0 +1,409 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build linux + +package fileutil + +import ( + "errors" + "fmt" + "io" + "os" + "unsafe" + + "golang.org/x/sys/unix" +) + +const ( + // the defaults are deliberately set higher to cover most setups. + // On Linux >= 6.1, statx(2) https://man7.org/linux/man-pages/man2/statx.2.html will be later + // used to fetch the exact alignment restrictions. + defaultAlignment = 4096 + defaultBufSize = 4096 +) + +var ( + errWriterInvalid = errors.New("the last flush resulted in an unaligned offset, the writer can no longer ensure contiguous writes") + errStatxNotSupported = errors.New("the statx syscall with STATX_DIOALIGN is not supported. At least Linux kernel 6.1 is needed") +) + +// directIOWriter is a specialized bufio.Writer that supports Direct IO to a file +// by ensuring all alignment restrictions are satisfied. +// The writer can handle files whose initial offsets are not aligned. +// Once Direct IO is in use, if an explicit call to Flush() results in an unaligned offset, the writer +// should no longer be used, as it can no longer support contiguous writes. +type directIOWriter struct { + buf []byte + n int + + f *os.File + // offsetAlignmentGap represents the number of bytes needed to reach the nearest + // offset alignment on the file, making Direct IO possible. + offsetAlignmentGap int + alignmentRqmts *directIORqmts + + err error + invalid bool +} + +func newDirectIOWriter(f *os.File, size int) (*directIOWriter, error) { + alignmentRqmts, err := fileDirectIORqmts(f) + if err != nil { + return nil, err + } + + if size <= 0 { + size = defaultBufSize + } + if size%alignmentRqmts.offsetAlign != 0 { + return nil, fmt.Errorf("size %d should be a multiple of %d", size, alignmentRqmts.offsetAlign) + } + gap, err := checkInitialUnalignedOffset(f, alignmentRqmts) + if err != nil { + return nil, err + } + + return &directIOWriter{ + buf: alignedBlock(size, alignmentRqmts), + f: f, + offsetAlignmentGap: gap, + alignmentRqmts: alignmentRqmts, + }, nil +} + +func (b *directIOWriter) Available() int { return len(b.buf) - b.n } + +func (b *directIOWriter) Buffered() int { return b.n } + +// fillInitialOffsetGap writes the necessary bytes from the buffer without Direct IO +// to fill offsetAlignmentGap and align the file offset, enabling Direct IO usage. +// Once alignment is achieved, Direct IO is enabled. +func (b *directIOWriter) fillInitialOffsetGap() { + if b.n == 0 || b.offsetAlignmentGap == 0 { + return + } + + bytesToAlign := min(b.n, b.offsetAlignmentGap) + n, err := b.f.Write(b.buf[:bytesToAlign]) + if n < bytesToAlign && err == nil { + err = io.ErrShortWrite + } + if n > 0 { + copy(b.buf[0:b.n-n], b.buf[n:b.n]) + b.n -= n + } + // If the file offset was aligned, enable Direct IO. + b.offsetAlignmentGap -= n + if b.offsetAlignmentGap == 0 { + err = errors.Join(err, enableDirectIO(b.f.Fd())) + } + b.err = errors.Join(b.err, err) +} + +func (b *directIOWriter) directIOWrite(p []byte, padding int) (int, error) { + relevant := len(p) - padding + + n, err := b.f.Write(p) + switch { + case n < relevant: + relevant = n + if err == nil { + err = io.ErrShortWrite + } + case n > relevant: + // Adjust the offset to discard the padding that was written. + writtenPadding := int64(n - relevant) + _, err := b.f.Seek(-writtenPadding, io.SeekCurrent) + if err != nil { + b.err = errors.Join(b.err, fmt.Errorf("seek to discard written padding %d: %w", writtenPadding, err)) + } + } + + if relevant%b.alignmentRqmts.offsetAlign != 0 { + b.invalid = true + } + return relevant, err +} + +// canDirectIOWrite returns true when all Direct IO alignment restrictions +// are met for the p block to be written into the file. +func (b *directIOWriter) canDirectIOWrite(p []byte) bool { + return isAligned(p, b.alignmentRqmts) && b.offsetAlignmentGap == 0 +} + +func (b *directIOWriter) Write(p []byte) (nn int, err error) { + if b.invalid { + return 0, errWriterInvalid + } + + for len(p) > b.Available() && b.err == nil { + var n1, n2 int + if b.Buffered() == 0 && b.canDirectIOWrite(p) { + // Large write, empty buffer. + // To avoid copy, write from p via Direct IO as the block and the file + // offset are aligned. + n1, b.err = b.directIOWrite(p, 0) + } else { + n1 = copy(b.buf[b.n:], p) + b.n += n1 + if b.offsetAlignmentGap != 0 { + b.fillInitialOffsetGap() + // Refill the buffer. + n2 = copy(b.buf[b.n:], p[n1:]) + b.n += n2 + } + if b.Available() == 0 { + // Avoid flushing in case the second refill wasn't complete. + b.err = errors.Join(b.err, b.flush()) + } + } + nn += n1 + n2 + p = p[n1+n2:] + } + + if b.err != nil { + return nn, b.err + } + + n := copy(b.buf[b.n:], p) + b.n += n + nn += n + return nn, nil +} + +func (b *directIOWriter) flush() error { + if b.invalid { + return errWriterInvalid + } + if b.err != nil { + return b.err + } + if b.n == 0 { + return nil + } + + // Ensure the segment length alignment restriction is met. + // If the buffer length isn't a multiple of offsetAlign, round + // it to the nearest upper multiple and add zero padding. + uOffset := b.n + if uOffset%b.alignmentRqmts.offsetAlign != 0 { + uOffset = ((uOffset / b.alignmentRqmts.offsetAlign) + 1) * b.alignmentRqmts.offsetAlign + for i := b.n; i < uOffset; i++ { + b.buf[i] = 0 + } + } + n, err := b.directIOWrite(b.buf[:uOffset], uOffset-b.n) + if err != nil { + if n > 0 && n < b.n { + copy(b.buf[0:b.n-n], b.buf[n:b.n]) + } + b.n -= n + b.err = errors.Join(b.err, err) + return err + } + + b.n = 0 + return nil +} + +func (b *directIOWriter) Flush() error { + if b.offsetAlignmentGap != 0 { + b.fillInitialOffsetGap() + if b.err != nil { + return b.err + } + } + return b.flush() +} + +func (b *directIOWriter) Reset(f *os.File) error { + alignmentRqmts, err := fileDirectIORqmts(f) + if err != nil { + return err + } + b.alignmentRqmts = alignmentRqmts + + if b.buf == nil { + b.buf = alignedBlock(defaultBufSize, b.alignmentRqmts) + } + gap, err := checkInitialUnalignedOffset(f, b.alignmentRqmts) + if err != nil { + return err + } + b.offsetAlignmentGap = gap + b.err = nil + b.invalid = false + b.n = 0 + b.f = f + return nil +} + +// fileDirectIORqmts fetches alignment requirements via Statx, falling back to default +// values when unsupported. +func fileDirectIORqmts(f *os.File) (*directIORqmts, error) { + alignmentRqmts, err := fetchDirectIORqmtsFromStatx(f.Fd()) + switch { + case errors.Is(err, errStatxNotSupported): + alignmentRqmts = defaultDirectIORqmts() + case err != nil: + return nil, err + } + + if alignmentRqmts.memoryAlign == 0 || alignmentRqmts.offsetAlign == 0 { + // This may require some extra testing. + return nil, fmt.Errorf("zero alignment requirement is not supported %+v", alignmentRqmts) + } + return alignmentRqmts, nil +} + +func alignmentOffset(block []byte, requiredAlignment int) int { + return computeAlignmentOffset(block, requiredAlignment) +} + +func computeAlignmentOffset(block []byte, alignment int) int { + if alignment == 0 { + return 0 + } + if len(block) == 0 { + panic("empty block not supported") + } + return int(uintptr(unsafe.Pointer(&block[0])) & uintptr(alignment-1)) +} + +// isAligned checks if the length of the block is a multiple of offsetAlign +// and if its address is aligned with memoryAlign. +func isAligned(block []byte, alignmentRqmts *directIORqmts) bool { + return alignmentOffset(block, alignmentRqmts.memoryAlign) == 0 && len(block)%alignmentRqmts.offsetAlign == 0 +} + +// alignedBlock returns a block whose address is alignment aligned. +// The size should be a multiple of offsetAlign. +func alignedBlock(size int, alignmentRqmts *directIORqmts) []byte { + if size == 0 || size%alignmentRqmts.offsetAlign != 0 { + panic(fmt.Errorf("size %d should be > 0 and a multiple of offsetAlign=%d", size, alignmentRqmts.offsetAlign)) + } + if alignmentRqmts.memoryAlign == 0 { + return make([]byte, size) + } + + block := make([]byte, size+alignmentRqmts.memoryAlign) + a := alignmentOffset(block, alignmentRqmts.memoryAlign) + if a == 0 { + return block[:size] + } + + offset := alignmentRqmts.memoryAlign - a + block = block[offset : offset+size] + if !isAligned(block, alignmentRqmts) { + // Assuming this to be rare, if not impossible. + panic("cannot create an aligned block") + } + return block +} + +func currentFileOffset(f *os.File) (int, error) { + curOff, err := f.Seek(0, io.SeekCurrent) + if err != nil { + return 0, fmt.Errorf("cannot get the current offset: %w", err) + } + return int(curOff), nil +} + +func fileStatusFlags(fd uintptr) (int, error) { + flag, err := unix.FcntlInt(fd, unix.F_GETFL, 0) + if err != nil { + return 0, fmt.Errorf("cannot get file status flags: %w", err) + } + return flag, err +} + +// enableDirectIO enables Direct IO on the file if needed. +func enableDirectIO(fd uintptr) error { + flag, err := fileStatusFlags(fd) + if err != nil { + return err + } + + if (flag & unix.O_DIRECT) == unix.O_DIRECT { + return nil + } + + _, err = unix.FcntlInt(fd, unix.F_SETFL, flag|unix.O_DIRECT) + if err != nil { + return fmt.Errorf("cannot enable Direct IO: %w", err) + } + return nil +} + +// checkInitialUnalignedOffset returns the gap between the current offset of the file +// and the nearest aligned offset. +// If the current offset is aligned, Direct IO is enabled on the file. +func checkInitialUnalignedOffset(f *os.File, alignmentRqmts *directIORqmts) (int, error) { + offset, err := currentFileOffset(f) + if err != nil { + return 0, err + } + alignment := alignmentRqmts.offsetAlign + gap := (alignment - offset%alignment) % alignment + if gap == 0 { + if err := enableDirectIO(f.Fd()); err != nil { + return 0, err + } + } + return gap, nil +} + +// directIORqmts holds the alignment requirements for direct I/O. +// All fields are in bytes. +type directIORqmts struct { + // The required alignment for memory buffers addresses. + memoryAlign int + // The required alignment for I/O segment lengths and file offsets. + offsetAlign int +} + +func defaultDirectIORqmts() *directIORqmts { + return &directIORqmts{ + memoryAlign: defaultAlignment, + offsetAlign: defaultAlignment, + } +} + +// fetchDirectIORqmtsFromStatx tries to retrieve direct I/O alignment requirements for the +// file descriptor using statx. +func fetchDirectIORqmtsFromStatx(fd uintptr) (*directIORqmts, error) { + var stat unix.Statx_t + flags := unix.AT_SYMLINK_NOFOLLOW | unix.AT_EMPTY_PATH | unix.AT_STATX_DONT_SYNC + mask := unix.STATX_DIOALIGN + + if err := unix.Statx(int(fd), "", flags, unix.STATX_DIOALIGN, &stat); err != nil { + if err == unix.ENOSYS { + return nil, errStatxNotSupported + } + return nil, fmt.Errorf("statx failed on fd %d: %w", fd, err) + } + + if stat.Mask&uint32(mask) == 0 { + return nil, errStatxNotSupported + } + + if stat.Dio_mem_align == 0 || stat.Dio_offset_align == 0 { + return nil, fmt.Errorf("%w: kernel may be old or the file may be on an unsupported FS", errDirectIOUnsupported) + } + + return &directIORqmts{ + memoryAlign: int(stat.Dio_mem_align), + offsetAlign: int(stat.Dio_offset_align), + }, nil +} diff --git a/vendor/github.com/prometheus/prometheus/util/annotations/annotations.go b/vendor/github.com/prometheus/prometheus/util/annotations/annotations.go index 95783957a..5da360b69 100644 --- a/vendor/github.com/prometheus/prometheus/util/annotations/annotations.go +++ b/vendor/github.com/prometheus/prometheus/util/annotations/annotations.go @@ -125,12 +125,13 @@ func (a Annotations) CountWarningsAndInfo() (countWarnings, countInfo int) { return } -//nolint:revive // error-naming. +//nolint:staticcheck,revive // error-naming. var ( // Currently there are only 2 types, warnings and info. // For now, info are visually identical with warnings as we have not updated // the API spec or the frontend to show a different kind of warning. But we // make the distinction here to prepare for adding them in future. + PromQLInfo = errors.New("PromQL info") PromQLWarning = errors.New("PromQL warning") @@ -146,10 +147,14 @@ var ( IncompatibleBucketLayoutInBinOpWarning = fmt.Errorf("%w: incompatible bucket layout encountered for binary operator", PromQLWarning) PossibleNonCounterInfo = fmt.Errorf("%w: metric might not be a counter, name does not end in _total/_sum/_count/_bucket:", PromQLInfo) + PossibleNonCounterLabelInfo = fmt.Errorf("%w: metric might not be a counter, __type__ label is not set to %q", PromQLInfo, model.MetricTypeCounter) HistogramQuantileForcedMonotonicityInfo = fmt.Errorf("%w: input to histogram_quantile needed to be fixed for monotonicity (see https://prometheus.io/docs/prometheus/latest/querying/functions/#histogram_quantile) for metric name", PromQLInfo) IncompatibleTypesInBinOpInfo = fmt.Errorf("%w: incompatible sample types encountered for binary operator", PromQLInfo) HistogramIgnoredInAggregationInfo = fmt.Errorf("%w: ignored histogram in", PromQLInfo) HistogramIgnoredInMixedRangeInfo = fmt.Errorf("%w: ignored histograms in a range containing both floats and histograms for metric name", PromQLInfo) + NativeHistogramQuantileNaNResultInfo = fmt.Errorf("%w: input to histogram_quantile has NaN observations, result is NaN for metric name", PromQLInfo) + NativeHistogramQuantileNaNSkewInfo = fmt.Errorf("%w: input to histogram_quantile has NaN observations, result is skewed higher for metric name", PromQLInfo) + NativeHistogramFractionNaNsInfo = fmt.Errorf("%w: input to histogram_fraction has NaN observations, which are excluded from all fractions for metric name", PromQLInfo) ) type annoErr struct { @@ -269,6 +274,15 @@ func NewPossibleNonCounterInfo(metricName string, pos posrange.PositionRange) er } } +// NewPossibleNonCounterLabelInfo is used when a named counter metric with only float samples does not +// have the __type__ label set to "counter". +func NewPossibleNonCounterLabelInfo(metricName, typeLabel string, pos posrange.PositionRange) error { + return annoErr{ + PositionRange: pos, + Err: fmt.Errorf("%w, got %q: %q", PossibleNonCounterLabelInfo, typeLabel, metricName), + } +} + // NewHistogramQuantileForcedMonotonicityInfo is used when the input (classic histograms) to // histogram_quantile needs to be forced to be monotonic. func NewHistogramQuantileForcedMonotonicityInfo(metricName string, pos posrange.PositionRange) error { @@ -313,3 +327,24 @@ func NewIncompatibleBucketLayoutInBinOpWarning(operator string, pos posrange.Pos Err: fmt.Errorf("%w %s", IncompatibleBucketLayoutInBinOpWarning, operator), } } + +func NewNativeHistogramQuantileNaNResultInfo(metricName string, pos posrange.PositionRange) error { + return annoErr{ + PositionRange: pos, + Err: fmt.Errorf("%w %q", NativeHistogramQuantileNaNResultInfo, metricName), + } +} + +func NewNativeHistogramQuantileNaNSkewInfo(metricName string, pos posrange.PositionRange) error { + return annoErr{ + PositionRange: pos, + Err: fmt.Errorf("%w %q", NativeHistogramQuantileNaNSkewInfo, metricName), + } +} + +func NewNativeHistogramFractionNaNsInfo(metricName string, pos posrange.PositionRange) error { + return annoErr{ + PositionRange: pos, + Err: fmt.Errorf("%w %q", NativeHistogramFractionNaNsInfo, metricName), + } +} diff --git a/vendor/github.com/prometheus/prometheus/util/strutil/strconv.go b/vendor/github.com/prometheus/prometheus/util/strutil/strconv.go index 8cdd7d483..88d2a3b61 100644 --- a/vendor/github.com/prometheus/prometheus/util/strutil/strconv.go +++ b/vendor/github.com/prometheus/prometheus/util/strutil/strconv.go @@ -54,10 +54,10 @@ func SanitizeFullLabelName(name string) string { } var validSb strings.Builder for i, b := range name { - if !((b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || b == '_' || (b >= '0' && b <= '9' && i > 0)) { - validSb.WriteRune('_') - } else { + if (b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || b == '_' || (b >= '0' && b <= '9' && i > 0) { validSb.WriteRune(b) + } else { + validSb.WriteRune('_') } } return validSb.String() diff --git a/vendor/github.com/safchain/ethtool/.golangci.yml b/vendor/github.com/safchain/ethtool/.golangci.yml index 65552c98a..fb429ea49 100644 --- a/vendor/github.com/safchain/ethtool/.golangci.yml +++ b/vendor/github.com/safchain/ethtool/.golangci.yml @@ -1,18 +1,35 @@ +version: "2" linters: enable: - - gosimple - - gci - - gofmt + - gocritic - misspell - - goimports - staticcheck - errcheck - - govet - - misspell - - gocritic -linters-settings: - gci: - sections: - - standard - - default - - prefix(github.com/safchain/ethtool) + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gci + - gofmt + - goimports + settings: + gci: + sections: + - standard + - default + - prefix(github.com/safchain/ethtool) + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ diff --git a/vendor/github.com/safchain/ethtool/.yamllint b/vendor/github.com/safchain/ethtool/.yamllint index 9862c5f78..10894bcb7 100644 --- a/vendor/github.com/safchain/ethtool/.yamllint +++ b/vendor/github.com/safchain/ethtool/.yamllint @@ -3,5 +3,6 @@ extends: default rules: document-start: disable + line-length: disable truthy: check-keys: false diff --git a/vendor/github.com/safchain/ethtool/ethtool.go b/vendor/github.com/safchain/ethtool/ethtool.go index 62df2c10b..737c5eaa3 100644 --- a/vendor/github.com/safchain/ethtool/ethtool.go +++ b/vendor/github.com/safchain/ethtool/ethtool.go @@ -29,7 +29,8 @@ import ( "bytes" "encoding/hex" "fmt" - "strings" + "sync" + "time" "unsafe" "golang.org/x/sys/unix" @@ -53,37 +54,75 @@ const ( ETH_SS_FEATURES = 4 // CMD supported - ETHTOOL_GSET = 0x00000001 /* Get settings. */ - ETHTOOL_SSET = 0x00000002 /* Set settings. */ - ETHTOOL_GWOL = 0x00000005 /* Get wake-on-lan options. */ - ETHTOOL_SWOL = 0x00000006 /* Set wake-on-lan options. */ - ETHTOOL_GDRVINFO = 0x00000003 /* Get driver info. */ - ETHTOOL_GMSGLVL = 0x00000007 /* Get driver message level */ - ETHTOOL_SMSGLVL = 0x00000008 /* Set driver msg level. */ + ETHTOOL_GSET = 0x00000001 /* Get settings. */ + ETHTOOL_SSET = 0x00000002 /* Set settings. */ + ETHTOOL_GWOL = 0x00000005 /* Get wake-on-lan options. */ + ETHTOOL_SWOL = 0x00000006 /* Set wake-on-lan options. */ + ETHTOOL_GDRVINFO = 0x00000003 /* Get driver info. */ + ETHTOOL_GMSGLVL = 0x00000007 /* Get driver message level */ + ETHTOOL_SMSGLVL = 0x00000008 /* Set driver msg level. */ + ETHTOOL_GLINKSETTINGS = unix.ETHTOOL_GLINKSETTINGS // 0x4c + ETHTOOL_SLINKSETTINGS = unix.ETHTOOL_SLINKSETTINGS // 0x4d // Get link status for host, i.e. whether the interface *and* the // physical port (if there is one) are up (ethtool_value). - ETHTOOL_GLINK = 0x0000000a - ETHTOOL_GCOALESCE = 0x0000000e /* Get coalesce config */ - ETHTOOL_SCOALESCE = 0x0000000f /* Set coalesce config */ - ETHTOOL_GRINGPARAM = 0x00000010 /* Get ring parameters */ - ETHTOOL_SRINGPARAM = 0x00000011 /* Set ring parameters. */ - ETHTOOL_GPAUSEPARAM = 0x00000012 /* Get pause parameters */ - ETHTOOL_SPAUSEPARAM = 0x00000013 /* Set pause parameters. */ - ETHTOOL_GSTRINGS = 0x0000001b /* Get specified string set */ - ETHTOOL_GSTATS = 0x0000001d /* Get NIC-specific statistics */ - ETHTOOL_GPERMADDR = 0x00000020 /* Get permanent hardware address */ - ETHTOOL_GFLAGS = 0x00000025 /* Get flags bitmap(ethtool_value) */ - ETHTOOL_GPFLAGS = 0x00000027 /* Get driver-private flags bitmap */ - ETHTOOL_SPFLAGS = 0x00000028 /* Set driver-private flags bitmap */ - ETHTOOL_GSSET_INFO = 0x00000037 /* Get string set info */ - ETHTOOL_GFEATURES = 0x0000003a /* Get device offload settings */ - ETHTOOL_SFEATURES = 0x0000003b /* Change device offload settings */ - ETHTOOL_GCHANNELS = 0x0000003c /* Get no of channels */ - ETHTOOL_SCHANNELS = 0x0000003d /* Set no of channels */ - ETHTOOL_GET_TS_INFO = 0x00000041 /* Get time stamping and PHC info */ - ETHTOOL_GMODULEINFO = 0x00000042 /* Get plug-in module information */ - ETHTOOL_GMODULEEEPROM = 0x00000043 /* Get plug-in module eeprom */ + ETHTOOL_GLINK = 0x0000000a + ETHTOOL_GCOALESCE = 0x0000000e /* Get coalesce config */ + ETHTOOL_SCOALESCE = 0x0000000f /* Set coalesce config */ + ETHTOOL_GRINGPARAM = 0x00000010 /* Get ring parameters */ + ETHTOOL_SRINGPARAM = 0x00000011 /* Set ring parameters. */ + ETHTOOL_GPAUSEPARAM = 0x00000012 /* Get pause parameters */ + ETHTOOL_SPAUSEPARAM = 0x00000013 /* Set pause parameters. */ + ETHTOOL_GSTRINGS = 0x0000001b /* Get specified string set */ + ETHTOOL_PHYS_ID = 0x0000001c /* Identify the NIC */ + ETHTOOL_GSTATS = 0x0000001d /* Get NIC-specific statistics */ + ETHTOOL_GPERMADDR = 0x00000020 /* Get permanent hardware address */ + ETHTOOL_GFLAGS = 0x00000025 /* Get flags bitmap(ethtool_value) */ + ETHTOOL_GPFLAGS = 0x00000027 /* Get driver-private flags bitmap */ + ETHTOOL_SPFLAGS = 0x00000028 /* Set driver-private flags bitmap */ + ETHTOOL_GSSET_INFO = 0x00000037 /* Get string set info */ + ETHTOOL_GFEATURES = 0x0000003a /* Get device offload settings */ + ETHTOOL_SFEATURES = 0x0000003b /* Change device offload settings */ + ETHTOOL_GCHANNELS = 0x0000003c /* Get no of channels */ + ETHTOOL_SCHANNELS = 0x0000003d /* Set no of channels */ + ETHTOOL_GET_TS_INFO = 0x00000041 /* Get time stamping and PHC info */ + ETHTOOL_GMODULEINFO = 0x00000042 /* Get plug-in module information */ + ETHTOOL_GMODULEEEPROM = 0x00000043 /* Get plug-in module eeprom */ + ETHTOOL_GRXFHINDIR = 0x00000038 /* Get RX flow hash indir'n table */ + ETHTOOL_SRXFHINDIR = 0x00000039 /* Set RX flow hash indir'n table */ + ETH_RXFH_INDIR_NO_CHANGE = 0xFFFFFFFF + + // Speed and Duplex unknowns/constants (Manually defined based on ) + SPEED_UNKNOWN = 0xffffffff // ((__u32)-1) SPEED_UNKNOWN + DUPLEX_HALF = 0x00 // DUPLEX_HALF + DUPLEX_FULL = 0x01 // DUPLEX_FULL + DUPLEX_UNKNOWN = 0xff // DUPLEX_UNKNOWN + + // Port types (Manually defined based on ) + PORT_TP = 0x00 // PORT_TP + PORT_AUI = 0x01 // PORT_AUI + PORT_MII = 0x02 // PORT_MII + PORT_FIBRE = 0x03 // PORT_FIBRE + PORT_BNC = 0x04 // PORT_BNC + PORT_DA = 0x05 // PORT_DA + PORT_NONE = 0xef // PORT_NONE + PORT_OTHER = 0xff // PORT_OTHER + + // Autoneg settings (Manually defined based on ) + AUTONEG_DISABLE = 0x00 // AUTONEG_DISABLE + AUTONEG_ENABLE = 0x01 // AUTONEG_ENABLE + + // MDIX states (Manually defined based on ) + ETH_TP_MDI_INVALID = 0x00 // ETH_TP_MDI_INVALID + ETH_TP_MDI = 0x01 // ETH_TP_MDI + ETH_TP_MDI_X = 0x02 // ETH_TP_MDI_X + ETH_TP_MDI_AUTO = 0x03 // Control value ETH_TP_MDI_AUTO + + // Link mode mask bits count (Manually defined based on ethtool.h) + ETHTOOL_LINK_MODE_MASK_NBITS = 92 // __ETHTOOL_LINK_MODE_MASK_NBITS + + // Calculate max nwords based on NBITS using the manually defined constant + MAX_LINK_MODE_MASK_NWORDS = (ETHTOOL_LINK_MODE_MASK_NBITS + 31) / 32 // = 3 ) // MAX_GSTRINGS maximum number of stats entries that ethtool can @@ -100,6 +139,27 @@ const ( MAX_SSET_INFO = 64 ) +const ( + DEFAULT_BLINK_DURATION = 60 * time.Second +) + +var ( + gstringsPool = sync.Pool{ + New: func() interface{} { + // new() will allocate and zero-initialize the struct. + // The large data array within ethtoolGStrings will be zeroed. + return new(EthtoolGStrings) + }, + } + statsPool = sync.Pool{ + New: func() interface{} { + // new() will allocate and zero-initialize the struct. + // The large data array within ethtoolStats will be zeroed. + return new(EthtoolStats) + }, + } +) + type ifreq struct { ifr_name [IFNAMSIZ]byte ifr_data uintptr @@ -209,6 +269,12 @@ type Coalesce struct { RateSampleInterval uint32 } +// IdentityConf is an identity config for an interface +type IdentityConf struct { + Cmd uint32 + Duration uint32 +} + // WoL options const ( WAKE_PHY = 1 << 0 @@ -324,14 +390,14 @@ type TimestampingInformation struct { rxReserved [3]uint32 } -type ethtoolGStrings struct { +type EthtoolGStrings struct { cmd uint32 string_set uint32 len uint32 data [MAX_GSTRINGS * ETH_GSTRING_LEN]byte } -type ethtoolStats struct { +type EthtoolStats struct { cmd uint32 n_stats uint32 data [MAX_GSTRINGS]uint64 @@ -389,6 +455,22 @@ type Ethtool struct { fd int } +// max values for my setup dont know how to make this dynamic +const MAX_INDIR_SIZE = 256 +const MAX_CORES = 32 + +type Indir struct { + Cmd uint32 + Size uint32 + RingIndex [MAX_INDIR_SIZE]uint32 // statically definded otherwise crash + +} + +type SetIndir struct { + Equal uint8 // used to set number of cores + Weight []uint32 // used to select cores +} + // Convert zero-terminated array of chars (string in C) to a Go string. func goString(s []byte) string { strEnd := bytes.IndexByte(s, 0) @@ -426,7 +508,7 @@ func (e *Ethtool) ModuleEeprom(intf string) ([]byte, error) { return eeprom.data[:eeprom.len], nil } -// ModuleEeprom returns Eeprom information of the given interface name. +// ModuleEepromHex returns Eeprom information as hexadecimal string func (e *Ethtool) ModuleEepromHex(intf string) (string, error) { eeprom, _, err := e.getModuleEeprom(intf) if err != nil { @@ -461,6 +543,36 @@ func (e *Ethtool) DriverInfo(intf string) (DrvInfo, error) { return drvInfo, nil } +// GetIndir retrieves the indirection table of the given interface name. +func (e *Ethtool) GetIndir(intf string) (Indir, error) { + indir, err := e.getIndir(intf) + if err != nil { + return Indir{}, err + } + + return indir, nil +} + +// SetIndir sets the indirection table of the given interface from the SetIndir struct +func (e *Ethtool) SetIndir(intf string, setIndir SetIndir) (Indir, error) { + + if setIndir.Equal != 0 && setIndir.Weight != nil { + return Indir{}, fmt.Errorf("equal and weight options are mutually exclusive") + } + + indir, err := e.GetIndir(intf) + if err != nil { + return Indir{}, err + } + + newindir, err := e.setIndir(intf, indir, setIndir) + if err != nil { + return Indir{}, err + } + + return newindir, nil +} + // GetChannels returns the number of channels for the given interface name. func (e *Ethtool) GetChannels(intf string) (Channels, error) { channels, err := e.getChannels(intf) @@ -586,6 +698,92 @@ func (e *Ethtool) getDriverInfo(intf string) (ethtoolDrvInfo, error) { return drvinfo, nil } +// parsing of do_grxfhindir from ethtool.c +func (e *Ethtool) getIndir(intf string) (Indir, error) { + indir_head := Indir{ + Cmd: ETHTOOL_GRXFHINDIR, + Size: 0, + } + + if err := e.ioctl(intf, uintptr(unsafe.Pointer(&indir_head))); err != nil { + return Indir{}, err + } + + indir := Indir{ + Cmd: ETHTOOL_GRXFHINDIR, + Size: indir_head.Size, + } + + if err := e.ioctl(intf, uintptr(unsafe.Pointer(&indir))); err != nil { + return Indir{}, err + } + + return indir, nil +} + +// parsing of do_srxfhindir from ethtool.c +func (e *Ethtool) setIndir(intf string, indir Indir, setIndir SetIndir) (Indir, error) { + + err := fillIndirTable(&indir.Size, indir.RingIndex[:], 0, 0, int(setIndir.Equal), setIndir.Weight, uint32(len(setIndir.Weight))) + if err != nil { + return Indir{}, err + } + + if indir.Size == ETH_RXFH_INDIR_NO_CHANGE { + indir.Size = MAX_INDIR_SIZE + return indir, nil + } + + indir.Cmd = ETHTOOL_SRXFHINDIR + if err := e.ioctl(intf, uintptr(unsafe.Pointer(&indir))); err != nil { + return Indir{}, err + } + + return indir, nil +} + +func fillIndirTable(indirSize *uint32, indir []uint32, rxfhindirDefault int, + rxfhindirStart int, rxfhindirEqual int, rxfhindirWeight []uint32, + numWeights uint32) error { + + switch { + case rxfhindirEqual != 0: + for i := uint32(0); i < *indirSize; i++ { + indir[i] = uint32(rxfhindirStart) + (i % uint32(rxfhindirEqual)) + } + case rxfhindirWeight != nil: + var sum, partial uint32 = 0, 0 + var j, weight uint32 + for j = range numWeights { + weight = rxfhindirWeight[j] + sum += weight + } + + if sum == 0 { + return fmt.Errorf("at least one weight must be non-zero") + } + + if sum > *indirSize { + return fmt.Errorf("total weight exceeds the size of the indirection table") + } + + j = ^uint32(0) // equivalent to -1 for unsigned + for i := uint32(0); i < *indirSize; i++ { + for i >= (*indirSize*partial)/sum { + j++ + weight = rxfhindirWeight[j] + partial += weight + } + indir[i] = uint32(rxfhindirStart) + j + } + case rxfhindirDefault != 0: + *indirSize = 0 + default: + *indirSize = ETH_RXFH_INDIR_NO_CHANGE + } + return nil +} + func (e *Ethtool) getChannels(intf string) (Channels, error) { channels := Channels{ Cmd: ETHTOOL_GCHANNELS, @@ -781,7 +979,7 @@ func (e *Ethtool) getNames(intf string, mask int) (map[string]uint, error) { return nil, fmt.Errorf("ethtool currently doesn't support more than %d entries, received %d", MAX_GSTRINGS, length) } - gstrings := ethtoolGStrings{ + gstrings := EthtoolGStrings{ cmd: ETHTOOL_GSTRINGS, string_set: uint32(mask), len: length, @@ -969,7 +1167,23 @@ func (e *Ethtool) LinkState(intf string) (uint32, error) { } // Stats retrieves stats of the given interface name. +// This maintains backward compatibility with existing code. func (e *Ethtool) Stats(intf string) (map[string]uint64, error) { + // Create temporary buffers and delegate to StatsWithBuffer + gstrings := gstringsPool.Get().(*EthtoolGStrings) + stats := statsPool.Get().(*EthtoolStats) + defer func() { + gstringsPool.Put(gstrings) + statsPool.Put(stats) + }() + + return e.StatsWithBuffer(intf, gstrings, stats) +} + +// StatsWithBuffer retrieves stats of the given interface name using pre-allocated buffers. +// This allows the caller to control where the large structures are allocated, +// which can be useful to avoid heap allocations in Go 1.24+. +func (e *Ethtool) StatsWithBuffer(intf string, gstringsPtr *EthtoolGStrings, statsPtr *EthtoolStats) (map[string]uint64, error) { drvinfo := ethtoolDrvInfo{ cmd: ETHTOOL_GDRVINFO, } @@ -978,41 +1192,37 @@ func (e *Ethtool) Stats(intf string) (map[string]uint64, error) { return nil, err } - if drvinfo.n_stats*ETH_GSTRING_LEN > MAX_GSTRINGS*ETH_GSTRING_LEN { + if drvinfo.n_stats > MAX_GSTRINGS { return nil, fmt.Errorf("ethtool currently doesn't support more than %d entries, received %d", MAX_GSTRINGS, drvinfo.n_stats) } - gstrings := ethtoolGStrings{ - cmd: ETHTOOL_GSTRINGS, - string_set: ETH_SS_STATS, - len: drvinfo.n_stats, - data: [MAX_GSTRINGS * ETH_GSTRING_LEN]byte{}, - } + gstringsPtr.cmd = ETHTOOL_GSTRINGS + gstringsPtr.string_set = ETH_SS_STATS + gstringsPtr.len = drvinfo.n_stats - if err := e.ioctl(intf, uintptr(unsafe.Pointer(&gstrings))); err != nil { + if err := e.ioctl(intf, uintptr(unsafe.Pointer(gstringsPtr))); err != nil { return nil, err } - stats := ethtoolStats{ - cmd: ETHTOOL_GSTATS, - n_stats: drvinfo.n_stats, - data: [MAX_GSTRINGS]uint64{}, - } + statsPtr.cmd = ETHTOOL_GSTATS + statsPtr.n_stats = drvinfo.n_stats - if err := e.ioctl(intf, uintptr(unsafe.Pointer(&stats))); err != nil { + if err := e.ioctl(intf, uintptr(unsafe.Pointer(statsPtr))); err != nil { return nil, err } - result := make(map[string]uint64) + result := make(map[string]uint64, drvinfo.n_stats) for i := 0; i != int(drvinfo.n_stats); i++ { - b := gstrings.data[i*ETH_GSTRING_LEN : i*ETH_GSTRING_LEN+ETH_GSTRING_LEN] - strEnd := strings.Index(string(b), "\x00") + b := gstringsPtr.data[i*ETH_GSTRING_LEN : (i+1)*ETH_GSTRING_LEN] + + strEnd := bytes.IndexByte(b, 0) if strEnd == -1 { strEnd = ETH_GSTRING_LEN } key := string(b[:strEnd]) + if len(key) != 0 { - result[key] = stats.data[i] + result[key] = statsPtr.data[i] } } @@ -1024,6 +1234,20 @@ func (e *Ethtool) Close() { unix.Close(e.fd) } +// Identity the nic with blink duration, if not specify blink for 60 seconds +func (e *Ethtool) Identity(intf string, duration *time.Duration) error { + dur := uint32(DEFAULT_BLINK_DURATION.Seconds()) + if duration != nil { + dur = uint32(duration.Seconds()) + } + return e.identity(intf, IdentityConf{Duration: dur}) +} + +func (e *Ethtool) identity(intf string, identity IdentityConf) error { + identity.Cmd = ETHTOOL_PHYS_ID + return e.ioctl(intf, uintptr(unsafe.Pointer(&identity))) +} + // NewEthtool returns a new ethtool handler func NewEthtool() (*Ethtool, error) { fd, err := unix.Socket(unix.AF_INET, unix.SOCK_DGRAM|unix.SOCK_CLOEXEC, unix.IPPROTO_IP) @@ -1076,13 +1300,23 @@ func PermAddr(intf string) (string, error) { return e.PermAddr(intf) } +// Identity the nic with blink duration, if not specify blink infinity +func Identity(intf string, duration *time.Duration) error { + e, err := NewEthtool() + if err != nil { + return err + } + defer e.Close() + return e.Identity(intf, duration) +} + func supportedSpeeds(mask uint64) (ret []struct { name string mask uint64 speed uint64 }) { for _, mode := range supportedCapabilities { - if ((1 << mode.mask) & mask) != 0 { + if mode.speed > 0 && ((1< MAX_LINK_MODE_MASK_NWORDS: + // Sub-case 2a: Invalid nwords -> fallback + fmt.Printf("Warning: GLINKSETTINGS succeeded but returned invalid nwords (%d), attempting fallback to GSET\n", nwords) + fallbackReason = "invalid nwords from GLINKSETTINGS" + case 3*nwords > len(req.Masks): + // Sub-case 2b: Buffer too small -> error + return nil, fmt.Errorf("kernel requires %d words for GLINKSETTINGS, buffer only has space for %d (max %d)", nwords, len(req.Masks)/3, MAX_LINK_MODE_MASK_NWORDS) + default: + // Sub-case 2c: Success (nwords valid and buffer sufficient) + results := &LinkSettings{ + Speed: req.Settings.Speed, + Duplex: req.Settings.Duplex, + Port: req.Settings.Port, + PhyAddress: req.Settings.PhyAddress, + Autoneg: req.Settings.Autoneg, + MdixSupport: req.Settings.MdixSupport, + EthTpMdix: req.Settings.EthTpMdix, + EthTpMdixCtrl: req.Settings.EthTpMdixCtrl, + Transceiver: req.Settings.Transceiver, + MasterSlaveCfg: req.Settings.MasterSlaveCfg, + MasterSlaveState: req.Settings.MasterSlaveState, + SupportedLinkModes: parseLinkModeMasks(req.Masks[0*nwords : 1*nwords]), + AdvertisingLinkModes: parseLinkModeMasks(req.Masks[1*nwords : 2*nwords]), + LpAdvertisingModes: parseLinkModeMasks(req.Masks[2*nwords : 3*nwords]), + Source: SourceGLinkSettings, + } + return results, nil + } + default: + // Condition 3: ioctl failed with an error other than EOPNOTSUPP + // No fallback in this case. + return nil, fmt.Errorf("ETHTOOL_GLINKSETTINGS ioctl failed: %w", err) + } + + // Fallback to ETHTOOL_GSET using e.CmdGet + var cmd EthtoolCmd + _, errGet := e.CmdGet(&cmd, intf) + if errGet != nil { + return nil, fmt.Errorf("ETHTOOL_GLINKSETTINGS failed (%s), fallback ETHTOOL_GSET (CmdGet) also failed: %w", fallbackReason, errGet) + } + results := convertCmdToLinkSettings(&cmd) + results.Source = SourceGSet + return results, nil +} + +// SetLinkSettings applies link settings, determining whether to use ETHTOOL_SLINKSETTINGS or ETHTOOL_SSET. +func (e *Ethtool) SetLinkSettings(intf string, settings *LinkSettings) error { + var checkReq ethtoolLinkSettingsRequest + checkReq.Settings.Cmd = ETHTOOL_GLINKSETTINGS + checkReq.Settings.LinkModeMasksNwords = int8(MAX_LINK_MODE_MASK_NWORDS) + + errGLinkSettings := e.ioctl(intf, uintptr(unsafe.Pointer(&checkReq))) + canUseGLinkSettings := false + nwords := 0 + + if errGLinkSettings == nil { + nwords = int(checkReq.Settings.LinkModeMasksNwords) + if nwords <= 0 || nwords > MAX_LINK_MODE_MASK_NWORDS { + return fmt.Errorf("ETHTOOL_GLINKSETTINGS check succeeded but returned invalid nwords: %d", nwords) + } + canUseGLinkSettings = true + } else { + var errno syscall.Errno + if !errors.As(errGLinkSettings, &errno) || !errors.Is(errno, unix.EOPNOTSUPP) { + return fmt.Errorf("checking support via ETHTOOL_GLINKSETTINGS failed: %w", errGLinkSettings) + } + } + + if canUseGLinkSettings { + var setReq ethtoolLinkSettingsRequest + if 3*nwords > len(setReq.Masks) { + return fmt.Errorf("internal error: required nwords (%d) exceeds allocated buffer (%d)", nwords, MAX_LINK_MODE_MASK_NWORDS) + } + setReq.Settings.Cmd = ETHTOOL_SLINKSETTINGS + setReq.Settings.Speed = settings.Speed + setReq.Settings.Duplex = settings.Duplex + setReq.Settings.Port = settings.Port + setReq.Settings.PhyAddress = settings.PhyAddress + setReq.Settings.Autoneg = settings.Autoneg + setReq.Settings.EthTpMdixCtrl = settings.EthTpMdixCtrl + setReq.Settings.MasterSlaveCfg = settings.MasterSlaveCfg + setReq.Settings.LinkModeMasksNwords = int8(nwords) + + advertisingMask := buildLinkModeMask(settings.AdvertisingLinkModes, nwords) + if len(advertisingMask) != nwords { + return fmt.Errorf("failed to build advertising mask with correct size (%d != %d)", len(advertisingMask), nwords) + } + copy(setReq.Masks[nwords:2*nwords], advertisingMask) + zeroMaskSupported := make([]uint32, nwords) + zeroMaskLp := make([]uint32, nwords) + copy(setReq.Masks[0*nwords:1*nwords], zeroMaskSupported) + copy(setReq.Masks[2*nwords:3*nwords], zeroMaskLp) + + if err := e.ioctl(intf, uintptr(unsafe.Pointer(&setReq))); err != nil { + return fmt.Errorf("ETHTOOL_SLINKSETTINGS ioctl failed: %w", err) + } + return nil + + } + // Check if trying to set high bits when only SSET is available + advertisingMaskCheck := buildLinkModeMask(settings.AdvertisingLinkModes, MAX_LINK_MODE_MASK_NWORDS) + for i := 1; i < len(advertisingMaskCheck); i++ { + if advertisingMaskCheck[i] != 0 { + return fmt.Errorf("cannot set link modes beyond 32 bits using legacy ETHTOOL_SSET; device does not support ETHTOOL_SLINKSETTINGS") + } + } + + // Fallback to SSET + cmd := convertLinkSettingsToCmd(settings) + _, errSet := e.CmdSet(cmd, intf) + if errSet != nil { + return fmt.Errorf("ETHTOOL_SLINKSETTINGS not supported, fallback ETHTOOL_SSET (CmdSet) failed: %w", errSet) + } + return nil +} + +// parseLinkModeMasks converts a slice of uint32 bitmasks to a list of mode names. +// It filters out non-speed/duplex modes (like TP, Autoneg, Pause). +func parseLinkModeMasks(mask []uint32) []string { + modes := make([]string, 0, 8) + for _, capability := range supportedCapabilities { + // Only include capabilities that represent a speed/duplex mode + if capability.speed > 0 { + bitIndex := int(capability.mask) + wordIndex := bitIndex / 32 + bitInWord := uint(bitIndex % 32) + if wordIndex < len(mask) && (mask[wordIndex]>>(bitInWord))&1 != 0 { + modes = append(modes, capability.name) + } + } + } + return modes +} + +// buildLinkModeMask converts a list of mode names back into a uint32 bitmask slice. +// It filters out non-speed/duplex modes. +func buildLinkModeMask(modes []string, nwords int) []uint32 { + if nwords <= 0 || nwords > MAX_LINK_MODE_MASK_NWORDS { + return make([]uint32, 0) + } + mask := make([]uint32, nwords) + modeMap := make(map[string]struct { + bitIndex int + speed uint64 + }) + for _, capability := range supportedCapabilities { + // Only consider capabilities that represent a speed/duplex mode + if capability.speed > 0 { + modeMap[capability.name] = struct { + bitIndex int + speed uint64 + }{bitIndex: int(capability.mask), speed: capability.speed} + } + } + for _, modeName := range modes { + if info, ok := modeMap[strings.TrimSpace(modeName)]; ok { + wordIndex := info.bitIndex / 32 + bitInWord := uint(info.bitIndex % 32) + if wordIndex < nwords { + mask[wordIndex] |= 1 << bitInWord + } else { + fmt.Printf("Warning: Link mode '%s' (bit %d) exceeds device's mask size (%d words)\n", modeName, info.bitIndex, nwords) + } + } else { + // Check if the user provided a non-speed mode name - ignore it for the mask, maybe warn? + isKnownNonSpeed := false + for _, capability := range supportedCapabilities { + if capability.speed == 0 && capability.name == strings.TrimSpace(modeName) { + isKnownNonSpeed = true + break + } + } + if !isKnownNonSpeed { + fmt.Printf("Warning: Unknown link mode '%s' specified for mask building\n", modeName) + } // Silently ignore known non-speed modes like Autoneg, TP, Pause for the mask + } + } + return mask +} + +// convertCmdToLinkSettings converts data from the legacy EthtoolCmd to the new LinkSettings format. +func convertCmdToLinkSettings(cmd *EthtoolCmd) *LinkSettings { + ls := &LinkSettings{ + Speed: (uint32(cmd.Speed_hi) << 16) | uint32(cmd.Speed), + Duplex: cmd.Duplex, + Port: cmd.Port, + PhyAddress: cmd.Phy_address, + Autoneg: cmd.Autoneg, + MdixSupport: cmd.Mdio_support, + EthTpMdix: cmd.Eth_tp_mdix, + EthTpMdixCtrl: ETH_TP_MDI_INVALID, + Transceiver: cmd.Transceiver, + MasterSlaveCfg: 0, // No equivalent in EthtoolCmd + MasterSlaveState: 0, // No equivalent in EthtoolCmd + SupportedLinkModes: parseLegacyLinkModeMask(cmd.Supported), + AdvertisingLinkModes: parseLegacyLinkModeMask(cmd.Advertising), + LpAdvertisingModes: parseLegacyLinkModeMask(cmd.Lp_advertising), + } + if cmd.Speed == math.MaxUint16 && cmd.Speed_hi == math.MaxUint16 { + ls.Speed = SPEED_UNKNOWN // GSET uses 0xFFFF/0xFFFF for unknown/auto + } + return ls +} + +// parseLegacyLinkModeMask helper for converting single uint32 mask. +func parseLegacyLinkModeMask(mask uint32) []string { + return parseLinkModeMasks([]uint32{mask}) +} + +// convertLinkSettingsToCmd converts new LinkSettings data back to the legacy EthtoolCmd format for SSET fallback. +func convertLinkSettingsToCmd(ls *LinkSettings) *EthtoolCmd { + cmd := &EthtoolCmd{} + if ls.Speed == 0 || ls.Speed == SPEED_UNKNOWN { + cmd.Speed = math.MaxUint16 + cmd.Speed_hi = math.MaxUint16 + } else { + cmd.Speed = uint16(ls.Speed & 0xFFFF) + cmd.Speed_hi = uint16((ls.Speed >> 16) & 0xFFFF) + } + cmd.Duplex = ls.Duplex + cmd.Port = ls.Port + cmd.Phy_address = ls.PhyAddress + cmd.Autoneg = ls.Autoneg + // Cannot set EthTpMdixCtrl via EthtoolCmd + cmd.Transceiver = ls.Transceiver + cmd.Advertising = buildLegacyLinkModeMask(ls.AdvertisingLinkModes) + return cmd +} + +// buildLegacyLinkModeMask helper for building single uint32 mask from names. +func buildLegacyLinkModeMask(modes []string) uint32 { + maskSlice := buildLinkModeMask(modes, 1) + if len(maskSlice) > 0 { + return maskSlice[0] + } + return 0 +} diff --git a/vendor/github.com/safchain/ethtool/ethtool_linux.go b/vendor/github.com/safchain/ethtool/ethtool_linux.go index 70fb8d718..0daf392a7 100644 --- a/vendor/github.com/safchain/ethtool/ethtool_linux.go +++ b/vendor/github.com/safchain/ethtool/ethtool_linux.go @@ -25,32 +25,106 @@ import ( "golang.org/x/sys/unix" ) +// Updated supportedCapabilities including modes from ethtool.h enum ethtool_link_mode_bit_indices var supportedCapabilities = []struct { name string - mask uint64 - speed uint64 + mask uint64 // Use uint64 to accommodate indices > 31 + speed uint64 // Speed in bps, 0 for non-speed modes }{ - {"10baseT_Half", unix.ETHTOOL_LINK_MODE_10baseT_Half_BIT, 10_000_000}, - {"10baseT_Full", unix.ETHTOOL_LINK_MODE_10baseT_Full_BIT, 10_000_000}, - {"100baseT_Half", unix.ETHTOOL_LINK_MODE_100baseT_Half_BIT, 100_000_000}, - {"100baseT_Full", unix.ETHTOOL_LINK_MODE_100baseT_Full_BIT, 100_000_000}, - {"1000baseT_Half", unix.ETHTOOL_LINK_MODE_1000baseT_Half_BIT, 1_000_000_000}, - {"1000baseT_Full", unix.ETHTOOL_LINK_MODE_1000baseT_Full_BIT, 1_000_000_000}, - {"10000baseT_Full", unix.ETHTOOL_LINK_MODE_10000baseT_Full_BIT, 10_000_000_000}, - {"2500baseT_Full", unix.ETHTOOL_LINK_MODE_2500baseT_Full_BIT, 2_500_000_000}, - {"1000baseKX_Full", unix.ETHTOOL_LINK_MODE_1000baseKX_Full_BIT, 1_000_000_000}, - {"10000baseKX_Full", unix.ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT, 10_000_000_000}, - {"10000baseKR_Full", unix.ETHTOOL_LINK_MODE_10000baseKR_Full_BIT, 10_000_000_000}, - {"10000baseR_FEC", unix.ETHTOOL_LINK_MODE_10000baseR_FEC_BIT, 10_000_000_000}, - {"20000baseMLD2_Full", unix.ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT, 20_000_000_000}, - {"20000baseKR2_Full", unix.ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT, 20_000_000_000}, - {"40000baseKR4_Full", unix.ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT, 40_000_000_000}, - {"40000baseCR4_Full", unix.ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT, 40_000_000_000}, - {"40000baseSR4_Full", unix.ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT, 40_000_000_000}, - {"40000baseLR4_Full", unix.ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT, 40_000_000_000}, - {"56000baseKR4_Full", unix.ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT, 56_000_000_000}, - {"56000baseCR4_Full", unix.ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT, 56_000_000_000}, - {"56000baseSR4_Full", unix.ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT, 56_000_000_000}, - {"56000baseLR4_Full", unix.ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT, 56_000_000_000}, - {"25000baseCR_Full", unix.ETHTOOL_LINK_MODE_25000baseCR_Full_BIT, 25_000_000_000}, + // Existing entries (reordered slightly by bit index for clarity) + {"10baseT_Half", unix.ETHTOOL_LINK_MODE_10baseT_Half_BIT, 10_000_000}, // 0 + {"10baseT_Full", unix.ETHTOOL_LINK_MODE_10baseT_Full_BIT, 10_000_000}, // 1 + {"100baseT_Half", unix.ETHTOOL_LINK_MODE_100baseT_Half_BIT, 100_000_000}, // 2 + {"100baseT_Full", unix.ETHTOOL_LINK_MODE_100baseT_Full_BIT, 100_000_000}, // 3 + {"1000baseT_Half", unix.ETHTOOL_LINK_MODE_1000baseT_Half_BIT, 1_000_000_000}, // 4 + {"1000baseT_Full", unix.ETHTOOL_LINK_MODE_1000baseT_Full_BIT, 1_000_000_000}, // 5 + // Newly added or re-confirmed based on full enum + {"Autoneg", unix.ETHTOOL_LINK_MODE_Autoneg_BIT, 0}, // 6 + {"TP", unix.ETHTOOL_LINK_MODE_TP_BIT, 0}, // 7 (Twisted Pair port) + {"AUI", unix.ETHTOOL_LINK_MODE_AUI_BIT, 0}, // 8 (AUI port) + {"MII", unix.ETHTOOL_LINK_MODE_MII_BIT, 0}, // 9 (MII port) + {"FIBRE", unix.ETHTOOL_LINK_MODE_FIBRE_BIT, 0}, // 10 (FIBRE port) + {"BNC", unix.ETHTOOL_LINK_MODE_BNC_BIT, 0}, // 11 (BNC port) + {"10000baseT_Full", unix.ETHTOOL_LINK_MODE_10000baseT_Full_BIT, 10_000_000_000}, // 12 + {"Pause", unix.ETHTOOL_LINK_MODE_Pause_BIT, 0}, // 13 + {"Asym_Pause", unix.ETHTOOL_LINK_MODE_Asym_Pause_BIT, 0}, // 14 + {"2500baseX_Full", unix.ETHTOOL_LINK_MODE_2500baseX_Full_BIT, 2_500_000_000}, // 15 + {"Backplane", unix.ETHTOOL_LINK_MODE_Backplane_BIT, 0}, // 16 (Backplane port) + {"1000baseKX_Full", unix.ETHTOOL_LINK_MODE_1000baseKX_Full_BIT, 1_000_000_000}, // 17 + {"10000baseKX4_Full", unix.ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT, 10_000_000_000}, // 18 + {"10000baseKR_Full", unix.ETHTOOL_LINK_MODE_10000baseKR_Full_BIT, 10_000_000_000}, // 19 + {"10000baseR_FEC", unix.ETHTOOL_LINK_MODE_10000baseR_FEC_BIT, 10_000_000_000}, // 20 + {"20000baseMLD2_Full", unix.ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT, 20_000_000_000}, // 21 + {"20000baseKR2_Full", unix.ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT, 20_000_000_000}, // 22 + {"40000baseKR4_Full", unix.ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT, 40_000_000_000}, // 23 + {"40000baseCR4_Full", unix.ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT, 40_000_000_000}, // 24 + {"40000baseSR4_Full", unix.ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT, 40_000_000_000}, // 25 + {"40000baseLR4_Full", unix.ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT, 40_000_000_000}, // 26 + {"56000baseKR4_Full", unix.ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT, 56_000_000_000}, // 27 + {"56000baseCR4_Full", unix.ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT, 56_000_000_000}, // 28 + {"56000baseSR4_Full", unix.ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT, 56_000_000_000}, // 29 + {"56000baseLR4_Full", unix.ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT, 56_000_000_000}, // 30 + {"25000baseCR_Full", unix.ETHTOOL_LINK_MODE_25000baseCR_Full_BIT, 25_000_000_000}, // 31 + // Modes beyond bit 31 (require GLINKSETTINGS) + {"25000baseKR_Full", unix.ETHTOOL_LINK_MODE_25000baseKR_Full_BIT, 25_000_000_000}, // 32 + {"25000baseSR_Full", unix.ETHTOOL_LINK_MODE_25000baseSR_Full_BIT, 25_000_000_000}, // 33 + {"50000baseCR2_Full", unix.ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT, 50_000_000_000}, // 34 + {"50000baseKR2_Full", unix.ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT, 50_000_000_000}, // 35 + {"100000baseKR4_Full", unix.ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT, 100_000_000_000}, // 36 + {"100000baseSR4_Full", unix.ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT, 100_000_000_000}, // 37 + {"100000baseCR4_Full", unix.ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT, 100_000_000_000}, // 38 + {"100000baseLR4_ER4_Full", unix.ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT, 100_000_000_000}, // 39 + {"50000baseSR2_Full", unix.ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT, 50_000_000_000}, // 40 + {"1000baseX_Full", unix.ETHTOOL_LINK_MODE_1000baseX_Full_BIT, 1_000_000_000}, // 41 + {"10000baseCR_Full", unix.ETHTOOL_LINK_MODE_10000baseCR_Full_BIT, 10_000_000_000}, // 42 + {"10000baseSR_Full", unix.ETHTOOL_LINK_MODE_10000baseSR_Full_BIT, 10_000_000_000}, // 43 + {"10000baseLR_Full", unix.ETHTOOL_LINK_MODE_10000baseLR_Full_BIT, 10_000_000_000}, // 44 + {"10000baseLRM_Full", unix.ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT, 10_000_000_000}, // 45 + {"10000baseER_Full", unix.ETHTOOL_LINK_MODE_10000baseER_Full_BIT, 10_000_000_000}, // 46 + {"2500baseT_Full", unix.ETHTOOL_LINK_MODE_2500baseT_Full_BIT, 2_500_000_000}, // 47 (already present but reconfirmed) + {"5000baseT_Full", unix.ETHTOOL_LINK_MODE_5000baseT_Full_BIT, 5_000_000_000}, // 48 + {"FEC_NONE", unix.ETHTOOL_LINK_MODE_FEC_NONE_BIT, 0}, // 49 + {"FEC_RS", unix.ETHTOOL_LINK_MODE_FEC_RS_BIT, 0}, // 50 (Reed-Solomon FEC) + {"FEC_BASER", unix.ETHTOOL_LINK_MODE_FEC_BASER_BIT, 0}, // 51 (BaseR FEC) + {"50000baseKR_Full", unix.ETHTOOL_LINK_MODE_50000baseKR_Full_BIT, 50_000_000_000}, // 52 + {"50000baseSR_Full", unix.ETHTOOL_LINK_MODE_50000baseSR_Full_BIT, 50_000_000_000}, // 53 + {"50000baseCR_Full", unix.ETHTOOL_LINK_MODE_50000baseCR_Full_BIT, 50_000_000_000}, // 54 + {"50000baseLR_ER_FR_Full", unix.ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT, 50_000_000_000}, // 55 + {"50000baseDR_Full", unix.ETHTOOL_LINK_MODE_50000baseDR_Full_BIT, 50_000_000_000}, // 56 + {"100000baseKR2_Full", unix.ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT, 100_000_000_000}, // 57 + {"100000baseSR2_Full", unix.ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT, 100_000_000_000}, // 58 + {"100000baseCR2_Full", unix.ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT, 100_000_000_000}, // 59 + {"100000baseLR2_ER2_FR2_Full", unix.ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT, 100_000_000_000}, // 60 + {"100000baseDR2_Full", unix.ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT, 100_000_000_000}, // 61 + {"200000baseKR4_Full", unix.ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT, 200_000_000_000}, // 62 + {"200000baseSR4_Full", unix.ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT, 200_000_000_000}, // 63 + {"200000baseLR4_ER4_FR4_Full", unix.ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT, 200_000_000_000}, // 64 + {"200000baseDR4_Full", unix.ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT, 200_000_000_000}, // 65 + {"200000baseCR4_Full", unix.ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT, 200_000_000_000}, // 66 + {"100baseT1_Full", unix.ETHTOOL_LINK_MODE_100baseT1_Full_BIT, 100_000_000}, // 67 (Automotive/SPE) + {"1000baseT1_Full", unix.ETHTOOL_LINK_MODE_1000baseT1_Full_BIT, 1_000_000_000}, // 68 (Automotive/SPE) + {"400000baseKR8_Full", unix.ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT, 400_000_000_000}, // 69 + {"400000baseSR8_Full", unix.ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT, 400_000_000_000}, // 70 + {"400000baseLR8_ER8_FR8_Full", unix.ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT, 400_000_000_000}, // 71 + {"400000baseDR8_Full", unix.ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT, 400_000_000_000}, // 72 + {"400000baseCR8_Full", unix.ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT, 400_000_000_000}, // 73 + {"FEC_LLRS", unix.ETHTOOL_LINK_MODE_FEC_LLRS_BIT, 0}, // 74 (Low Latency Reed-Solomon FEC) + // PAM4 modes start here? Often indicated by lack of KR/CR/SR/LR or different naming + {"100000baseKR_Full", unix.ETHTOOL_LINK_MODE_100000baseKR_Full_BIT, 100_000_000_000}, // 75 (Likely 100GBASE-KR1) + {"100000baseSR_Full", unix.ETHTOOL_LINK_MODE_100000baseSR_Full_BIT, 100_000_000_000}, // 76 (Likely 100GBASE-SR1) + {"100000baseLR_ER_FR_Full", unix.ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT, 100_000_000_000}, // 77 (Likely 100GBASE-LR1/ER1/FR1) + {"100000baseCR_Full", unix.ETHTOOL_LINK_MODE_100000baseCR_Full_BIT, 100_000_000_000}, // 78 (Likely 100GBASE-CR1) + {"100000baseDR_Full", unix.ETHTOOL_LINK_MODE_100000baseDR_Full_BIT, 100_000_000_000}, // 79 + {"200000baseKR2_Full", unix.ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT, 200_000_000_000}, // 80 (Likely 200GBASE-KR2) + {"200000baseSR2_Full", unix.ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT, 200_000_000_000}, // 81 (Likely 200GBASE-SR2) + {"200000baseLR2_ER2_FR2_Full", unix.ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT, 200_000_000_000}, // 82 (Likely 200GBASE-LR2/etc) + {"200000baseDR2_Full", unix.ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT, 200_000_000_000}, // 83 + {"200000baseCR2_Full", unix.ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT, 200_000_000_000}, // 84 (Likely 200GBASE-CR2) + {"400000baseKR4_Full", unix.ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT, 400_000_000_000}, // 85 (Likely 400GBASE-KR4) + {"400000baseSR4_Full", unix.ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT, 400_000_000_000}, // 86 (Likely 400GBASE-SR4) + {"400000baseLR4_ER4_FR4_Full", unix.ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT, 400_000_000_000}, // 87 (Likely 400GBASE-LR4/etc) + {"400000baseDR4_Full", unix.ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT, 400_000_000_000}, // 88 + {"400000baseCR4_Full", unix.ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT, 400_000_000_000}, // 89 (Likely 400GBASE-CR4) + {"100baseFX_Half", unix.ETHTOOL_LINK_MODE_100baseFX_Half_BIT, 100_000_000}, // 90 + {"100baseFX_Full", unix.ETHTOOL_LINK_MODE_100baseFX_Full_BIT, 100_000_000}, // 91 } diff --git a/vendor/github.com/sagikazarmark/locafero/finder.go b/vendor/github.com/sagikazarmark/locafero/finder.go index 69234161f..24742d59a 100644 --- a/vendor/github.com/sagikazarmark/locafero/finder.go +++ b/vendor/github.com/sagikazarmark/locafero/finder.go @@ -7,7 +7,7 @@ import ( "path/filepath" "strings" - "github.com/sourcegraph/conc/iter" + "github.com/sourcegraph/conc/pool" "github.com/spf13/afero" ) @@ -44,47 +44,22 @@ type Finder struct { // Find looks for files and directories in an [afero.Fs] filesystem. func (f Finder) Find(fsys afero.Fs) ([]string, error) { // Arbitrary go routine limit (TODO: make this a parameter) - // pool := pool.NewWithResults[[]string]().WithMaxGoroutines(5).WithErrors().WithFirstError() - - type searchItem struct { - path string - name string - } - - var searchItems []searchItem + p := pool.NewWithResults[[]string]().WithMaxGoroutines(5).WithErrors().WithFirstError() for _, searchPath := range f.Paths { - searchPath := searchPath - for _, searchName := range f.Names { - searchName := searchName - - searchItems = append(searchItems, searchItem{searchPath, searchName}) - - // pool.Go(func() ([]string, error) { - // // If the name contains any glob character, perform a glob match - // if strings.ContainsAny(searchName, globMatch) { - // return globWalkSearch(fsys, searchPath, searchName, f.Type) - // } - // - // return statSearch(fsys, searchPath, searchName, f.Type) - // }) + p.Go(func() ([]string, error) { + // If the name contains any glob character, perform a glob match + if strings.ContainsAny(searchName, globMatch) { + return globWalkSearch(fsys, searchPath, searchName, f.Type) + } + + return statSearch(fsys, searchPath, searchName, f.Type) + }) } } - // allResults, err := pool.Wait() - // if err != nil { - // return nil, err - // } - - allResults, err := iter.MapErr(searchItems, func(item *searchItem) ([]string, error) { - // If the name contains any glob character, perform a glob match - if strings.ContainsAny(item.name, globMatch) { - return globWalkSearch(fsys, item.path, item.name, f.Type) - } - - return statSearch(fsys, item.path, item.name, f.Type) - }) + allResults, err := p.Wait() if err != nil { return nil, err } diff --git a/vendor/github.com/sagikazarmark/locafero/flake.lock b/vendor/github.com/sagikazarmark/locafero/flake.lock index ff4e176b6..6faf17883 100644 --- a/vendor/github.com/sagikazarmark/locafero/flake.lock +++ b/vendor/github.com/sagikazarmark/locafero/flake.lock @@ -37,11 +37,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1742998885, - "narHash": "sha256-xd2EwpUr+f/LLQjuKvFjXMe/fVyOAXkrKy986hMMuqs=", + "lastModified": 1743514249, + "narHash": "sha256-OSz+jUjTWXsuO27QhwgoLSPR4VZSCWVY3Et1CwshDiA=", "owner": "cachix", "repo": "devenv", - "rev": "4e56212b1781ab297b506bfca0085bb0e8ba1cfb", + "rev": "6d92924d2c9df24c05f59527260d216d17f8692f", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1742889210, - "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=", + "lastModified": 1743315132, + "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "698214a32beb4f4c8e3942372c694f40848b360d", + "rev": "52faf482a3889b7619003c0daec593a1912fddc1", "type": "github" }, "original": { diff --git a/vendor/github.com/sagikazarmark/locafero/justfile b/vendor/github.com/sagikazarmark/locafero/justfile index 8740f1218..bac5e75db 100644 --- a/vendor/github.com/sagikazarmark/locafero/justfile +++ b/vendor/github.com/sagikazarmark/locafero/justfile @@ -2,7 +2,7 @@ default: just --list test: - go test -race -v ./... + go test -count 10 -shuffle on -race -v ./... fuzz: go test -race -v -fuzz=Fuzz -fuzztime=60s ./... diff --git a/vendor/github.com/sourcegraph/conc/Makefile b/vendor/github.com/sourcegraph/conc/Makefile new file mode 100644 index 000000000..3e0720a12 --- /dev/null +++ b/vendor/github.com/sourcegraph/conc/Makefile @@ -0,0 +1,24 @@ +.DEFAULT_GOAL := help + +GO_BIN ?= $(shell go env GOPATH)/bin + +.PHONY: help +help: + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +$(GO_BIN)/golangci-lint: + @echo "==> Installing golangci-lint within "${GO_BIN}"" + @go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest + +.PHONY: lint +lint: $(GO_BIN)/golangci-lint ## Run linting on Go files + @echo "==> Linting Go source files" + @golangci-lint run -v --fix -c .golangci.yml ./... + +.PHONY: test +test: ## Run tests + go test -race -v ./... -coverprofile ./coverage.txt + +.PHONY: bench +bench: ## Run benchmarks. See https://pkg.go.dev/cmd/go#hdr-Testing_flags + go test ./... -bench . -benchtime 5s -timeout 0 -run=XXX -cpu 1 -benchmem diff --git a/vendor/github.com/sourcegraph/conc/internal/multierror/multierror_go119.go b/vendor/github.com/sourcegraph/conc/internal/multierror/multierror_go119.go deleted file mode 100644 index 7087e32a8..000000000 --- a/vendor/github.com/sourcegraph/conc/internal/multierror/multierror_go119.go +++ /dev/null @@ -1,10 +0,0 @@ -//go:build !go1.20 -// +build !go1.20 - -package multierror - -import "go.uber.org/multierr" - -var ( - Join = multierr.Combine -) diff --git a/vendor/github.com/sourcegraph/conc/internal/multierror/multierror_go120.go b/vendor/github.com/sourcegraph/conc/internal/multierror/multierror_go120.go deleted file mode 100644 index 39cff829a..000000000 --- a/vendor/github.com/sourcegraph/conc/internal/multierror/multierror_go120.go +++ /dev/null @@ -1,10 +0,0 @@ -//go:build go1.20 -// +build go1.20 - -package multierror - -import "errors" - -var ( - Join = errors.Join -) diff --git a/vendor/github.com/sourcegraph/conc/iter/iter.go b/vendor/github.com/sourcegraph/conc/iter/iter.go deleted file mode 100644 index 124b4f940..000000000 --- a/vendor/github.com/sourcegraph/conc/iter/iter.go +++ /dev/null @@ -1,85 +0,0 @@ -package iter - -import ( - "runtime" - "sync/atomic" - - "github.com/sourcegraph/conc" -) - -// defaultMaxGoroutines returns the default maximum number of -// goroutines to use within this package. -func defaultMaxGoroutines() int { return runtime.GOMAXPROCS(0) } - -// Iterator can be used to configure the behaviour of ForEach -// and ForEachIdx. The zero value is safe to use with reasonable -// defaults. -// -// Iterator is also safe for reuse and concurrent use. -type Iterator[T any] struct { - // MaxGoroutines controls the maximum number of goroutines - // to use on this Iterator's methods. - // - // If unset, MaxGoroutines defaults to runtime.GOMAXPROCS(0). - MaxGoroutines int -} - -// ForEach executes f in parallel over each element in input. -// -// It is safe to mutate the input parameter, which makes it -// possible to map in place. -// -// ForEach always uses at most runtime.GOMAXPROCS goroutines. -// It takes roughly 2µs to start up the goroutines and adds -// an overhead of roughly 50ns per element of input. For -// a configurable goroutine limit, use a custom Iterator. -func ForEach[T any](input []T, f func(*T)) { Iterator[T]{}.ForEach(input, f) } - -// ForEach executes f in parallel over each element in input, -// using up to the Iterator's configured maximum number of -// goroutines. -// -// It is safe to mutate the input parameter, which makes it -// possible to map in place. -// -// It takes roughly 2µs to start up the goroutines and adds -// an overhead of roughly 50ns per element of input. -func (iter Iterator[T]) ForEach(input []T, f func(*T)) { - iter.ForEachIdx(input, func(_ int, t *T) { - f(t) - }) -} - -// ForEachIdx is the same as ForEach except it also provides the -// index of the element to the callback. -func ForEachIdx[T any](input []T, f func(int, *T)) { Iterator[T]{}.ForEachIdx(input, f) } - -// ForEachIdx is the same as ForEach except it also provides the -// index of the element to the callback. -func (iter Iterator[T]) ForEachIdx(input []T, f func(int, *T)) { - if iter.MaxGoroutines == 0 { - // iter is a value receiver and is hence safe to mutate - iter.MaxGoroutines = defaultMaxGoroutines() - } - - numInput := len(input) - if iter.MaxGoroutines > numInput { - // No more concurrent tasks than the number of input items. - iter.MaxGoroutines = numInput - } - - var idx atomic.Int64 - // Create the task outside the loop to avoid extra closure allocations. - task := func() { - i := int(idx.Add(1) - 1) - for ; i < numInput; i = int(idx.Add(1) - 1) { - f(i, &input[i]) - } - } - - var wg conc.WaitGroup - for i := 0; i < iter.MaxGoroutines; i++ { - wg.Go(task) - } - wg.Wait() -} diff --git a/vendor/github.com/sourcegraph/conc/iter/map.go b/vendor/github.com/sourcegraph/conc/iter/map.go deleted file mode 100644 index efbe6bfaf..000000000 --- a/vendor/github.com/sourcegraph/conc/iter/map.go +++ /dev/null @@ -1,65 +0,0 @@ -package iter - -import ( - "sync" - - "github.com/sourcegraph/conc/internal/multierror" -) - -// Mapper is an Iterator with a result type R. It can be used to configure -// the behaviour of Map and MapErr. The zero value is safe to use with -// reasonable defaults. -// -// Mapper is also safe for reuse and concurrent use. -type Mapper[T, R any] Iterator[T] - -// Map applies f to each element of input, returning the mapped result. -// -// Map always uses at most runtime.GOMAXPROCS goroutines. For a configurable -// goroutine limit, use a custom Mapper. -func Map[T, R any](input []T, f func(*T) R) []R { - return Mapper[T, R]{}.Map(input, f) -} - -// Map applies f to each element of input, returning the mapped result. -// -// Map uses up to the configured Mapper's maximum number of goroutines. -func (m Mapper[T, R]) Map(input []T, f func(*T) R) []R { - res := make([]R, len(input)) - Iterator[T](m).ForEachIdx(input, func(i int, t *T) { - res[i] = f(t) - }) - return res -} - -// MapErr applies f to each element of the input, returning the mapped result -// and a combined error of all returned errors. -// -// Map always uses at most runtime.GOMAXPROCS goroutines. For a configurable -// goroutine limit, use a custom Mapper. -func MapErr[T, R any](input []T, f func(*T) (R, error)) ([]R, error) { - return Mapper[T, R]{}.MapErr(input, f) -} - -// MapErr applies f to each element of the input, returning the mapped result -// and a combined error of all returned errors. -// -// Map uses up to the configured Mapper's maximum number of goroutines. -func (m Mapper[T, R]) MapErr(input []T, f func(*T) (R, error)) ([]R, error) { - var ( - res = make([]R, len(input)) - errMux sync.Mutex - errs error - ) - Iterator[T](m).ForEachIdx(input, func(i int, t *T) { - var err error - res[i], err = f(t) - if err != nil { - errMux.Lock() - // TODO: use stdlib errors once multierrors land in go 1.20 - errs = multierror.Join(errs, err) - errMux.Unlock() - } - }) - return res, errs -} diff --git a/vendor/github.com/sourcegraph/conc/pool/context_pool.go b/vendor/github.com/sourcegraph/conc/pool/context_pool.go new file mode 100644 index 000000000..85c34e5ae --- /dev/null +++ b/vendor/github.com/sourcegraph/conc/pool/context_pool.go @@ -0,0 +1,104 @@ +package pool + +import ( + "context" +) + +// ContextPool is a pool that runs tasks that take a context. +// A new ContextPool should be created with `New().WithContext(ctx)`. +// +// The configuration methods (With*) will panic if they are used after calling +// Go() for the first time. +type ContextPool struct { + errorPool ErrorPool + + ctx context.Context + cancel context.CancelFunc + + cancelOnError bool +} + +// Go submits a task. If it returns an error, the error will be +// collected and returned by Wait(). If all goroutines in the pool +// are busy, a call to Go() will block until the task can be started. +func (p *ContextPool) Go(f func(ctx context.Context) error) { + p.errorPool.Go(func() error { + if p.cancelOnError { + // If we are cancelling on error, then we also want to cancel if a + // panic is raised. To do this, we need to recover, cancel, and then + // re-throw the caught panic. + defer func() { + if r := recover(); r != nil { + p.cancel() + panic(r) + } + }() + } + + err := f(p.ctx) + if err != nil && p.cancelOnError { + // Leaky abstraction warning: We add the error directly because + // otherwise, canceling could cause another goroutine to exit and + // return an error before this error was added, which breaks the + // expectations of WithFirstError(). + p.errorPool.addErr(err) + p.cancel() + return nil + } + return err + }) +} + +// Wait cleans up all spawned goroutines, propagates any panics, and +// returns an error if any of the tasks errored. +func (p *ContextPool) Wait() error { + // Make sure we call cancel after pool is done to avoid memory leakage. + defer p.cancel() + return p.errorPool.Wait() +} + +// WithFirstError configures the pool to only return the first error +// returned by a task. By default, Wait() will return a combined error. +// This is particularly useful for (*ContextPool).WithCancelOnError(), +// where all errors after the first are likely to be context.Canceled. +func (p *ContextPool) WithFirstError() *ContextPool { + p.panicIfInitialized() + p.errorPool.WithFirstError() + return p +} + +// WithCancelOnError configures the pool to cancel its context as soon as +// any task returns an error or panics. By default, the pool's context is not +// canceled until the parent context is canceled. +// +// In this case, all errors returned from the pool after the first will +// likely be context.Canceled - you may want to also use +// (*ContextPool).WithFirstError() to configure the pool to only return +// the first error. +func (p *ContextPool) WithCancelOnError() *ContextPool { + p.panicIfInitialized() + p.cancelOnError = true + return p +} + +// WithFailFast is an alias for the combination of WithFirstError and +// WithCancelOnError. By default, the errors from all tasks are returned and +// the pool's context is not canceled until the parent context is canceled. +func (p *ContextPool) WithFailFast() *ContextPool { + p.panicIfInitialized() + p.WithFirstError() + p.WithCancelOnError() + return p +} + +// WithMaxGoroutines limits the number of goroutines in a pool. +// Defaults to unlimited. Panics if n < 1. +func (p *ContextPool) WithMaxGoroutines(n int) *ContextPool { + p.panicIfInitialized() + p.errorPool.WithMaxGoroutines(n) + return p +} + +func (p *ContextPool) panicIfInitialized() { + p.errorPool.panicIfInitialized() +} diff --git a/vendor/github.com/sourcegraph/conc/pool/error_pool.go b/vendor/github.com/sourcegraph/conc/pool/error_pool.go new file mode 100644 index 000000000..e1789e61b --- /dev/null +++ b/vendor/github.com/sourcegraph/conc/pool/error_pool.go @@ -0,0 +1,100 @@ +package pool + +import ( + "context" + "errors" + "sync" +) + +// ErrorPool is a pool that runs tasks that may return an error. +// Errors are collected and returned by Wait(). +// +// The configuration methods (With*) will panic if they are used after calling +// Go() for the first time. +// +// A new ErrorPool should be created using `New().WithErrors()`. +type ErrorPool struct { + pool Pool + + onlyFirstError bool + + mu sync.Mutex + errs []error +} + +// Go submits a task to the pool. If all goroutines in the pool +// are busy, a call to Go() will block until the task can be started. +func (p *ErrorPool) Go(f func() error) { + p.pool.Go(func() { + p.addErr(f()) + }) +} + +// Wait cleans up any spawned goroutines, propagating any panics and +// returning any errors from tasks. +func (p *ErrorPool) Wait() error { + p.pool.Wait() + + errs := p.errs + p.errs = nil // reset errs + + if len(errs) == 0 { + return nil + } else if p.onlyFirstError { + return errs[0] + } else { + return errors.Join(errs...) + } +} + +// WithContext converts the pool to a ContextPool for tasks that should +// run under the same context, such that they each respect shared cancellation. +// For example, WithCancelOnError can be configured on the returned pool to +// signal that all goroutines should be cancelled upon the first error. +func (p *ErrorPool) WithContext(ctx context.Context) *ContextPool { + p.panicIfInitialized() + ctx, cancel := context.WithCancel(ctx) + return &ContextPool{ + errorPool: p.deref(), + ctx: ctx, + cancel: cancel, + } +} + +// WithFirstError configures the pool to only return the first error +// returned by a task. By default, Wait() will return a combined error. +func (p *ErrorPool) WithFirstError() *ErrorPool { + p.panicIfInitialized() + p.onlyFirstError = true + return p +} + +// WithMaxGoroutines limits the number of goroutines in a pool. +// Defaults to unlimited. Panics if n < 1. +func (p *ErrorPool) WithMaxGoroutines(n int) *ErrorPool { + p.panicIfInitialized() + p.pool.WithMaxGoroutines(n) + return p +} + +// deref is a helper that creates a shallow copy of the pool with the same +// settings. We don't want to just dereference the pointer because that makes +// the copylock lint angry. +func (p *ErrorPool) deref() ErrorPool { + return ErrorPool{ + pool: p.pool.deref(), + onlyFirstError: p.onlyFirstError, + } +} + +func (p *ErrorPool) panicIfInitialized() { + p.pool.panicIfInitialized() +} + +func (p *ErrorPool) addErr(err error) { + if err != nil { + p.mu.Lock() + p.errs = append(p.errs, err) + p.mu.Unlock() + } +} diff --git a/vendor/github.com/sourcegraph/conc/pool/pool.go b/vendor/github.com/sourcegraph/conc/pool/pool.go new file mode 100644 index 000000000..8f4494efb --- /dev/null +++ b/vendor/github.com/sourcegraph/conc/pool/pool.go @@ -0,0 +1,174 @@ +package pool + +import ( + "context" + "sync" + + "github.com/sourcegraph/conc" +) + +// New creates a new Pool. +func New() *Pool { + return &Pool{} +} + +// Pool is a pool of goroutines used to execute tasks concurrently. +// +// Tasks are submitted with Go(). Once all your tasks have been submitted, you +// must call Wait() to clean up any spawned goroutines and propagate any +// panics. +// +// Goroutines are started lazily, so creating a new pool is cheap. There will +// never be more goroutines spawned than there are tasks submitted. +// +// The configuration methods (With*) will panic if they are used after calling +// Go() for the first time. +// +// Pool is efficient, but not zero cost. It should not be used for very short +// tasks. Startup and teardown come with an overhead of around 1µs, and each +// task has an overhead of around 300ns. +type Pool struct { + handle conc.WaitGroup + limiter limiter + tasks chan func() + initOnce sync.Once +} + +// Go submits a task to be run in the pool. If all goroutines in the pool +// are busy, a call to Go() will block until the task can be started. +func (p *Pool) Go(f func()) { + p.init() + + if p.limiter == nil { + // No limit on the number of goroutines. + select { + case p.tasks <- f: + // A goroutine was available to handle the task. + default: + // No goroutine was available to handle the task. + // Spawn a new one and send it the task. + p.handle.Go(func() { + p.worker(f) + }) + } + } else { + select { + case p.limiter <- struct{}{}: + // If we are below our limit, spawn a new worker rather + // than waiting for one to become available. + p.handle.Go(func() { + p.worker(f) + }) + case p.tasks <- f: + // A worker is available and has accepted the task. + return + } + } + +} + +// Wait cleans up spawned goroutines, propagating any panics that were +// raised by a tasks. +func (p *Pool) Wait() { + p.init() + + close(p.tasks) + + // After Wait() returns, reset the struct so tasks will be reinitialized on + // next use. This better matches the behavior of sync.WaitGroup + defer func() { p.initOnce = sync.Once{} }() + + p.handle.Wait() +} + +// MaxGoroutines returns the maximum size of the pool. +func (p *Pool) MaxGoroutines() int { + return p.limiter.limit() +} + +// WithMaxGoroutines limits the number of goroutines in a pool. +// Defaults to unlimited. Panics if n < 1. +func (p *Pool) WithMaxGoroutines(n int) *Pool { + p.panicIfInitialized() + if n < 1 { + panic("max goroutines in a pool must be greater than zero") + } + p.limiter = make(limiter, n) + return p +} + +// init ensures that the pool is initialized before use. This makes the +// zero value of the pool usable. +func (p *Pool) init() { + p.initOnce.Do(func() { + p.tasks = make(chan func()) + }) +} + +// panicIfInitialized will trigger a panic if a configuration method is called +// after the pool has started any goroutines for the first time. In the case that +// new settings are needed, a new pool should be created. +func (p *Pool) panicIfInitialized() { + if p.tasks != nil { + panic("pool can not be reconfigured after calling Go() for the first time") + } +} + +// WithErrors converts the pool to an ErrorPool so the submitted tasks can +// return errors. +func (p *Pool) WithErrors() *ErrorPool { + p.panicIfInitialized() + return &ErrorPool{ + pool: p.deref(), + } +} + +// deref is a helper that creates a shallow copy of the pool with the same +// settings. We don't want to just dereference the pointer because that makes +// the copylock lint angry. +func (p *Pool) deref() Pool { + p.panicIfInitialized() + return Pool{ + limiter: p.limiter, + } +} + +// WithContext converts the pool to a ContextPool for tasks that should +// run under the same context, such that they each respect shared cancellation. +// For example, WithCancelOnError can be configured on the returned pool to +// signal that all goroutines should be cancelled upon the first error. +func (p *Pool) WithContext(ctx context.Context) *ContextPool { + p.panicIfInitialized() + ctx, cancel := context.WithCancel(ctx) + return &ContextPool{ + errorPool: p.WithErrors().deref(), + ctx: ctx, + cancel: cancel, + } +} + +func (p *Pool) worker(initialFunc func()) { + // The only time this matters is if the task panics. + // This makes it possible to spin up new workers in that case. + defer p.limiter.release() + + if initialFunc != nil { + initialFunc() + } + + for f := range p.tasks { + f() + } +} + +type limiter chan struct{} + +func (l limiter) limit() int { + return cap(l) +} + +func (l limiter) release() { + if l != nil { + <-l + } +} diff --git a/vendor/github.com/sourcegraph/conc/pool/result_context_pool.go b/vendor/github.com/sourcegraph/conc/pool/result_context_pool.go new file mode 100644 index 000000000..6bc30dd63 --- /dev/null +++ b/vendor/github.com/sourcegraph/conc/pool/result_context_pool.go @@ -0,0 +1,85 @@ +package pool + +import ( + "context" +) + +// ResultContextPool is a pool that runs tasks that take a context and return a +// result. The context passed to the task will be canceled if any of the tasks +// return an error, which makes its functionality different than just capturing +// a context with the task closure. +// +// The configuration methods (With*) will panic if they are used after calling +// Go() for the first time. +type ResultContextPool[T any] struct { + contextPool ContextPool + agg resultAggregator[T] + collectErrored bool +} + +// Go submits a task to the pool. If all goroutines in the pool +// are busy, a call to Go() will block until the task can be started. +func (p *ResultContextPool[T]) Go(f func(context.Context) (T, error)) { + idx := p.agg.nextIndex() + p.contextPool.Go(func(ctx context.Context) error { + res, err := f(ctx) + p.agg.save(idx, res, err != nil) + return err + }) +} + +// Wait cleans up all spawned goroutines, propagates any panics, and +// returns an error if any of the tasks errored. +func (p *ResultContextPool[T]) Wait() ([]T, error) { + err := p.contextPool.Wait() + results := p.agg.collect(p.collectErrored) + p.agg = resultAggregator[T]{} + return results, err +} + +// WithCollectErrored configures the pool to still collect the result of a task +// even if the task returned an error. By default, the result of tasks that errored +// are ignored and only the error is collected. +func (p *ResultContextPool[T]) WithCollectErrored() *ResultContextPool[T] { + p.panicIfInitialized() + p.collectErrored = true + return p +} + +// WithFirstError configures the pool to only return the first error +// returned by a task. By default, Wait() will return a combined error. +func (p *ResultContextPool[T]) WithFirstError() *ResultContextPool[T] { + p.panicIfInitialized() + p.contextPool.WithFirstError() + return p +} + +// WithCancelOnError configures the pool to cancel its context as soon as +// any task returns an error. By default, the pool's context is not +// canceled until the parent context is canceled. +func (p *ResultContextPool[T]) WithCancelOnError() *ResultContextPool[T] { + p.panicIfInitialized() + p.contextPool.WithCancelOnError() + return p +} + +// WithFailFast is an alias for the combination of WithFirstError and +// WithCancelOnError. By default, the errors from all tasks are returned and +// the pool's context is not canceled until the parent context is canceled. +func (p *ResultContextPool[T]) WithFailFast() *ResultContextPool[T] { + p.panicIfInitialized() + p.contextPool.WithFailFast() + return p +} + +// WithMaxGoroutines limits the number of goroutines in a pool. +// Defaults to unlimited. Panics if n < 1. +func (p *ResultContextPool[T]) WithMaxGoroutines(n int) *ResultContextPool[T] { + p.panicIfInitialized() + p.contextPool.WithMaxGoroutines(n) + return p +} + +func (p *ResultContextPool[T]) panicIfInitialized() { + p.contextPool.panicIfInitialized() +} diff --git a/vendor/github.com/sourcegraph/conc/pool/result_error_pool.go b/vendor/github.com/sourcegraph/conc/pool/result_error_pool.go new file mode 100644 index 000000000..832cd9bb4 --- /dev/null +++ b/vendor/github.com/sourcegraph/conc/pool/result_error_pool.go @@ -0,0 +1,80 @@ +package pool + +import ( + "context" +) + +// ResultErrorPool is a pool that executes tasks that return a generic result +// type and an error. Tasks are executed in the pool with Go(), then the +// results of the tasks are returned by Wait(). +// +// The order of the results is guaranteed to be the same as the order the +// tasks were submitted. +// +// The configuration methods (With*) will panic if they are used after calling +// Go() for the first time. +type ResultErrorPool[T any] struct { + errorPool ErrorPool + agg resultAggregator[T] + collectErrored bool +} + +// Go submits a task to the pool. If all goroutines in the pool +// are busy, a call to Go() will block until the task can be started. +func (p *ResultErrorPool[T]) Go(f func() (T, error)) { + idx := p.agg.nextIndex() + p.errorPool.Go(func() error { + res, err := f() + p.agg.save(idx, res, err != nil) + return err + }) +} + +// Wait cleans up any spawned goroutines, propagating any panics and +// returning the results and any errors from tasks. +func (p *ResultErrorPool[T]) Wait() ([]T, error) { + err := p.errorPool.Wait() + results := p.agg.collect(p.collectErrored) + p.agg = resultAggregator[T]{} // reset for reuse + return results, err +} + +// WithCollectErrored configures the pool to still collect the result of a task +// even if the task returned an error. By default, the result of tasks that errored +// are ignored and only the error is collected. +func (p *ResultErrorPool[T]) WithCollectErrored() *ResultErrorPool[T] { + p.panicIfInitialized() + p.collectErrored = true + return p +} + +// WithContext converts the pool to a ResultContextPool for tasks that should +// run under the same context, such that they each respect shared cancellation. +// For example, WithCancelOnError can be configured on the returned pool to +// signal that all goroutines should be cancelled upon the first error. +func (p *ResultErrorPool[T]) WithContext(ctx context.Context) *ResultContextPool[T] { + p.panicIfInitialized() + return &ResultContextPool[T]{ + contextPool: *p.errorPool.WithContext(ctx), + } +} + +// WithFirstError configures the pool to only return the first error +// returned by a task. By default, Wait() will return a combined error. +func (p *ResultErrorPool[T]) WithFirstError() *ResultErrorPool[T] { + p.panicIfInitialized() + p.errorPool.WithFirstError() + return p +} + +// WithMaxGoroutines limits the number of goroutines in a pool. +// Defaults to unlimited. Panics if n < 1. +func (p *ResultErrorPool[T]) WithMaxGoroutines(n int) *ResultErrorPool[T] { + p.panicIfInitialized() + p.errorPool.WithMaxGoroutines(n) + return p +} + +func (p *ResultErrorPool[T]) panicIfInitialized() { + p.errorPool.panicIfInitialized() +} diff --git a/vendor/github.com/sourcegraph/conc/pool/result_pool.go b/vendor/github.com/sourcegraph/conc/pool/result_pool.go new file mode 100644 index 000000000..f73a77261 --- /dev/null +++ b/vendor/github.com/sourcegraph/conc/pool/result_pool.go @@ -0,0 +1,142 @@ +package pool + +import ( + "context" + "sort" + "sync" +) + +// NewWithResults creates a new ResultPool for tasks with a result of type T. +// +// The configuration methods (With*) will panic if they are used after calling +// Go() for the first time. +func NewWithResults[T any]() *ResultPool[T] { + return &ResultPool[T]{ + pool: *New(), + } +} + +// ResultPool is a pool that executes tasks that return a generic result type. +// Tasks are executed in the pool with Go(), then the results of the tasks are +// returned by Wait(). +// +// The order of the results is guaranteed to be the same as the order the +// tasks were submitted. +type ResultPool[T any] struct { + pool Pool + agg resultAggregator[T] +} + +// Go submits a task to the pool. If all goroutines in the pool +// are busy, a call to Go() will block until the task can be started. +func (p *ResultPool[T]) Go(f func() T) { + idx := p.agg.nextIndex() + p.pool.Go(func() { + p.agg.save(idx, f(), false) + }) +} + +// Wait cleans up all spawned goroutines, propagating any panics, and returning +// a slice of results from tasks that did not panic. +func (p *ResultPool[T]) Wait() []T { + p.pool.Wait() + results := p.agg.collect(true) + p.agg = resultAggregator[T]{} // reset for reuse + return results +} + +// MaxGoroutines returns the maximum size of the pool. +func (p *ResultPool[T]) MaxGoroutines() int { + return p.pool.MaxGoroutines() +} + +// WithErrors converts the pool to an ResultErrorPool so the submitted tasks +// can return errors. +func (p *ResultPool[T]) WithErrors() *ResultErrorPool[T] { + p.panicIfInitialized() + return &ResultErrorPool[T]{ + errorPool: *p.pool.WithErrors(), + } +} + +// WithContext converts the pool to a ResultContextPool for tasks that should +// run under the same context, such that they each respect shared cancellation. +// For example, WithCancelOnError can be configured on the returned pool to +// signal that all goroutines should be cancelled upon the first error. +func (p *ResultPool[T]) WithContext(ctx context.Context) *ResultContextPool[T] { + p.panicIfInitialized() + return &ResultContextPool[T]{ + contextPool: *p.pool.WithContext(ctx), + } +} + +// WithMaxGoroutines limits the number of goroutines in a pool. +// Defaults to unlimited. Panics if n < 1. +func (p *ResultPool[T]) WithMaxGoroutines(n int) *ResultPool[T] { + p.panicIfInitialized() + p.pool.WithMaxGoroutines(n) + return p +} + +func (p *ResultPool[T]) panicIfInitialized() { + p.pool.panicIfInitialized() +} + +// resultAggregator is a utility type that lets us safely append from multiple +// goroutines. The zero value is valid and ready to use. +type resultAggregator[T any] struct { + mu sync.Mutex + len int + results []T + errored []int +} + +// nextIndex reserves a slot for a result. The returned value should be passed +// to save() when adding a result to the aggregator. +func (r *resultAggregator[T]) nextIndex() int { + r.mu.Lock() + defer r.mu.Unlock() + + nextIdx := r.len + r.len += 1 + return nextIdx +} + +func (r *resultAggregator[T]) save(i int, res T, errored bool) { + r.mu.Lock() + defer r.mu.Unlock() + + if i >= len(r.results) { + old := r.results + r.results = make([]T, r.len) + copy(r.results, old) + } + + r.results[i] = res + + if errored { + r.errored = append(r.errored, i) + } +} + +// collect returns the set of aggregated results. +func (r *resultAggregator[T]) collect(collectErrored bool) []T { + if !r.mu.TryLock() { + panic("collect should not be called until all goroutines have exited") + } + + if collectErrored || len(r.errored) == 0 { + return r.results + } + + filtered := r.results[:0] + sort.Ints(r.errored) + for i, e := range r.errored { + if i == 0 { + filtered = append(filtered, r.results[:e]...) + } else { + filtered = append(filtered, r.results[r.errored[i-1]+1:e]...) + } + } + return filtered +} diff --git a/vendor/github.com/spf13/cast/.editorconfig b/vendor/github.com/spf13/cast/.editorconfig new file mode 100644 index 000000000..a85749f19 --- /dev/null +++ b/vendor/github.com/spf13/cast/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.go] +indent_style = tab + +[{*.yml,*.yaml}] +indent_size = 2 diff --git a/vendor/github.com/spf13/cast/.golangci.yaml b/vendor/github.com/spf13/cast/.golangci.yaml new file mode 100644 index 000000000..e00fd47aa --- /dev/null +++ b/vendor/github.com/spf13/cast/.golangci.yaml @@ -0,0 +1,39 @@ +version: "2" + +run: + timeout: 10m + +linters: + enable: + - errcheck + - govet + - ineffassign + - misspell + - nolintlint + # - revive + - unused + + disable: + - staticcheck + + settings: + misspell: + locale: US + nolintlint: + allow-unused: false # report any unused nolint directives + require-specific: false # don't require nolint directives to be specific about which linter is being skipped + +formatters: + enable: + - gci + - gofmt + # - gofumpt + - goimports + # - golines + + settings: + gci: + sections: + - standard + - default + - localmodule diff --git a/vendor/github.com/spf13/cast/README.md b/vendor/github.com/spf13/cast/README.md index 1be666a45..c58eccb3f 100644 --- a/vendor/github.com/spf13/cast/README.md +++ b/vendor/github.com/spf13/cast/README.md @@ -1,9 +1,9 @@ # cast -[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/spf13/cast/test.yaml?branch=master&style=flat-square)](https://github.com/spf13/cast/actions/workflows/test.yaml) -[![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/spf13/cast)](https://pkg.go.dev/mod/github.com/spf13/cast) -![Go Version](https://img.shields.io/badge/go%20version-%3E=1.16-61CFDD.svg?style=flat-square) -[![Go Report Card](https://goreportcard.com/badge/github.com/spf13/cast?style=flat-square)](https://goreportcard.com/report/github.com/spf13/cast) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/spf13/cast/ci.yaml?style=flat-square)](https://github.com/spf13/cast/actions/workflows/ci.yaml) +[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/mod/github.com/spf13/cast) +![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/spf13/cast?style=flat-square&color=61CFDD) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/spf13/cast/badge?style=flat-square)](https://deps.dev/go/github.com%252Fspf13%252Fcast) Easy and safe casting from one type to another in Go @@ -73,3 +73,7 @@ the code for a complete set. var eight interface{} = 8 cast.ToInt(eight) // 8 cast.ToInt(nil) // 0 + +## License + +The project is licensed under the [MIT License](LICENSE). diff --git a/vendor/github.com/spf13/cast/alias.go b/vendor/github.com/spf13/cast/alias.go new file mode 100644 index 000000000..855d60005 --- /dev/null +++ b/vendor/github.com/spf13/cast/alias.go @@ -0,0 +1,69 @@ +// Copyright © 2014 Steve Francia . +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file. +package cast + +import ( + "reflect" + "slices" +) + +var kindNames = []string{ + reflect.String: "string", + reflect.Bool: "bool", + reflect.Int: "int", + reflect.Int8: "int8", + reflect.Int16: "int16", + reflect.Int32: "int32", + reflect.Int64: "int64", + reflect.Uint: "uint", + reflect.Uint8: "uint8", + reflect.Uint16: "uint16", + reflect.Uint32: "uint32", + reflect.Uint64: "uint64", + reflect.Float32: "float32", + reflect.Float64: "float64", +} + +var kinds = map[reflect.Kind]func(reflect.Value) any{ + reflect.String: func(v reflect.Value) any { return v.String() }, + reflect.Bool: func(v reflect.Value) any { return v.Bool() }, + reflect.Int: func(v reflect.Value) any { return int(v.Int()) }, + reflect.Int8: func(v reflect.Value) any { return int8(v.Int()) }, + reflect.Int16: func(v reflect.Value) any { return int16(v.Int()) }, + reflect.Int32: func(v reflect.Value) any { return int32(v.Int()) }, + reflect.Int64: func(v reflect.Value) any { return v.Int() }, + reflect.Uint: func(v reflect.Value) any { return uint(v.Uint()) }, + reflect.Uint8: func(v reflect.Value) any { return uint8(v.Uint()) }, + reflect.Uint16: func(v reflect.Value) any { return uint16(v.Uint()) }, + reflect.Uint32: func(v reflect.Value) any { return uint32(v.Uint()) }, + reflect.Uint64: func(v reflect.Value) any { return v.Uint() }, + reflect.Float32: func(v reflect.Value) any { return float32(v.Float()) }, + reflect.Float64: func(v reflect.Value) any { return v.Float() }, +} + +// resolveAlias attempts to resolve a named type to its underlying basic type (if possible). +// +// Pointers are expected to be indirected by this point. +func resolveAlias(i any) (any, bool) { + if i == nil { + return nil, false + } + + t := reflect.TypeOf(i) + + // Not a named type + if t.Name() == "" || slices.Contains(kindNames, t.Name()) { + return i, false + } + + resolve, ok := kinds[t.Kind()] + if !ok { // Not a supported kind + return i, false + } + + v := reflect.ValueOf(i) + + return resolve(v), true +} diff --git a/vendor/github.com/spf13/cast/basic.go b/vendor/github.com/spf13/cast/basic.go new file mode 100644 index 000000000..fa330e207 --- /dev/null +++ b/vendor/github.com/spf13/cast/basic.go @@ -0,0 +1,131 @@ +// Copyright © 2014 Steve Francia . +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file. + +package cast + +import ( + "encoding/json" + "fmt" + "html/template" + "strconv" + "time" +) + +// ToBoolE casts any value to a bool type. +func ToBoolE(i any) (bool, error) { + i, _ = indirect(i) + + switch b := i.(type) { + case bool: + return b, nil + case nil: + return false, nil + case int: + return b != 0, nil + case int8: + return b != 0, nil + case int16: + return b != 0, nil + case int32: + return b != 0, nil + case int64: + return b != 0, nil + case uint: + return b != 0, nil + case uint8: + return b != 0, nil + case uint16: + return b != 0, nil + case uint32: + return b != 0, nil + case uint64: + return b != 0, nil + case float32: + return b != 0, nil + case float64: + return b != 0, nil + case time.Duration: + return b != 0, nil + case string: + return strconv.ParseBool(b) + case json.Number: + v, err := ToInt64E(b) + if err == nil { + return v != 0, nil + } + + return false, fmt.Errorf(errorMsg, i, i, false) + default: + if i, ok := resolveAlias(i); ok { + return ToBoolE(i) + } + + return false, fmt.Errorf(errorMsg, i, i, false) + } +} + +// ToStringE casts any value to a string type. +func ToStringE(i any) (string, error) { + switch s := i.(type) { + case string: + return s, nil + case bool: + return strconv.FormatBool(s), nil + case float64: + return strconv.FormatFloat(s, 'f', -1, 64), nil + case float32: + return strconv.FormatFloat(float64(s), 'f', -1, 32), nil + case int: + return strconv.Itoa(s), nil + case int8: + return strconv.FormatInt(int64(s), 10), nil + case int16: + return strconv.FormatInt(int64(s), 10), nil + case int32: + return strconv.FormatInt(int64(s), 10), nil + case int64: + return strconv.FormatInt(s, 10), nil + case uint: + return strconv.FormatUint(uint64(s), 10), nil + case uint8: + return strconv.FormatUint(uint64(s), 10), nil + case uint16: + return strconv.FormatUint(uint64(s), 10), nil + case uint32: + return strconv.FormatUint(uint64(s), 10), nil + case uint64: + return strconv.FormatUint(s, 10), nil + case json.Number: + return s.String(), nil + case []byte: + return string(s), nil + case template.HTML: + return string(s), nil + case template.URL: + return string(s), nil + case template.JS: + return string(s), nil + case template.CSS: + return string(s), nil + case template.HTMLAttr: + return string(s), nil + case nil: + return "", nil + case fmt.Stringer: + return s.String(), nil + case error: + return s.Error(), nil + default: + if i, ok := indirect(i); ok { + return ToStringE(i) + } + + if i, ok := resolveAlias(i); ok { + return ToStringE(i) + } + + return "", fmt.Errorf(errorMsg, i, i, "") + } +} diff --git a/vendor/github.com/spf13/cast/cast.go b/vendor/github.com/spf13/cast/cast.go index 0cfe9418d..8d85539b3 100644 --- a/vendor/github.com/spf13/cast/cast.go +++ b/vendor/github.com/spf13/cast/cast.go @@ -8,169 +8,77 @@ package cast import "time" -// ToBool casts an interface to a bool type. -func ToBool(i interface{}) bool { - v, _ := ToBoolE(i) - return v -} - -// ToTime casts an interface to a time.Time type. -func ToTime(i interface{}) time.Time { - v, _ := ToTimeE(i) - return v -} - -func ToTimeInDefaultLocation(i interface{}, location *time.Location) time.Time { - v, _ := ToTimeInDefaultLocationE(i, location) - return v -} - -// ToDuration casts an interface to a time.Duration type. -func ToDuration(i interface{}) time.Duration { - v, _ := ToDurationE(i) - return v -} - -// ToFloat64 casts an interface to a float64 type. -func ToFloat64(i interface{}) float64 { - v, _ := ToFloat64E(i) - return v -} - -// ToFloat32 casts an interface to a float32 type. -func ToFloat32(i interface{}) float32 { - v, _ := ToFloat32E(i) - return v -} - -// ToInt64 casts an interface to an int64 type. -func ToInt64(i interface{}) int64 { - v, _ := ToInt64E(i) - return v -} - -// ToInt32 casts an interface to an int32 type. -func ToInt32(i interface{}) int32 { - v, _ := ToInt32E(i) - return v -} - -// ToInt16 casts an interface to an int16 type. -func ToInt16(i interface{}) int16 { - v, _ := ToInt16E(i) - return v -} - -// ToInt8 casts an interface to an int8 type. -func ToInt8(i interface{}) int8 { - v, _ := ToInt8E(i) - return v -} - -// ToInt casts an interface to an int type. -func ToInt(i interface{}) int { - v, _ := ToIntE(i) - return v -} - -// ToUint casts an interface to a uint type. -func ToUint(i interface{}) uint { - v, _ := ToUintE(i) - return v -} - -// ToUint64 casts an interface to a uint64 type. -func ToUint64(i interface{}) uint64 { - v, _ := ToUint64E(i) - return v -} - -// ToUint32 casts an interface to a uint32 type. -func ToUint32(i interface{}) uint32 { - v, _ := ToUint32E(i) - return v -} - -// ToUint16 casts an interface to a uint16 type. -func ToUint16(i interface{}) uint16 { - v, _ := ToUint16E(i) - return v -} - -// ToUint8 casts an interface to a uint8 type. -func ToUint8(i interface{}) uint8 { - v, _ := ToUint8E(i) - return v -} - -// ToString casts an interface to a string type. -func ToString(i interface{}) string { - v, _ := ToStringE(i) - return v -} - -// ToStringMapString casts an interface to a map[string]string type. -func ToStringMapString(i interface{}) map[string]string { - v, _ := ToStringMapStringE(i) - return v -} - -// ToStringMapStringSlice casts an interface to a map[string][]string type. -func ToStringMapStringSlice(i interface{}) map[string][]string { - v, _ := ToStringMapStringSliceE(i) - return v -} - -// ToStringMapBool casts an interface to a map[string]bool type. -func ToStringMapBool(i interface{}) map[string]bool { - v, _ := ToStringMapBoolE(i) - return v -} - -// ToStringMapInt casts an interface to a map[string]int type. -func ToStringMapInt(i interface{}) map[string]int { - v, _ := ToStringMapIntE(i) - return v -} - -// ToStringMapInt64 casts an interface to a map[string]int64 type. -func ToStringMapInt64(i interface{}) map[string]int64 { - v, _ := ToStringMapInt64E(i) - return v -} - -// ToStringMap casts an interface to a map[string]interface{} type. -func ToStringMap(i interface{}) map[string]interface{} { - v, _ := ToStringMapE(i) - return v -} - -// ToSlice casts an interface to a []interface{} type. -func ToSlice(i interface{}) []interface{} { - v, _ := ToSliceE(i) - return v -} - -// ToBoolSlice casts an interface to a []bool type. -func ToBoolSlice(i interface{}) []bool { - v, _ := ToBoolSliceE(i) - return v -} - -// ToStringSlice casts an interface to a []string type. -func ToStringSlice(i interface{}) []string { - v, _ := ToStringSliceE(i) - return v -} +const errorMsg = "unable to cast %#v of type %T to %T" +const errorMsgWith = "unable to cast %#v of type %T to %T: %w" -// ToIntSlice casts an interface to a []int type. -func ToIntSlice(i interface{}) []int { - v, _ := ToIntSliceE(i) - return v -} +// Basic is a type parameter constraint for functions accepting basic types. +// +// It represents the supported basic types this package can cast to. +type Basic interface { + string | bool | Number | time.Time | time.Duration +} + +// ToE casts any value to a [Basic] type. +func ToE[T Basic](i any) (T, error) { + var t T + + var v any + var err error + + switch any(t).(type) { + case string: + v, err = ToStringE(i) + case bool: + v, err = ToBoolE(i) + case int: + v, err = toNumberE[int](i, parseInt[int]) + case int8: + v, err = toNumberE[int8](i, parseInt[int8]) + case int16: + v, err = toNumberE[int16](i, parseInt[int16]) + case int32: + v, err = toNumberE[int32](i, parseInt[int32]) + case int64: + v, err = toNumberE[int64](i, parseInt[int64]) + case uint: + v, err = toUnsignedNumberE[uint](i, parseUint[uint]) + case uint8: + v, err = toUnsignedNumberE[uint8](i, parseUint[uint8]) + case uint16: + v, err = toUnsignedNumberE[uint16](i, parseUint[uint16]) + case uint32: + v, err = toUnsignedNumberE[uint32](i, parseUint[uint32]) + case uint64: + v, err = toUnsignedNumberE[uint64](i, parseUint[uint64]) + case float32: + v, err = toNumberE[float32](i, parseFloat[float32]) + case float64: + v, err = toNumberE[float64](i, parseFloat[float64]) + case time.Time: + v, err = ToTimeE(i) + case time.Duration: + v, err = ToDurationE(i) + } + + if err != nil { + return t, err + } + + return v.(T), nil +} + +// Must is a helper that wraps a call to a cast function and panics if the error is non-nil. +func Must[T any](i any, err error) T { + if err != nil { + panic(err) + } + + return i.(T) +} + +// To casts any value to a [Basic] type. +func To[T Basic](i any) T { + v, _ := ToE[T](i) -// ToDurationSlice casts an interface to a []time.Duration type. -func ToDurationSlice(i interface{}) []time.Duration { - v, _ := ToDurationSliceE(i) return v } diff --git a/vendor/github.com/spf13/cast/caste.go b/vendor/github.com/spf13/cast/caste.go deleted file mode 100644 index 4181a2e75..000000000 --- a/vendor/github.com/spf13/cast/caste.go +++ /dev/null @@ -1,1510 +0,0 @@ -// Copyright © 2014 Steve Francia . -// -// Use of this source code is governed by an MIT-style -// license that can be found in the LICENSE file. - -package cast - -import ( - "encoding/json" - "errors" - "fmt" - "html/template" - "reflect" - "strconv" - "strings" - "time" -) - -var errNegativeNotAllowed = errors.New("unable to cast negative value") - -type float64EProvider interface { - Float64() (float64, error) -} - -type float64Provider interface { - Float64() float64 -} - -// ToTimeE casts an interface to a time.Time type. -func ToTimeE(i interface{}) (tim time.Time, err error) { - return ToTimeInDefaultLocationE(i, time.UTC) -} - -// ToTimeInDefaultLocationE casts an empty interface to time.Time, -// interpreting inputs without a timezone to be in the given location, -// or the local timezone if nil. -func ToTimeInDefaultLocationE(i interface{}, location *time.Location) (tim time.Time, err error) { - i = indirect(i) - - switch v := i.(type) { - case time.Time: - return v, nil - case string: - return StringToDateInDefaultLocation(v, location) - case json.Number: - s, err1 := ToInt64E(v) - if err1 != nil { - return time.Time{}, fmt.Errorf("unable to cast %#v of type %T to Time", i, i) - } - return time.Unix(s, 0), nil - case int: - return time.Unix(int64(v), 0), nil - case int64: - return time.Unix(v, 0), nil - case int32: - return time.Unix(int64(v), 0), nil - case uint: - return time.Unix(int64(v), 0), nil - case uint64: - return time.Unix(int64(v), 0), nil - case uint32: - return time.Unix(int64(v), 0), nil - default: - return time.Time{}, fmt.Errorf("unable to cast %#v of type %T to Time", i, i) - } -} - -// ToDurationE casts an interface to a time.Duration type. -func ToDurationE(i interface{}) (d time.Duration, err error) { - i = indirect(i) - - switch s := i.(type) { - case time.Duration: - return s, nil - case int, int64, int32, int16, int8, uint, uint64, uint32, uint16, uint8: - d = time.Duration(ToInt64(s)) - return - case float32, float64: - d = time.Duration(ToFloat64(s)) - return - case string: - if strings.ContainsAny(s, "nsuµmh") { - d, err = time.ParseDuration(s) - } else { - d, err = time.ParseDuration(s + "ns") - } - return - case float64EProvider: - var v float64 - v, err = s.Float64() - d = time.Duration(v) - return - case float64Provider: - d = time.Duration(s.Float64()) - return - default: - err = fmt.Errorf("unable to cast %#v of type %T to Duration", i, i) - return - } -} - -// ToBoolE casts an interface to a bool type. -func ToBoolE(i interface{}) (bool, error) { - i = indirect(i) - - switch b := i.(type) { - case bool: - return b, nil - case nil: - return false, nil - case int: - return b != 0, nil - case int64: - return b != 0, nil - case int32: - return b != 0, nil - case int16: - return b != 0, nil - case int8: - return b != 0, nil - case uint: - return b != 0, nil - case uint64: - return b != 0, nil - case uint32: - return b != 0, nil - case uint16: - return b != 0, nil - case uint8: - return b != 0, nil - case float64: - return b != 0, nil - case float32: - return b != 0, nil - case time.Duration: - return b != 0, nil - case string: - return strconv.ParseBool(i.(string)) - case json.Number: - v, err := ToInt64E(b) - if err == nil { - return v != 0, nil - } - return false, fmt.Errorf("unable to cast %#v of type %T to bool", i, i) - default: - return false, fmt.Errorf("unable to cast %#v of type %T to bool", i, i) - } -} - -// ToFloat64E casts an interface to a float64 type. -func ToFloat64E(i interface{}) (float64, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - return float64(intv), nil - } - - switch s := i.(type) { - case float64: - return s, nil - case float32: - return float64(s), nil - case int64: - return float64(s), nil - case int32: - return float64(s), nil - case int16: - return float64(s), nil - case int8: - return float64(s), nil - case uint: - return float64(s), nil - case uint64: - return float64(s), nil - case uint32: - return float64(s), nil - case uint16: - return float64(s), nil - case uint8: - return float64(s), nil - case string: - v, err := strconv.ParseFloat(s, 64) - if err == nil { - return v, nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to float64", i, i) - case float64EProvider: - v, err := s.Float64() - if err == nil { - return v, nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to float64", i, i) - case float64Provider: - return s.Float64(), nil - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to float64", i, i) - } -} - -// ToFloat32E casts an interface to a float32 type. -func ToFloat32E(i interface{}) (float32, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - return float32(intv), nil - } - - switch s := i.(type) { - case float64: - return float32(s), nil - case float32: - return s, nil - case int64: - return float32(s), nil - case int32: - return float32(s), nil - case int16: - return float32(s), nil - case int8: - return float32(s), nil - case uint: - return float32(s), nil - case uint64: - return float32(s), nil - case uint32: - return float32(s), nil - case uint16: - return float32(s), nil - case uint8: - return float32(s), nil - case string: - v, err := strconv.ParseFloat(s, 32) - if err == nil { - return float32(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to float32", i, i) - case float64EProvider: - v, err := s.Float64() - if err == nil { - return float32(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to float32", i, i) - case float64Provider: - return float32(s.Float64()), nil - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to float32", i, i) - } -} - -// ToInt64E casts an interface to an int64 type. -func ToInt64E(i interface{}) (int64, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - return int64(intv), nil - } - - switch s := i.(type) { - case int64: - return s, nil - case int32: - return int64(s), nil - case int16: - return int64(s), nil - case int8: - return int64(s), nil - case uint: - return int64(s), nil - case uint64: - return int64(s), nil - case uint32: - return int64(s), nil - case uint16: - return int64(s), nil - case uint8: - return int64(s), nil - case float64: - return int64(s), nil - case float32: - return int64(s), nil - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - return v, nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to int64", i, i) - case json.Number: - return ToInt64E(string(s)) - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to int64", i, i) - } -} - -// ToInt32E casts an interface to an int32 type. -func ToInt32E(i interface{}) (int32, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - return int32(intv), nil - } - - switch s := i.(type) { - case int64: - return int32(s), nil - case int32: - return s, nil - case int16: - return int32(s), nil - case int8: - return int32(s), nil - case uint: - return int32(s), nil - case uint64: - return int32(s), nil - case uint32: - return int32(s), nil - case uint16: - return int32(s), nil - case uint8: - return int32(s), nil - case float64: - return int32(s), nil - case float32: - return int32(s), nil - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - return int32(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to int32", i, i) - case json.Number: - return ToInt32E(string(s)) - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to int32", i, i) - } -} - -// ToInt16E casts an interface to an int16 type. -func ToInt16E(i interface{}) (int16, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - return int16(intv), nil - } - - switch s := i.(type) { - case int64: - return int16(s), nil - case int32: - return int16(s), nil - case int16: - return s, nil - case int8: - return int16(s), nil - case uint: - return int16(s), nil - case uint64: - return int16(s), nil - case uint32: - return int16(s), nil - case uint16: - return int16(s), nil - case uint8: - return int16(s), nil - case float64: - return int16(s), nil - case float32: - return int16(s), nil - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - return int16(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to int16", i, i) - case json.Number: - return ToInt16E(string(s)) - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to int16", i, i) - } -} - -// ToInt8E casts an interface to an int8 type. -func ToInt8E(i interface{}) (int8, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - return int8(intv), nil - } - - switch s := i.(type) { - case int64: - return int8(s), nil - case int32: - return int8(s), nil - case int16: - return int8(s), nil - case int8: - return s, nil - case uint: - return int8(s), nil - case uint64: - return int8(s), nil - case uint32: - return int8(s), nil - case uint16: - return int8(s), nil - case uint8: - return int8(s), nil - case float64: - return int8(s), nil - case float32: - return int8(s), nil - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - return int8(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to int8", i, i) - case json.Number: - return ToInt8E(string(s)) - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to int8", i, i) - } -} - -// ToIntE casts an interface to an int type. -func ToIntE(i interface{}) (int, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - return intv, nil - } - - switch s := i.(type) { - case int64: - return int(s), nil - case int32: - return int(s), nil - case int16: - return int(s), nil - case int8: - return int(s), nil - case uint: - return int(s), nil - case uint64: - return int(s), nil - case uint32: - return int(s), nil - case uint16: - return int(s), nil - case uint8: - return int(s), nil - case float64: - return int(s), nil - case float32: - return int(s), nil - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - return int(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to int64", i, i) - case json.Number: - return ToIntE(string(s)) - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to int", i, i) - } -} - -// ToUintE casts an interface to a uint type. -func ToUintE(i interface{}) (uint, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - if intv < 0 { - return 0, errNegativeNotAllowed - } - return uint(intv), nil - } - - switch s := i.(type) { - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - if v < 0 { - return 0, errNegativeNotAllowed - } - return uint(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to uint", i, i) - case json.Number: - return ToUintE(string(s)) - case int64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint(s), nil - case int32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint(s), nil - case int16: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint(s), nil - case int8: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint(s), nil - case uint: - return s, nil - case uint64: - return uint(s), nil - case uint32: - return uint(s), nil - case uint16: - return uint(s), nil - case uint8: - return uint(s), nil - case float64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint(s), nil - case float32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint(s), nil - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to uint", i, i) - } -} - -// ToUint64E casts an interface to a uint64 type. -func ToUint64E(i interface{}) (uint64, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - if intv < 0 { - return 0, errNegativeNotAllowed - } - return uint64(intv), nil - } - - switch s := i.(type) { - case string: - v, err := strconv.ParseUint(trimZeroDecimal(s), 0, 0) - if err == nil { - if v < 0 { - return 0, errNegativeNotAllowed - } - return v, nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to uint64", i, i) - case json.Number: - return ToUint64E(string(s)) - case int64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint64(s), nil - case int32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint64(s), nil - case int16: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint64(s), nil - case int8: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint64(s), nil - case uint: - return uint64(s), nil - case uint64: - return s, nil - case uint32: - return uint64(s), nil - case uint16: - return uint64(s), nil - case uint8: - return uint64(s), nil - case float32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint64(s), nil - case float64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint64(s), nil - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to uint64", i, i) - } -} - -// ToUint32E casts an interface to a uint32 type. -func ToUint32E(i interface{}) (uint32, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - if intv < 0 { - return 0, errNegativeNotAllowed - } - return uint32(intv), nil - } - - switch s := i.(type) { - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - if v < 0 { - return 0, errNegativeNotAllowed - } - return uint32(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to uint32", i, i) - case json.Number: - return ToUint32E(string(s)) - case int64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint32(s), nil - case int32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint32(s), nil - case int16: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint32(s), nil - case int8: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint32(s), nil - case uint: - return uint32(s), nil - case uint64: - return uint32(s), nil - case uint32: - return s, nil - case uint16: - return uint32(s), nil - case uint8: - return uint32(s), nil - case float64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint32(s), nil - case float32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint32(s), nil - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to uint32", i, i) - } -} - -// ToUint16E casts an interface to a uint16 type. -func ToUint16E(i interface{}) (uint16, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - if intv < 0 { - return 0, errNegativeNotAllowed - } - return uint16(intv), nil - } - - switch s := i.(type) { - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - if v < 0 { - return 0, errNegativeNotAllowed - } - return uint16(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to uint16", i, i) - case json.Number: - return ToUint16E(string(s)) - case int64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint16(s), nil - case int32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint16(s), nil - case int16: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint16(s), nil - case int8: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint16(s), nil - case uint: - return uint16(s), nil - case uint64: - return uint16(s), nil - case uint32: - return uint16(s), nil - case uint16: - return s, nil - case uint8: - return uint16(s), nil - case float64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint16(s), nil - case float32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint16(s), nil - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to uint16", i, i) - } -} - -// ToUint8E casts an interface to a uint type. -func ToUint8E(i interface{}) (uint8, error) { - i = indirect(i) - - intv, ok := toInt(i) - if ok { - if intv < 0 { - return 0, errNegativeNotAllowed - } - return uint8(intv), nil - } - - switch s := i.(type) { - case string: - v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0) - if err == nil { - if v < 0 { - return 0, errNegativeNotAllowed - } - return uint8(v), nil - } - return 0, fmt.Errorf("unable to cast %#v of type %T to uint8", i, i) - case json.Number: - return ToUint8E(string(s)) - case int64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint8(s), nil - case int32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint8(s), nil - case int16: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint8(s), nil - case int8: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint8(s), nil - case uint: - return uint8(s), nil - case uint64: - return uint8(s), nil - case uint32: - return uint8(s), nil - case uint16: - return uint8(s), nil - case uint8: - return s, nil - case float64: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint8(s), nil - case float32: - if s < 0 { - return 0, errNegativeNotAllowed - } - return uint8(s), nil - case bool: - if s { - return 1, nil - } - return 0, nil - case nil: - return 0, nil - default: - return 0, fmt.Errorf("unable to cast %#v of type %T to uint8", i, i) - } -} - -// From html/template/content.go -// Copyright 2011 The Go Authors. All rights reserved. -// indirect returns the value, after dereferencing as many times -// as necessary to reach the base type (or nil). -func indirect(a interface{}) interface{} { - if a == nil { - return nil - } - if t := reflect.TypeOf(a); t.Kind() != reflect.Ptr { - // Avoid creating a reflect.Value if it's not a pointer. - return a - } - v := reflect.ValueOf(a) - for v.Kind() == reflect.Ptr && !v.IsNil() { - v = v.Elem() - } - return v.Interface() -} - -// From html/template/content.go -// Copyright 2011 The Go Authors. All rights reserved. -// indirectToStringerOrError returns the value, after dereferencing as many times -// as necessary to reach the base type (or nil) or an implementation of fmt.Stringer -// or error, -func indirectToStringerOrError(a interface{}) interface{} { - if a == nil { - return nil - } - - errorType := reflect.TypeOf((*error)(nil)).Elem() - fmtStringerType := reflect.TypeOf((*fmt.Stringer)(nil)).Elem() - - v := reflect.ValueOf(a) - for !v.Type().Implements(fmtStringerType) && !v.Type().Implements(errorType) && v.Kind() == reflect.Ptr && !v.IsNil() { - v = v.Elem() - } - return v.Interface() -} - -// ToStringE casts an interface to a string type. -func ToStringE(i interface{}) (string, error) { - i = indirectToStringerOrError(i) - - switch s := i.(type) { - case string: - return s, nil - case bool: - return strconv.FormatBool(s), nil - case float64: - return strconv.FormatFloat(s, 'f', -1, 64), nil - case float32: - return strconv.FormatFloat(float64(s), 'f', -1, 32), nil - case int: - return strconv.Itoa(s), nil - case int64: - return strconv.FormatInt(s, 10), nil - case int32: - return strconv.Itoa(int(s)), nil - case int16: - return strconv.FormatInt(int64(s), 10), nil - case int8: - return strconv.FormatInt(int64(s), 10), nil - case uint: - return strconv.FormatUint(uint64(s), 10), nil - case uint64: - return strconv.FormatUint(uint64(s), 10), nil - case uint32: - return strconv.FormatUint(uint64(s), 10), nil - case uint16: - return strconv.FormatUint(uint64(s), 10), nil - case uint8: - return strconv.FormatUint(uint64(s), 10), nil - case json.Number: - return s.String(), nil - case []byte: - return string(s), nil - case template.HTML: - return string(s), nil - case template.URL: - return string(s), nil - case template.JS: - return string(s), nil - case template.CSS: - return string(s), nil - case template.HTMLAttr: - return string(s), nil - case nil: - return "", nil - case fmt.Stringer: - return s.String(), nil - case error: - return s.Error(), nil - default: - return "", fmt.Errorf("unable to cast %#v of type %T to string", i, i) - } -} - -// ToStringMapStringE casts an interface to a map[string]string type. -func ToStringMapStringE(i interface{}) (map[string]string, error) { - m := map[string]string{} - - switch v := i.(type) { - case map[string]string: - return v, nil - case map[string]interface{}: - for k, val := range v { - m[ToString(k)] = ToString(val) - } - return m, nil - case map[interface{}]string: - for k, val := range v { - m[ToString(k)] = ToString(val) - } - return m, nil - case map[interface{}]interface{}: - for k, val := range v { - m[ToString(k)] = ToString(val) - } - return m, nil - case string: - err := jsonStringToObject(v, &m) - return m, err - default: - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]string", i, i) - } -} - -// ToStringMapStringSliceE casts an interface to a map[string][]string type. -func ToStringMapStringSliceE(i interface{}) (map[string][]string, error) { - m := map[string][]string{} - - switch v := i.(type) { - case map[string][]string: - return v, nil - case map[string][]interface{}: - for k, val := range v { - m[ToString(k)] = ToStringSlice(val) - } - return m, nil - case map[string]string: - for k, val := range v { - m[ToString(k)] = []string{val} - } - case map[string]interface{}: - for k, val := range v { - switch vt := val.(type) { - case []interface{}: - m[ToString(k)] = ToStringSlice(vt) - case []string: - m[ToString(k)] = vt - default: - m[ToString(k)] = []string{ToString(val)} - } - } - return m, nil - case map[interface{}][]string: - for k, val := range v { - m[ToString(k)] = ToStringSlice(val) - } - return m, nil - case map[interface{}]string: - for k, val := range v { - m[ToString(k)] = ToStringSlice(val) - } - return m, nil - case map[interface{}][]interface{}: - for k, val := range v { - m[ToString(k)] = ToStringSlice(val) - } - return m, nil - case map[interface{}]interface{}: - for k, val := range v { - key, err := ToStringE(k) - if err != nil { - return m, fmt.Errorf("unable to cast %#v of type %T to map[string][]string", i, i) - } - value, err := ToStringSliceE(val) - if err != nil { - return m, fmt.Errorf("unable to cast %#v of type %T to map[string][]string", i, i) - } - m[key] = value - } - case string: - err := jsonStringToObject(v, &m) - return m, err - default: - return m, fmt.Errorf("unable to cast %#v of type %T to map[string][]string", i, i) - } - return m, nil -} - -// ToStringMapBoolE casts an interface to a map[string]bool type. -func ToStringMapBoolE(i interface{}) (map[string]bool, error) { - m := map[string]bool{} - - switch v := i.(type) { - case map[interface{}]interface{}: - for k, val := range v { - m[ToString(k)] = ToBool(val) - } - return m, nil - case map[string]interface{}: - for k, val := range v { - m[ToString(k)] = ToBool(val) - } - return m, nil - case map[string]bool: - return v, nil - case string: - err := jsonStringToObject(v, &m) - return m, err - default: - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]bool", i, i) - } -} - -// ToStringMapE casts an interface to a map[string]interface{} type. -func ToStringMapE(i interface{}) (map[string]interface{}, error) { - m := map[string]interface{}{} - - switch v := i.(type) { - case map[interface{}]interface{}: - for k, val := range v { - m[ToString(k)] = val - } - return m, nil - case map[string]interface{}: - return v, nil - case string: - err := jsonStringToObject(v, &m) - return m, err - default: - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]interface{}", i, i) - } -} - -// ToStringMapIntE casts an interface to a map[string]int{} type. -func ToStringMapIntE(i interface{}) (map[string]int, error) { - m := map[string]int{} - if i == nil { - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i) - } - - switch v := i.(type) { - case map[interface{}]interface{}: - for k, val := range v { - m[ToString(k)] = ToInt(val) - } - return m, nil - case map[string]interface{}: - for k, val := range v { - m[k] = ToInt(val) - } - return m, nil - case map[string]int: - return v, nil - case string: - err := jsonStringToObject(v, &m) - return m, err - } - - if reflect.TypeOf(i).Kind() != reflect.Map { - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i) - } - - mVal := reflect.ValueOf(m) - v := reflect.ValueOf(i) - for _, keyVal := range v.MapKeys() { - val, err := ToIntE(v.MapIndex(keyVal).Interface()) - if err != nil { - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i) - } - mVal.SetMapIndex(keyVal, reflect.ValueOf(val)) - } - return m, nil -} - -// ToStringMapInt64E casts an interface to a map[string]int64{} type. -func ToStringMapInt64E(i interface{}) (map[string]int64, error) { - m := map[string]int64{} - if i == nil { - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i) - } - - switch v := i.(type) { - case map[interface{}]interface{}: - for k, val := range v { - m[ToString(k)] = ToInt64(val) - } - return m, nil - case map[string]interface{}: - for k, val := range v { - m[k] = ToInt64(val) - } - return m, nil - case map[string]int64: - return v, nil - case string: - err := jsonStringToObject(v, &m) - return m, err - } - - if reflect.TypeOf(i).Kind() != reflect.Map { - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i) - } - mVal := reflect.ValueOf(m) - v := reflect.ValueOf(i) - for _, keyVal := range v.MapKeys() { - val, err := ToInt64E(v.MapIndex(keyVal).Interface()) - if err != nil { - return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i) - } - mVal.SetMapIndex(keyVal, reflect.ValueOf(val)) - } - return m, nil -} - -// ToSliceE casts an interface to a []interface{} type. -func ToSliceE(i interface{}) ([]interface{}, error) { - var s []interface{} - - switch v := i.(type) { - case []interface{}: - return append(s, v...), nil - case []map[string]interface{}: - for _, u := range v { - s = append(s, u) - } - return s, nil - default: - return s, fmt.Errorf("unable to cast %#v of type %T to []interface{}", i, i) - } -} - -// ToBoolSliceE casts an interface to a []bool type. -func ToBoolSliceE(i interface{}) ([]bool, error) { - if i == nil { - return []bool{}, fmt.Errorf("unable to cast %#v of type %T to []bool", i, i) - } - - switch v := i.(type) { - case []bool: - return v, nil - } - - kind := reflect.TypeOf(i).Kind() - switch kind { - case reflect.Slice, reflect.Array: - s := reflect.ValueOf(i) - a := make([]bool, s.Len()) - for j := 0; j < s.Len(); j++ { - val, err := ToBoolE(s.Index(j).Interface()) - if err != nil { - return []bool{}, fmt.Errorf("unable to cast %#v of type %T to []bool", i, i) - } - a[j] = val - } - return a, nil - default: - return []bool{}, fmt.Errorf("unable to cast %#v of type %T to []bool", i, i) - } -} - -// ToStringSliceE casts an interface to a []string type. -func ToStringSliceE(i interface{}) ([]string, error) { - var a []string - - switch v := i.(type) { - case []interface{}: - for _, u := range v { - a = append(a, ToString(u)) - } - return a, nil - case []string: - return v, nil - case []int8: - for _, u := range v { - a = append(a, ToString(u)) - } - return a, nil - case []int: - for _, u := range v { - a = append(a, ToString(u)) - } - return a, nil - case []int32: - for _, u := range v { - a = append(a, ToString(u)) - } - return a, nil - case []int64: - for _, u := range v { - a = append(a, ToString(u)) - } - return a, nil - case []float32: - for _, u := range v { - a = append(a, ToString(u)) - } - return a, nil - case []float64: - for _, u := range v { - a = append(a, ToString(u)) - } - return a, nil - case string: - return strings.Fields(v), nil - case []error: - for _, err := range i.([]error) { - a = append(a, err.Error()) - } - return a, nil - case interface{}: - str, err := ToStringE(v) - if err != nil { - return a, fmt.Errorf("unable to cast %#v of type %T to []string", i, i) - } - return []string{str}, nil - default: - return a, fmt.Errorf("unable to cast %#v of type %T to []string", i, i) - } -} - -// ToIntSliceE casts an interface to a []int type. -func ToIntSliceE(i interface{}) ([]int, error) { - if i == nil { - return []int{}, fmt.Errorf("unable to cast %#v of type %T to []int", i, i) - } - - switch v := i.(type) { - case []int: - return v, nil - } - - kind := reflect.TypeOf(i).Kind() - switch kind { - case reflect.Slice, reflect.Array: - s := reflect.ValueOf(i) - a := make([]int, s.Len()) - for j := 0; j < s.Len(); j++ { - val, err := ToIntE(s.Index(j).Interface()) - if err != nil { - return []int{}, fmt.Errorf("unable to cast %#v of type %T to []int", i, i) - } - a[j] = val - } - return a, nil - default: - return []int{}, fmt.Errorf("unable to cast %#v of type %T to []int", i, i) - } -} - -// ToDurationSliceE casts an interface to a []time.Duration type. -func ToDurationSliceE(i interface{}) ([]time.Duration, error) { - if i == nil { - return []time.Duration{}, fmt.Errorf("unable to cast %#v of type %T to []time.Duration", i, i) - } - - switch v := i.(type) { - case []time.Duration: - return v, nil - } - - kind := reflect.TypeOf(i).Kind() - switch kind { - case reflect.Slice, reflect.Array: - s := reflect.ValueOf(i) - a := make([]time.Duration, s.Len()) - for j := 0; j < s.Len(); j++ { - val, err := ToDurationE(s.Index(j).Interface()) - if err != nil { - return []time.Duration{}, fmt.Errorf("unable to cast %#v of type %T to []time.Duration", i, i) - } - a[j] = val - } - return a, nil - default: - return []time.Duration{}, fmt.Errorf("unable to cast %#v of type %T to []time.Duration", i, i) - } -} - -// StringToDate attempts to parse a string into a time.Time type using a -// predefined list of formats. If no suitable format is found, an error is -// returned. -func StringToDate(s string) (time.Time, error) { - return parseDateWith(s, time.UTC, timeFormats) -} - -// StringToDateInDefaultLocation casts an empty interface to a time.Time, -// interpreting inputs without a timezone to be in the given location, -// or the local timezone if nil. -func StringToDateInDefaultLocation(s string, location *time.Location) (time.Time, error) { - return parseDateWith(s, location, timeFormats) -} - -type timeFormatType int - -const ( - timeFormatNoTimezone timeFormatType = iota - timeFormatNamedTimezone - timeFormatNumericTimezone - timeFormatNumericAndNamedTimezone - timeFormatTimeOnly -) - -type timeFormat struct { - format string - typ timeFormatType -} - -func (f timeFormat) hasTimezone() bool { - // We don't include the formats with only named timezones, see - // https://github.com/golang/go/issues/19694#issuecomment-289103522 - return f.typ >= timeFormatNumericTimezone && f.typ <= timeFormatNumericAndNamedTimezone -} - -var timeFormats = []timeFormat{ - // Keep common formats at the top. - {"2006-01-02", timeFormatNoTimezone}, - {time.RFC3339, timeFormatNumericTimezone}, - {"2006-01-02T15:04:05", timeFormatNoTimezone}, // iso8601 without timezone - {time.RFC1123Z, timeFormatNumericTimezone}, - {time.RFC1123, timeFormatNamedTimezone}, - {time.RFC822Z, timeFormatNumericTimezone}, - {time.RFC822, timeFormatNamedTimezone}, - {time.RFC850, timeFormatNamedTimezone}, - {"2006-01-02 15:04:05.999999999 -0700 MST", timeFormatNumericAndNamedTimezone}, // Time.String() - {"2006-01-02T15:04:05-0700", timeFormatNumericTimezone}, // RFC3339 without timezone hh:mm colon - {"2006-01-02 15:04:05Z0700", timeFormatNumericTimezone}, // RFC3339 without T or timezone hh:mm colon - {"2006-01-02 15:04:05", timeFormatNoTimezone}, - {time.ANSIC, timeFormatNoTimezone}, - {time.UnixDate, timeFormatNamedTimezone}, - {time.RubyDate, timeFormatNumericTimezone}, - {"2006-01-02 15:04:05Z07:00", timeFormatNumericTimezone}, - {"02 Jan 2006", timeFormatNoTimezone}, - {"2006-01-02 15:04:05 -07:00", timeFormatNumericTimezone}, - {"2006-01-02 15:04:05 -0700", timeFormatNumericTimezone}, - {time.Kitchen, timeFormatTimeOnly}, - {time.Stamp, timeFormatTimeOnly}, - {time.StampMilli, timeFormatTimeOnly}, - {time.StampMicro, timeFormatTimeOnly}, - {time.StampNano, timeFormatTimeOnly}, -} - -func parseDateWith(s string, location *time.Location, formats []timeFormat) (d time.Time, e error) { - for _, format := range formats { - if d, e = time.Parse(format.format, s); e == nil { - - // Some time formats have a zone name, but no offset, so it gets - // put in that zone name (not the default one passed in to us), but - // without that zone's offset. So set the location manually. - if format.typ <= timeFormatNamedTimezone { - if location == nil { - location = time.Local - } - year, month, day := d.Date() - hour, min, sec := d.Clock() - d = time.Date(year, month, day, hour, min, sec, d.Nanosecond(), location) - } - - return - } - } - return d, fmt.Errorf("unable to parse date: %s", s) -} - -// jsonStringToObject attempts to unmarshall a string as JSON into -// the object passed as pointer. -func jsonStringToObject(s string, v interface{}) error { - data := []byte(s) - return json.Unmarshal(data, v) -} - -// toInt returns the int value of v if v or v's underlying type -// is an int. -// Note that this will return false for int64 etc. types. -func toInt(v interface{}) (int, bool) { - switch v := v.(type) { - case int: - return v, true - case time.Weekday: - return int(v), true - case time.Month: - return int(v), true - default: - return 0, false - } -} - -func trimZeroDecimal(s string) string { - var foundZero bool - for i := len(s); i > 0; i-- { - switch s[i-1] { - case '.': - if foundZero { - return s[:i-1] - } - case '0': - foundZero = true - default: - return s - } - } - return s -} diff --git a/vendor/github.com/spf13/cast/indirect.go b/vendor/github.com/spf13/cast/indirect.go new file mode 100644 index 000000000..093345f73 --- /dev/null +++ b/vendor/github.com/spf13/cast/indirect.go @@ -0,0 +1,37 @@ +// Copyright © 2014 Steve Francia . +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file. + +package cast + +import ( + "reflect" +) + +// From html/template/content.go +// Copyright 2011 The Go Authors. All rights reserved. +// indirect returns the value, after dereferencing as many times +// as necessary to reach the base type (or nil). +func indirect(i any) (any, bool) { + if i == nil { + return nil, false + } + + if t := reflect.TypeOf(i); t.Kind() != reflect.Ptr { + // Avoid creating a reflect.Value if it's not a pointer. + return i, false + } + + v := reflect.ValueOf(i) + + for v.Kind() == reflect.Ptr || (v.Kind() == reflect.Interface && v.Elem().Kind() == reflect.Ptr) { + if v.IsNil() { + return nil, true + } + + v = v.Elem() + } + + return v.Interface(), true +} diff --git a/vendor/github.com/spf13/cast/internal/time.go b/vendor/github.com/spf13/cast/internal/time.go new file mode 100644 index 000000000..906e9aece --- /dev/null +++ b/vendor/github.com/spf13/cast/internal/time.go @@ -0,0 +1,79 @@ +package internal + +import ( + "fmt" + "time" +) + +//go:generate stringer -type=TimeFormatType + +type TimeFormatType int + +const ( + TimeFormatNoTimezone TimeFormatType = iota + TimeFormatNamedTimezone + TimeFormatNumericTimezone + TimeFormatNumericAndNamedTimezone + TimeFormatTimeOnly +) + +type TimeFormat struct { + Format string + Typ TimeFormatType +} + +func (f TimeFormat) HasTimezone() bool { + // We don't include the formats with only named timezones, see + // https://github.com/golang/go/issues/19694#issuecomment-289103522 + return f.Typ >= TimeFormatNumericTimezone && f.Typ <= TimeFormatNumericAndNamedTimezone +} + +var TimeFormats = []TimeFormat{ + // Keep common formats at the top. + {"2006-01-02", TimeFormatNoTimezone}, + {time.RFC3339, TimeFormatNumericTimezone}, + {"2006-01-02T15:04:05", TimeFormatNoTimezone}, // iso8601 without timezone + {time.RFC1123Z, TimeFormatNumericTimezone}, + {time.RFC1123, TimeFormatNamedTimezone}, + {time.RFC822Z, TimeFormatNumericTimezone}, + {time.RFC822, TimeFormatNamedTimezone}, + {time.RFC850, TimeFormatNamedTimezone}, + {"2006-01-02 15:04:05.999999999 -0700 MST", TimeFormatNumericAndNamedTimezone}, // Time.String() + {"2006-01-02T15:04:05-0700", TimeFormatNumericTimezone}, // RFC3339 without timezone hh:mm colon + {"2006-01-02 15:04:05Z0700", TimeFormatNumericTimezone}, // RFC3339 without T or timezone hh:mm colon + {"2006-01-02 15:04:05", TimeFormatNoTimezone}, + {time.ANSIC, TimeFormatNoTimezone}, + {time.UnixDate, TimeFormatNamedTimezone}, + {time.RubyDate, TimeFormatNumericTimezone}, + {"2006-01-02 15:04:05Z07:00", TimeFormatNumericTimezone}, + {"02 Jan 2006", TimeFormatNoTimezone}, + {"2006-01-02 15:04:05 -07:00", TimeFormatNumericTimezone}, + {"2006-01-02 15:04:05 -0700", TimeFormatNumericTimezone}, + {time.Kitchen, TimeFormatTimeOnly}, + {time.Stamp, TimeFormatTimeOnly}, + {time.StampMilli, TimeFormatTimeOnly}, + {time.StampMicro, TimeFormatTimeOnly}, + {time.StampNano, TimeFormatTimeOnly}, +} + +func ParseDateWith(s string, location *time.Location, formats []TimeFormat) (d time.Time, e error) { + for _, format := range formats { + if d, e = time.Parse(format.Format, s); e == nil { + + // Some time formats have a zone name, but no offset, so it gets + // put in that zone name (not the default one passed in to us), but + // without that zone's offset. So set the location manually. + if format.Typ <= TimeFormatNamedTimezone { + if location == nil { + location = time.Local + } + year, month, day := d.Date() + hour, min, sec := d.Clock() + d = time.Date(year, month, day, hour, min, sec, d.Nanosecond(), location) + } + + return + } + } + return d, fmt.Errorf("unable to parse date: %s", s) +} diff --git a/vendor/github.com/spf13/cast/internal/timeformattype_string.go b/vendor/github.com/spf13/cast/internal/timeformattype_string.go new file mode 100644 index 000000000..60a29a862 --- /dev/null +++ b/vendor/github.com/spf13/cast/internal/timeformattype_string.go @@ -0,0 +1,27 @@ +// Code generated by "stringer -type=TimeFormatType"; DO NOT EDIT. + +package internal + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[TimeFormatNoTimezone-0] + _ = x[TimeFormatNamedTimezone-1] + _ = x[TimeFormatNumericTimezone-2] + _ = x[TimeFormatNumericAndNamedTimezone-3] + _ = x[TimeFormatTimeOnly-4] +} + +const _TimeFormatType_name = "TimeFormatNoTimezoneTimeFormatNamedTimezoneTimeFormatNumericTimezoneTimeFormatNumericAndNamedTimezoneTimeFormatTimeOnly" + +var _TimeFormatType_index = [...]uint8{0, 20, 43, 68, 101, 119} + +func (i TimeFormatType) String() string { + if i < 0 || i >= TimeFormatType(len(_TimeFormatType_index)-1) { + return "TimeFormatType(" + strconv.FormatInt(int64(i), 10) + ")" + } + return _TimeFormatType_name[_TimeFormatType_index[i]:_TimeFormatType_index[i+1]] +} diff --git a/vendor/github.com/spf13/cast/map.go b/vendor/github.com/spf13/cast/map.go new file mode 100644 index 000000000..7d6beb56c --- /dev/null +++ b/vendor/github.com/spf13/cast/map.go @@ -0,0 +1,224 @@ +// Copyright © 2014 Steve Francia . +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file. + +package cast + +import ( + "encoding/json" + "fmt" + "reflect" +) + +func toMapE[K comparable, V any](i any, keyFn func(any) K, valFn func(any) V) (map[K]V, error) { + m := map[K]V{} + + if i == nil { + return nil, fmt.Errorf(errorMsg, i, i, m) + } + + switch v := i.(type) { + case map[K]V: + return v, nil + + case map[K]any: + for k, val := range v { + m[k] = valFn(val) + } + + return m, nil + + case map[any]V: + for k, val := range v { + m[keyFn(k)] = val + } + + return m, nil + + case map[any]any: + for k, val := range v { + m[keyFn(k)] = valFn(val) + } + + return m, nil + + case string: + err := jsonStringToObject(v, &m) + if err != nil { + return nil, err + } + + return m, nil + + default: + return nil, fmt.Errorf(errorMsg, i, i, m) + } +} + +func toStringMapE[T any](i any, fn func(any) T) (map[string]T, error) { + return toMapE(i, ToString, fn) +} + +// ToStringMapStringE casts any value to a map[string]string type. +func ToStringMapStringE(i any) (map[string]string, error) { + return toStringMapE(i, ToString) +} + +// ToStringMapStringSliceE casts any value to a map[string][]string type. +func ToStringMapStringSliceE(i any) (map[string][]string, error) { + m := map[string][]string{} + + switch v := i.(type) { + case map[string][]string: + return v, nil + case map[string][]any: + for k, val := range v { + m[ToString(k)] = ToStringSlice(val) + } + return m, nil + case map[string]string: + for k, val := range v { + m[ToString(k)] = []string{val} + } + case map[string]any: + for k, val := range v { + switch vt := val.(type) { + case []any: + m[ToString(k)] = ToStringSlice(vt) + case []string: + m[ToString(k)] = vt + default: + m[ToString(k)] = []string{ToString(val)} + } + } + return m, nil + case map[any][]string: + for k, val := range v { + m[ToString(k)] = ToStringSlice(val) + } + return m, nil + case map[any]string: + for k, val := range v { + m[ToString(k)] = ToStringSlice(val) + } + return m, nil + case map[any][]any: + for k, val := range v { + m[ToString(k)] = ToStringSlice(val) + } + return m, nil + case map[any]any: + for k, val := range v { + key, err := ToStringE(k) + if err != nil { + return nil, fmt.Errorf(errorMsg, i, i, m) + } + value, err := ToStringSliceE(val) + if err != nil { + return nil, fmt.Errorf(errorMsg, i, i, m) + } + m[key] = value + } + case string: + err := jsonStringToObject(v, &m) + if err != nil { + return nil, err + } + + return m, nil + default: + return nil, fmt.Errorf(errorMsg, i, i, m) + } + + return m, nil +} + +// ToStringMapBoolE casts any value to a map[string]bool type. +func ToStringMapBoolE(i any) (map[string]bool, error) { + return toStringMapE(i, ToBool) +} + +// ToStringMapE casts any value to a map[string]any type. +func ToStringMapE(i any) (map[string]any, error) { + fn := func(i any) any { return i } + + return toStringMapE(i, fn) +} + +func toStringMapIntE[T int | int64](i any, fn func(any) T, fnE func(any) (T, error)) (map[string]T, error) { + m := map[string]T{} + + if i == nil { + return nil, fmt.Errorf(errorMsg, i, i, m) + } + + switch v := i.(type) { + case map[string]T: + return v, nil + + case map[string]any: + for k, val := range v { + m[k] = fn(val) + } + + return m, nil + + case map[any]T: + for k, val := range v { + m[ToString(k)] = val + } + + return m, nil + + case map[any]any: + for k, val := range v { + m[ToString(k)] = fn(val) + } + + return m, nil + + case string: + err := jsonStringToObject(v, &m) + if err != nil { + return nil, err + } + + return m, nil + } + + if reflect.TypeOf(i).Kind() != reflect.Map { + return nil, fmt.Errorf(errorMsg, i, i, m) + } + + mVal := reflect.ValueOf(m) + v := reflect.ValueOf(i) + + for _, keyVal := range v.MapKeys() { + val, err := fnE(v.MapIndex(keyVal).Interface()) + if err != nil { + return m, fmt.Errorf(errorMsg, i, i, m) + } + + mVal.SetMapIndex(keyVal, reflect.ValueOf(val)) + } + + return m, nil +} + +// ToStringMapIntE casts any value to a map[string]int type. +func ToStringMapIntE(i any) (map[string]int, error) { + return toStringMapIntE(i, ToInt, ToIntE) +} + +// ToStringMapInt64E casts any value to a map[string]int64 type. +func ToStringMapInt64E(i any) (map[string]int64, error) { + return toStringMapIntE(i, ToInt64, ToInt64E) +} + +// jsonStringToObject attempts to unmarshall a string as JSON into +// the object passed as pointer. +func jsonStringToObject(s string, v any) error { + data := []byte(s) + return json.Unmarshal(data, v) +} diff --git a/vendor/github.com/spf13/cast/number.go b/vendor/github.com/spf13/cast/number.go new file mode 100644 index 000000000..a58dc4d1e --- /dev/null +++ b/vendor/github.com/spf13/cast/number.go @@ -0,0 +1,549 @@ +// Copyright © 2014 Steve Francia . +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file. + +package cast + +import ( + "encoding/json" + "errors" + "fmt" + "regexp" + "strconv" + "strings" + "time" +) + +var errNegativeNotAllowed = errors.New("unable to cast negative value") + +type float64EProvider interface { + Float64() (float64, error) +} + +type float64Provider interface { + Float64() float64 +} + +// Number is a type parameter constraint for functions accepting number types. +// +// It represents the supported number types this package can cast to. +type Number interface { + int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 +} + +type integer interface { + int | int8 | int16 | int32 | int64 +} + +type unsigned interface { + uint | uint8 | uint16 | uint32 | uint64 +} + +type float interface { + float32 | float64 +} + +// ToNumberE casts any value to a [Number] type. +func ToNumberE[T Number](i any) (T, error) { + var t T + + switch any(t).(type) { + case int: + return toNumberE[T](i, parseNumber[T]) + case int8: + return toNumberE[T](i, parseNumber[T]) + case int16: + return toNumberE[T](i, parseNumber[T]) + case int32: + return toNumberE[T](i, parseNumber[T]) + case int64: + return toNumberE[T](i, parseNumber[T]) + case uint: + return toUnsignedNumberE[T](i, parseNumber[T]) + case uint8: + return toUnsignedNumberE[T](i, parseNumber[T]) + case uint16: + return toUnsignedNumberE[T](i, parseNumber[T]) + case uint32: + return toUnsignedNumberE[T](i, parseNumber[T]) + case uint64: + return toUnsignedNumberE[T](i, parseNumber[T]) + case float32: + return toNumberE[T](i, parseNumber[T]) + case float64: + return toNumberE[T](i, parseNumber[T]) + default: + return 0, fmt.Errorf("unknown number type: %T", t) + } +} + +// ToNumber casts any value to a [Number] type. +func ToNumber[T Number](i any) T { + v, _ := ToNumberE[T](i) + + return v +} + +// toNumber's semantics differ from other "to" functions. +// It returns false as the second parameter if the conversion fails. +// This is to signal other callers that they should proceed with their own conversions. +func toNumber[T Number](i any) (T, bool) { + i, _ = indirect(i) + + switch s := i.(type) { + case T: + return s, true + case int: + return T(s), true + case int8: + return T(s), true + case int16: + return T(s), true + case int32: + return T(s), true + case int64: + return T(s), true + case uint: + return T(s), true + case uint8: + return T(s), true + case uint16: + return T(s), true + case uint32: + return T(s), true + case uint64: + return T(s), true + case float32: + return T(s), true + case float64: + return T(s), true + case bool: + if s { + return 1, true + } + + return 0, true + case nil: + return 0, true + case time.Weekday: + return T(s), true + case time.Month: + return T(s), true + } + + return 0, false +} + +func toNumberE[T Number](i any, parseFn func(string) (T, error)) (T, error) { + n, ok := toNumber[T](i) + if ok { + return n, nil + } + + i, _ = indirect(i) + + switch s := i.(type) { + case string: + if s == "" { + return 0, nil + } + + v, err := parseFn(s) + if err != nil { + return 0, fmt.Errorf(errorMsgWith, i, i, n, err) + } + + return v, nil + case json.Number: + if s == "" { + return 0, nil + } + + v, err := parseFn(string(s)) + if err != nil { + return 0, fmt.Errorf(errorMsgWith, i, i, n, err) + } + + return v, nil + case float64EProvider: + if _, ok := any(n).(float64); !ok { + return 0, fmt.Errorf(errorMsg, i, i, n) + } + + v, err := s.Float64() + if err != nil { + return 0, fmt.Errorf(errorMsg, i, i, n) + } + + return T(v), nil + case float64Provider: + if _, ok := any(n).(float64); !ok { + return 0, fmt.Errorf(errorMsg, i, i, n) + } + + return T(s.Float64()), nil + default: + if i, ok := resolveAlias(i); ok { + return toNumberE(i, parseFn) + } + + return 0, fmt.Errorf(errorMsg, i, i, n) + } +} + +func toUnsignedNumber[T Number](i any) (T, bool, bool) { + i, _ = indirect(i) + + switch s := i.(type) { + case T: + return s, true, true + case int: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + case int8: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + case int16: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + case int32: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + case int64: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + case uint: + return T(s), true, true + case uint8: + return T(s), true, true + case uint16: + return T(s), true, true + case uint32: + return T(s), true, true + case uint64: + return T(s), true, true + case float32: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + case float64: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + case bool: + if s { + return 1, true, true + } + + return 0, true, true + case nil: + return 0, true, true + case time.Weekday: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + case time.Month: + if s < 0 { + return 0, false, false + } + + return T(s), true, true + } + + return 0, true, false +} + +func toUnsignedNumberE[T Number](i any, parseFn func(string) (T, error)) (T, error) { + n, valid, ok := toUnsignedNumber[T](i) + if ok { + return n, nil + } + + i, _ = indirect(i) + + if !valid { + return 0, errNegativeNotAllowed + } + + switch s := i.(type) { + case string: + if s == "" { + return 0, nil + } + + v, err := parseFn(s) + if err != nil { + return 0, fmt.Errorf(errorMsgWith, i, i, n, err) + } + + return v, nil + case json.Number: + if s == "" { + return 0, nil + } + + v, err := parseFn(string(s)) + if err != nil { + return 0, fmt.Errorf(errorMsgWith, i, i, n, err) + } + + return v, nil + case float64EProvider: + if _, ok := any(n).(float64); !ok { + return 0, fmt.Errorf(errorMsg, i, i, n) + } + + v, err := s.Float64() + if err != nil { + return 0, fmt.Errorf(errorMsg, i, i, n) + } + + if v < 0 { + return 0, errNegativeNotAllowed + } + + return T(v), nil + case float64Provider: + if _, ok := any(n).(float64); !ok { + return 0, fmt.Errorf(errorMsg, i, i, n) + } + + v := s.Float64() + + if v < 0 { + return 0, errNegativeNotAllowed + } + + return T(v), nil + default: + if i, ok := resolveAlias(i); ok { + return toUnsignedNumberE(i, parseFn) + } + + return 0, fmt.Errorf(errorMsg, i, i, n) + } +} + +func parseNumber[T Number](s string) (T, error) { + var t T + + switch any(t).(type) { + case int: + v, err := parseInt[int](s) + + return T(v), err + case int8: + v, err := parseInt[int8](s) + + return T(v), err + case int16: + v, err := parseInt[int16](s) + + return T(v), err + case int32: + v, err := parseInt[int32](s) + + return T(v), err + case int64: + v, err := parseInt[int64](s) + + return T(v), err + case uint: + v, err := parseUint[uint](s) + + return T(v), err + case uint8: + v, err := parseUint[uint8](s) + + return T(v), err + case uint16: + v, err := parseUint[uint16](s) + + return T(v), err + case uint32: + v, err := parseUint[uint32](s) + + return T(v), err + case uint64: + v, err := parseUint[uint64](s) + + return T(v), err + case float32: + v, err := strconv.ParseFloat(s, 32) + + return T(v), err + case float64: + v, err := strconv.ParseFloat(s, 64) + + return T(v), err + + default: + return 0, fmt.Errorf("unknown number type: %T", t) + } +} + +func parseInt[T integer](s string) (T, error) { + v, err := strconv.ParseInt(trimDecimal(s), 0, 0) + if err != nil { + return 0, err + } + + return T(v), nil +} + +func parseUint[T unsigned](s string) (T, error) { + v, err := strconv.ParseUint(strings.TrimLeft(trimDecimal(s), "+"), 0, 0) + if err != nil { + return 0, err + } + + return T(v), nil +} + +func parseFloat[T float](s string) (T, error) { + var t T + + var v any + var err error + + switch any(t).(type) { + case float32: + n, e := strconv.ParseFloat(s, 32) + + v = float32(n) + err = e + case float64: + n, e := strconv.ParseFloat(s, 64) + + v = float64(n) + err = e + } + + return v.(T), err +} + +// ToFloat64E casts an interface to a float64 type. +func ToFloat64E(i any) (float64, error) { + return toNumberE[float64](i, parseFloat[float64]) +} + +// ToFloat32E casts an interface to a float32 type. +func ToFloat32E(i any) (float32, error) { + return toNumberE[float32](i, parseFloat[float32]) +} + +// ToInt64E casts an interface to an int64 type. +func ToInt64E(i any) (int64, error) { + return toNumberE[int64](i, parseInt[int64]) +} + +// ToInt32E casts an interface to an int32 type. +func ToInt32E(i any) (int32, error) { + return toNumberE[int32](i, parseInt[int32]) +} + +// ToInt16E casts an interface to an int16 type. +func ToInt16E(i any) (int16, error) { + return toNumberE[int16](i, parseInt[int16]) +} + +// ToInt8E casts an interface to an int8 type. +func ToInt8E(i any) (int8, error) { + return toNumberE[int8](i, parseInt[int8]) +} + +// ToIntE casts an interface to an int type. +func ToIntE(i any) (int, error) { + return toNumberE[int](i, parseInt[int]) +} + +// ToUintE casts an interface to a uint type. +func ToUintE(i any) (uint, error) { + return toUnsignedNumberE[uint](i, parseUint[uint]) +} + +// ToUint64E casts an interface to a uint64 type. +func ToUint64E(i any) (uint64, error) { + return toUnsignedNumberE[uint64](i, parseUint[uint64]) +} + +// ToUint32E casts an interface to a uint32 type. +func ToUint32E(i any) (uint32, error) { + return toUnsignedNumberE[uint32](i, parseUint[uint32]) +} + +// ToUint16E casts an interface to a uint16 type. +func ToUint16E(i any) (uint16, error) { + return toUnsignedNumberE[uint16](i, parseUint[uint16]) +} + +// ToUint8E casts an interface to a uint type. +func ToUint8E(i any) (uint8, error) { + return toUnsignedNumberE[uint8](i, parseUint[uint8]) +} + +func trimZeroDecimal(s string) string { + var foundZero bool + for i := len(s); i > 0; i-- { + switch s[i-1] { + case '.': + if foundZero { + return s[:i-1] + } + case '0': + foundZero = true + default: + return s + } + } + return s +} + +var stringNumberRe = regexp.MustCompile(`^([-+]?\d*)(\.\d*)?$`) + +// see [BenchmarkDecimal] for details about the implementation +func trimDecimal(s string) string { + if !strings.Contains(s, ".") { + return s + } + + matches := stringNumberRe.FindStringSubmatch(s) + if matches != nil { + // matches[1] is the captured integer part with sign + s = matches[1] + + // handle special cases + switch s { + case "-", "+": + s += "0" + case "": + s = "0" + } + + return s + } + + return s +} diff --git a/vendor/github.com/spf13/cast/slice.go b/vendor/github.com/spf13/cast/slice.go new file mode 100644 index 000000000..e6a8328c6 --- /dev/null +++ b/vendor/github.com/spf13/cast/slice.go @@ -0,0 +1,106 @@ +// Copyright © 2014 Steve Francia . +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file. + +package cast + +import ( + "fmt" + "reflect" + "strings" +) + +// ToSliceE casts any value to a []any type. +func ToSliceE(i any) ([]any, error) { + i, _ = indirect(i) + + var s []any + + switch v := i.(type) { + case []any: + // TODO: use slices.Clone + return append(s, v...), nil + case []map[string]any: + for _, u := range v { + s = append(s, u) + } + + return s, nil + default: + return s, fmt.Errorf(errorMsg, i, i, s) + } +} + +func toSliceE[T Basic](i any) ([]T, error) { + v, ok, err := toSliceEOk[T](i) + if err != nil { + return nil, err + } + + if !ok { + return nil, fmt.Errorf(errorMsg, i, i, []T{}) + } + + return v, nil +} + +func toSliceEOk[T Basic](i any) ([]T, bool, error) { + i, _ = indirect(i) + if i == nil { + return nil, true, fmt.Errorf(errorMsg, i, i, []T{}) + } + + switch v := i.(type) { + case []T: + // TODO: clone slice + return v, true, nil + } + + kind := reflect.TypeOf(i).Kind() + switch kind { + case reflect.Slice, reflect.Array: + s := reflect.ValueOf(i) + a := make([]T, s.Len()) + + for j := 0; j < s.Len(); j++ { + val, err := ToE[T](s.Index(j).Interface()) + if err != nil { + return nil, true, fmt.Errorf(errorMsg, i, i, []T{}) + } + + a[j] = val + } + + return a, true, nil + default: + return nil, false, nil + } +} + +// ToStringSliceE casts any value to a []string type. +func ToStringSliceE(i any) ([]string, error) { + if a, ok, err := toSliceEOk[string](i); ok { + if err != nil { + return nil, err + } + + return a, nil + } + + var a []string + + switch v := i.(type) { + case string: + return strings.Fields(v), nil + case any: + str, err := ToStringE(v) + if err != nil { + return nil, fmt.Errorf(errorMsg, i, i, a) + } + + return []string{str}, nil + default: + return nil, fmt.Errorf(errorMsg, i, i, a) + } +} diff --git a/vendor/github.com/spf13/cast/time.go b/vendor/github.com/spf13/cast/time.go new file mode 100644 index 000000000..744cd5acc --- /dev/null +++ b/vendor/github.com/spf13/cast/time.go @@ -0,0 +1,116 @@ +// Copyright © 2014 Steve Francia . +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file. + +package cast + +import ( + "encoding/json" + "errors" + "fmt" + "strings" + "time" + + "github.com/spf13/cast/internal" +) + +// ToTimeE any value to a [time.Time] type. +func ToTimeE(i any) (time.Time, error) { + return ToTimeInDefaultLocationE(i, time.UTC) +} + +// ToTimeInDefaultLocationE casts an empty interface to [time.Time], +// interpreting inputs without a timezone to be in the given location, +// or the local timezone if nil. +func ToTimeInDefaultLocationE(i any, location *time.Location) (tim time.Time, err error) { + i, _ = indirect(i) + + switch v := i.(type) { + case time.Time: + return v, nil + case string: + return StringToDateInDefaultLocation(v, location) + case json.Number: + // Originally this used ToInt64E, but adding string float conversion broke ToTime. + // the behavior of ToTime would have changed if we continued using it. + // For now, using json.Number's own Int64 method should be good enough to preserve backwards compatibility. + v = json.Number(trimZeroDecimal(string(v))) + s, err1 := v.Int64() + if err1 != nil { + return time.Time{}, fmt.Errorf(errorMsg, i, i, time.Time{}) + } + return time.Unix(s, 0), nil + case int: + return time.Unix(int64(v), 0), nil + case int32: + return time.Unix(int64(v), 0), nil + case int64: + return time.Unix(v, 0), nil + case uint: + return time.Unix(int64(v), 0), nil + case uint32: + return time.Unix(int64(v), 0), nil + case uint64: + return time.Unix(int64(v), 0), nil + case nil: + return time.Time{}, nil + default: + return time.Time{}, fmt.Errorf(errorMsg, i, i, time.Time{}) + } +} + +// ToDurationE casts any value to a [time.Duration] type. +func ToDurationE(i any) (time.Duration, error) { + i, _ = indirect(i) + + switch s := i.(type) { + case time.Duration: + return s, nil + case int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64: + v, err := ToInt64E(s) + if err != nil { + // TODO: once there is better error handling, this should be easier + return 0, errors.New(strings.ReplaceAll(err.Error(), " int64", "time.Duration")) + } + + return time.Duration(v), nil + case float32, float64, float64EProvider, float64Provider: + v, err := ToFloat64E(s) + if err != nil { + // TODO: once there is better error handling, this should be easier + return 0, errors.New(strings.ReplaceAll(err.Error(), " float64", "time.Duration")) + } + + return time.Duration(v), nil + case string: + if !strings.ContainsAny(s, "nsuµmh") { + return time.ParseDuration(s + "ns") + } + + return time.ParseDuration(s) + case nil: + return time.Duration(0), nil + default: + if i, ok := resolveAlias(i); ok { + return ToDurationE(i) + } + + return 0, fmt.Errorf(errorMsg, i, i, time.Duration(0)) + } +} + +// StringToDate attempts to parse a string into a [time.Time] type using a +// predefined list of formats. +// +// If no suitable format is found, an error is returned. +func StringToDate(s string) (time.Time, error) { + return internal.ParseDateWith(s, time.UTC, internal.TimeFormats) +} + +// StringToDateInDefaultLocation casts an empty interface to a [time.Time], +// interpreting inputs without a timezone to be in the given location, +// or the local timezone if nil. +func StringToDateInDefaultLocation(s string, location *time.Location) (time.Time, error) { + return internal.ParseDateWith(s, location, internal.TimeFormats) +} diff --git a/vendor/github.com/spf13/cast/timeformattype_string.go b/vendor/github.com/spf13/cast/timeformattype_string.go deleted file mode 100644 index 1524fc82c..000000000 --- a/vendor/github.com/spf13/cast/timeformattype_string.go +++ /dev/null @@ -1,27 +0,0 @@ -// Code generated by "stringer -type timeFormatType"; DO NOT EDIT. - -package cast - -import "strconv" - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[timeFormatNoTimezone-0] - _ = x[timeFormatNamedTimezone-1] - _ = x[timeFormatNumericTimezone-2] - _ = x[timeFormatNumericAndNamedTimezone-3] - _ = x[timeFormatTimeOnly-4] -} - -const _timeFormatType_name = "timeFormatNoTimezonetimeFormatNamedTimezonetimeFormatNumericTimezonetimeFormatNumericAndNamedTimezonetimeFormatTimeOnly" - -var _timeFormatType_index = [...]uint8{0, 20, 43, 68, 101, 119} - -func (i timeFormatType) String() string { - if i < 0 || i >= timeFormatType(len(_timeFormatType_index)-1) { - return "timeFormatType(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _timeFormatType_name[_timeFormatType_index[i]:_timeFormatType_index[i+1]] -} diff --git a/vendor/github.com/spf13/cast/zz_generated.go b/vendor/github.com/spf13/cast/zz_generated.go new file mode 100644 index 000000000..ce3ec0f78 --- /dev/null +++ b/vendor/github.com/spf13/cast/zz_generated.go @@ -0,0 +1,261 @@ +// Code generated by cast generator. DO NOT EDIT. + +package cast + +import "time" + +// ToBool casts any value to a(n) bool type. +func ToBool(i any) bool { + v, _ := ToBoolE(i) + return v +} + +// ToString casts any value to a(n) string type. +func ToString(i any) string { + v, _ := ToStringE(i) + return v +} + +// ToTime casts any value to a(n) time.Time type. +func ToTime(i any) time.Time { + v, _ := ToTimeE(i) + return v +} + +// ToTimeInDefaultLocation casts any value to a(n) time.Time type. +func ToTimeInDefaultLocation(i any, location *time.Location) time.Time { + v, _ := ToTimeInDefaultLocationE(i, location) + return v +} + +// ToDuration casts any value to a(n) time.Duration type. +func ToDuration(i any) time.Duration { + v, _ := ToDurationE(i) + return v +} + +// ToInt casts any value to a(n) int type. +func ToInt(i any) int { + v, _ := ToIntE(i) + return v +} + +// ToInt8 casts any value to a(n) int8 type. +func ToInt8(i any) int8 { + v, _ := ToInt8E(i) + return v +} + +// ToInt16 casts any value to a(n) int16 type. +func ToInt16(i any) int16 { + v, _ := ToInt16E(i) + return v +} + +// ToInt32 casts any value to a(n) int32 type. +func ToInt32(i any) int32 { + v, _ := ToInt32E(i) + return v +} + +// ToInt64 casts any value to a(n) int64 type. +func ToInt64(i any) int64 { + v, _ := ToInt64E(i) + return v +} + +// ToUint casts any value to a(n) uint type. +func ToUint(i any) uint { + v, _ := ToUintE(i) + return v +} + +// ToUint8 casts any value to a(n) uint8 type. +func ToUint8(i any) uint8 { + v, _ := ToUint8E(i) + return v +} + +// ToUint16 casts any value to a(n) uint16 type. +func ToUint16(i any) uint16 { + v, _ := ToUint16E(i) + return v +} + +// ToUint32 casts any value to a(n) uint32 type. +func ToUint32(i any) uint32 { + v, _ := ToUint32E(i) + return v +} + +// ToUint64 casts any value to a(n) uint64 type. +func ToUint64(i any) uint64 { + v, _ := ToUint64E(i) + return v +} + +// ToFloat32 casts any value to a(n) float32 type. +func ToFloat32(i any) float32 { + v, _ := ToFloat32E(i) + return v +} + +// ToFloat64 casts any value to a(n) float64 type. +func ToFloat64(i any) float64 { + v, _ := ToFloat64E(i) + return v +} + +// ToStringMapString casts any value to a(n) map[string]string type. +func ToStringMapString(i any) map[string]string { + v, _ := ToStringMapStringE(i) + return v +} + +// ToStringMapStringSlice casts any value to a(n) map[string][]string type. +func ToStringMapStringSlice(i any) map[string][]string { + v, _ := ToStringMapStringSliceE(i) + return v +} + +// ToStringMapBool casts any value to a(n) map[string]bool type. +func ToStringMapBool(i any) map[string]bool { + v, _ := ToStringMapBoolE(i) + return v +} + +// ToStringMapInt casts any value to a(n) map[string]int type. +func ToStringMapInt(i any) map[string]int { + v, _ := ToStringMapIntE(i) + return v +} + +// ToStringMapInt64 casts any value to a(n) map[string]int64 type. +func ToStringMapInt64(i any) map[string]int64 { + v, _ := ToStringMapInt64E(i) + return v +} + +// ToStringMap casts any value to a(n) map[string]any type. +func ToStringMap(i any) map[string]any { + v, _ := ToStringMapE(i) + return v +} + +// ToSlice casts any value to a(n) []any type. +func ToSlice(i any) []any { + v, _ := ToSliceE(i) + return v +} + +// ToBoolSlice casts any value to a(n) []bool type. +func ToBoolSlice(i any) []bool { + v, _ := ToBoolSliceE(i) + return v +} + +// ToStringSlice casts any value to a(n) []string type. +func ToStringSlice(i any) []string { + v, _ := ToStringSliceE(i) + return v +} + +// ToIntSlice casts any value to a(n) []int type. +func ToIntSlice(i any) []int { + v, _ := ToIntSliceE(i) + return v +} + +// ToInt64Slice casts any value to a(n) []int64 type. +func ToInt64Slice(i any) []int64 { + v, _ := ToInt64SliceE(i) + return v +} + +// ToUintSlice casts any value to a(n) []uint type. +func ToUintSlice(i any) []uint { + v, _ := ToUintSliceE(i) + return v +} + +// ToFloat64Slice casts any value to a(n) []float64 type. +func ToFloat64Slice(i any) []float64 { + v, _ := ToFloat64SliceE(i) + return v +} + +// ToDurationSlice casts any value to a(n) []time.Duration type. +func ToDurationSlice(i any) []time.Duration { + v, _ := ToDurationSliceE(i) + return v +} + +// ToBoolSliceE casts any value to a(n) []bool type. +func ToBoolSliceE(i any) ([]bool, error) { + return toSliceE[bool](i) +} + +// ToDurationSliceE casts any value to a(n) []time.Duration type. +func ToDurationSliceE(i any) ([]time.Duration, error) { + return toSliceE[time.Duration](i) +} + +// ToIntSliceE casts any value to a(n) []int type. +func ToIntSliceE(i any) ([]int, error) { + return toSliceE[int](i) +} + +// ToInt8SliceE casts any value to a(n) []int8 type. +func ToInt8SliceE(i any) ([]int8, error) { + return toSliceE[int8](i) +} + +// ToInt16SliceE casts any value to a(n) []int16 type. +func ToInt16SliceE(i any) ([]int16, error) { + return toSliceE[int16](i) +} + +// ToInt32SliceE casts any value to a(n) []int32 type. +func ToInt32SliceE(i any) ([]int32, error) { + return toSliceE[int32](i) +} + +// ToInt64SliceE casts any value to a(n) []int64 type. +func ToInt64SliceE(i any) ([]int64, error) { + return toSliceE[int64](i) +} + +// ToUintSliceE casts any value to a(n) []uint type. +func ToUintSliceE(i any) ([]uint, error) { + return toSliceE[uint](i) +} + +// ToUint8SliceE casts any value to a(n) []uint8 type. +func ToUint8SliceE(i any) ([]uint8, error) { + return toSliceE[uint8](i) +} + +// ToUint16SliceE casts any value to a(n) []uint16 type. +func ToUint16SliceE(i any) ([]uint16, error) { + return toSliceE[uint16](i) +} + +// ToUint32SliceE casts any value to a(n) []uint32 type. +func ToUint32SliceE(i any) ([]uint32, error) { + return toSliceE[uint32](i) +} + +// ToUint64SliceE casts any value to a(n) []uint64 type. +func ToUint64SliceE(i any) ([]uint64, error) { + return toSliceE[uint64](i) +} + +// ToFloat32SliceE casts any value to a(n) []float32 type. +func ToFloat32SliceE(i any) ([]float32, error) { + return toSliceE[float32](i) +} + +// ToFloat64SliceE casts any value to a(n) []float64 type. +func ToFloat64SliceE(i any) ([]float64, error) { + return toSliceE[float64](i) +} diff --git a/vendor/github.com/spf13/cobra/.golangci.yml b/vendor/github.com/spf13/cobra/.golangci.yml index 2c8f4808c..6acf8ab1e 100644 --- a/vendor/github.com/spf13/cobra/.golangci.yml +++ b/vendor/github.com/spf13/cobra/.golangci.yml @@ -12,14 +12,20 @@ # See the License for the specific language governing permissions and # limitations under the License. +version: "2" + run: - deadline: 5m + timeout: 5m + +formatters: + enable: + - gofmt + - goimports linters: - disable-all: true + default: none enable: #- bodyclose - # - deadcode ! deprecated since v1.49.0; replaced by 'unused' #- depguard #- dogsled #- dupl @@ -30,28 +36,24 @@ linters: - goconst - gocritic #- gocyclo - - gofmt - - goimports - #- gomnd #- goprintffuncname - gosec - - gosimple - govet - ineffassign #- lll - misspell + #- mnd #- nakedret #- noctx - nolintlint #- rowserrcheck - #- scopelint - staticcheck - #- structcheck ! deprecated since v1.49.0; replaced by 'unused' - - stylecheck - #- typecheck - unconvert #- unparam - unused - # - varcheck ! deprecated since v1.49.0; replaced by 'unused' #- whitespace - fast: false + exclusions: + presets: + - common-false-positives + - legacy + - std-error-handling diff --git a/vendor/github.com/spf13/cobra/README.md b/vendor/github.com/spf13/cobra/README.md index 71757151c..8416275f4 100644 --- a/vendor/github.com/spf13/cobra/README.md +++ b/vendor/github.com/spf13/cobra/README.md @@ -1,8 +1,14 @@ - -![cobra logo](https://github.com/user-attachments/assets/cbc3adf8-0dff-46e9-a88d-5e2d971c169e) +

+ +cobra-logo + +
Cobra is a library for creating powerful modern CLI applications. +Visit Cobra.dev for extensive documentation + + Cobra is used in many Go projects such as [Kubernetes](https://kubernetes.io/), [Hugo](https://gohugo.io), and [GitHub CLI](https://github.com/cli/cli) to name a few. [This list](site/content/projects_using_cobra.md) contains a more extensive list of projects using Cobra. @@ -11,6 +17,20 @@ name a few. [This list](site/content/projects_using_cobra.md) contains a more ex [![Go Reference](https://pkg.go.dev/badge/github.com/spf13/cobra.svg)](https://pkg.go.dev/github.com/spf13/cobra) [![Go Report Card](https://goreportcard.com/badge/github.com/spf13/cobra)](https://goreportcard.com/report/github.com/spf13/cobra) [![Slack](https://img.shields.io/badge/Slack-cobra-brightgreen)](https://gophers.slack.com/archives/CD3LP1199) +
+
+ Supported by: +
+
+ + Warp sponsorship + + +### [Warp, the AI terminal for devs](https://www.warp.dev/cobra) +[Try Cobra in Warp today](https://www.warp.dev/cobra)
+ +
+
# Overview diff --git a/vendor/github.com/spf13/cobra/SECURITY.md b/vendor/github.com/spf13/cobra/SECURITY.md new file mode 100644 index 000000000..54e60c28c --- /dev/null +++ b/vendor/github.com/spf13/cobra/SECURITY.md @@ -0,0 +1,105 @@ +# Security Policy + +## Reporting a Vulnerability + +The `cobra` maintainers take security issues seriously and +we appreciate your efforts to _**responsibly**_ disclose your findings. +We will make every effort to swiftly respond and address concerns. + +To report a security vulnerability: + +1. **DO NOT** create a public GitHub issue for the vulnerability! +2. **DO NOT** create a public GitHub Pull Request with a fix for the vulnerability! +3. Send an email to `cobra-security@googlegroups.com`. +4. Include the following details in your report: + - Description of the vulnerability + - Steps to reproduce + - Potential impact of the vulnerability (to your downstream project, to the Go ecosystem, etc.) + - Any potential mitigations you've already identified +5. Allow up to 7 days for an initial response. + You should receive an acknowledgment of your report and an estimated timeline for a fix. +6. (Optional) If you have a fix and would like to contribute your patch, please work + directly with the maintainers via `cobra-security@googlegroups.com` to + coordinate pushing the patch to GitHub, cutting a new release, and disclosing the change. + +## Response Process + +When a security vulnerability report is received, the `cobra` maintainers will: + +1. Confirm receipt of the vulnerability report within 7 days. +2. Assess the report to determine if it constitutes a security vulnerability. +3. If confirmed, assign the vulnerability a severity level and create a timeline for addressing it. +4. Develop and test a fix. +5. Patch the vulnerability and make a new GitHub release: the maintainers will coordinate disclosure with the reporter. +6. Create a new GitHub Security Advisory to inform the broader Go ecosystem + +## Disclosure Policy + +The `cobra` maintainers follow a coordinated disclosure process: + +1. Security vulnerabilities will be addressed as quickly as possible. +2. A CVE (Common Vulnerabilities and Exposures) identifier will be requested for significant vulnerabilities + that are within `cobra` itself. +3. Once a fix is ready, the maintainers will: + - Release a new version containing the fix. + - Update the security advisory with details about the vulnerability. + - Credit the reporter (unless they wish to remain anonymous). + - Credit the fixer (unless they wish to remain anonymous, this may be the same as the reporter). + - Announce the vulnerability through appropriate channels + (GitHub Security Advisory, mailing lists, GitHub Releases, etc.) + +## Supported Versions + +Security fixes will typically only be released for the most recent major release. + +## Upstream Security Issues + +`cobra` generally will not accept vulnerability reports that originate in upstream +dependencies. I.e., if there is a problem in Go code that `cobra` depends on, +it is best to engage that project's maintainers and owners. + +This security policy primarily pertains only to `cobra` itself but if you believe you've +identified a problem that originates in an upstream dependency and is being widely +distributed by `cobra`, please follow the disclosure procedure above: the `cobra` +maintainers will work with you to determine the severity and ecosystem impact. + +## Security Updates and CVEs + +Information about known security vulnerabilities and CVEs affecting `cobra` will +be published as GitHub Security Advisories at +https://github.com/spf13/cobra/security/advisories. + +All users are encouraged to watch the repository and upgrade promptly when +security releases are published. + +## `cobra` Security Best Practices for Users + +When using `cobra` in your CLIs, the `cobra` maintainers recommend the following: + +1. Always use the latest version of `cobra`. +2. [Use Go modules](https://go.dev/blog/using-go-modules) for dependency management. +3. Always use the latest possible version of Go. + +## Security Best Practices for Contributors + +When contributing to `cobra`: + +1. Be mindful of security implications when adding new features or modifying existing ones. +2. Be aware of `cobra`'s extremely large reach: it is used in nearly every Go CLI + (like Kubernetes, Docker, Prometheus, etc. etc.) +3. Write tests that explicitly cover edge cases and potential issues. +4. If you discover a security issue while working on `cobra`, please report it + following the process above rather than opening a public pull request or issue that + addresses the vulnerability. +5. Take personal sec-ops seriously and secure your GitHub account: use [two-factor authentication](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa), + [sign your commits with a GPG or SSH key](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification), + etc. + +## Acknowledgments + +The `cobra` maintainers would like to thank all security researchers and +community members who help keep cobra, its users, and the entire Go ecosystem secure through responsible disclosures!! + +--- + +*This security policy is inspired by the [Open Web Application Security Project (OWASP)](https://owasp.org/) guidelines and security best practices.* diff --git a/vendor/github.com/spf13/cobra/command.go b/vendor/github.com/spf13/cobra/command.go index dbb2c298b..78088db69 100644 --- a/vendor/github.com/spf13/cobra/command.go +++ b/vendor/github.com/spf13/cobra/command.go @@ -39,7 +39,7 @@ const ( ) // FParseErrWhitelist configures Flag parse errors to be ignored -type FParseErrWhitelist flag.ParseErrorsWhitelist +type FParseErrWhitelist flag.ParseErrorsAllowlist // Group Structure to manage groups for commands type Group struct { @@ -1296,6 +1296,11 @@ Simply type ` + c.DisplayName() + ` help [path to command] for full details.`, c.Printf("Unknown help topic %#q\n", args) CheckErr(c.Root().Usage()) } else { + // FLow the context down to be used in help text + if cmd.ctx == nil { + cmd.ctx = c.ctx + } + cmd.InitDefaultHelpFlag() // make possible 'help' flag to be shown cmd.InitDefaultVersionFlag() // make possible 'version' flag to be shown CheckErr(cmd.Help()) @@ -1872,7 +1877,7 @@ func (c *Command) ParseFlags(args []string) error { c.mergePersistentFlags() // do it here after merging all flags and just before parse - c.Flags().ParseErrorsWhitelist = flag.ParseErrorsWhitelist(c.FParseErrWhitelist) + c.Flags().ParseErrorsAllowlist = flag.ParseErrorsAllowlist(c.FParseErrWhitelist) err := c.Flags().Parse(args) // Print warnings if they occurred (e.g. deprecated flag messages). @@ -2020,7 +2025,7 @@ func defaultUsageFunc(w io.Writer, in interface{}) error { fmt.Fprint(w, trimRightSpace(c.InheritedFlags().FlagUsages())) } if c.HasHelpSubCommands() { - fmt.Fprintf(w, "\n\nAdditional help topcis:") + fmt.Fprintf(w, "\n\nAdditional help topics:") for _, subcmd := range c.Commands() { if subcmd.IsAdditionalHelpTopicCommand() { fmt.Fprintf(w, "\n %s %s", rpad(subcmd.CommandPath(), subcmd.CommandPathPadding()), subcmd.Short) diff --git a/vendor/github.com/spf13/cobra/completions.go b/vendor/github.com/spf13/cobra/completions.go index a1752f763..d3607c2d2 100644 --- a/vendor/github.com/spf13/cobra/completions.go +++ b/vendor/github.com/spf13/cobra/completions.go @@ -115,6 +115,13 @@ type CompletionOptions struct { DisableDescriptions bool // HiddenDefaultCmd makes the default 'completion' command hidden HiddenDefaultCmd bool + // DefaultShellCompDirective sets the ShellCompDirective that is returned + // if no special directive can be determined + DefaultShellCompDirective *ShellCompDirective +} + +func (receiver *CompletionOptions) SetDefaultShellCompDirective(directive ShellCompDirective) { + receiver.DefaultShellCompDirective = &directive } // Completion is a string that can be used for completions @@ -375,7 +382,7 @@ func (c *Command) getCompletions(args []string) (*Command, []Completion, ShellCo // Error while attempting to parse flags if flagErr != nil { // If error type is flagCompError and we don't want flagCompletion we should ignore the error - if _, ok := flagErr.(*flagCompError); !(ok && !flagCompletion) { + if _, ok := flagErr.(*flagCompError); !ok || flagCompletion { return finalCmd, []Completion{}, ShellCompDirectiveDefault, flagErr } } @@ -480,6 +487,14 @@ func (c *Command) getCompletions(args []string) (*Command, []Completion, ShellCo } } else { directive = ShellCompDirectiveDefault + // check current and parent commands for a custom DefaultShellCompDirective + for cmd := finalCmd; cmd != nil; cmd = cmd.parent { + if cmd.CompletionOptions.DefaultShellCompDirective != nil { + directive = *cmd.CompletionOptions.DefaultShellCompDirective + break + } + } + if flag == nil { foundLocalNonPersistentFlag := false // If TraverseChildren is true on the root command we don't check for @@ -773,7 +788,7 @@ See each sub-command's help for details on how to use the generated script. // shell completion for it (prog __complete completion '') subCmd, cmdArgs, err := c.Find(args) if err != nil || subCmd.Name() != compCmdName && - !(subCmd.Name() == ShellCompRequestCmd && len(cmdArgs) > 1 && cmdArgs[0] == compCmdName) { + (subCmd.Name() != ShellCompRequestCmd || len(cmdArgs) <= 1 || cmdArgs[0] != compCmdName) { // The completion command is not being called or being completed so we remove it. c.RemoveCommand(completionCmd) return diff --git a/vendor/github.com/spf13/pflag/flag.go b/vendor/github.com/spf13/pflag/flag.go index eeed1e92b..2fd3c5759 100644 --- a/vendor/github.com/spf13/pflag/flag.go +++ b/vendor/github.com/spf13/pflag/flag.go @@ -143,8 +143,9 @@ type ParseErrorsAllowlist struct { UnknownFlags bool } -// DEPRECATED: please use ParseErrorsAllowlist instead -// This type will be removed in a future release +// ParseErrorsWhitelist defines the parsing errors that can be ignored. +// +// Deprecated: use [ParseErrorsAllowlist] instead. This type will be removed in a future release. type ParseErrorsWhitelist = ParseErrorsAllowlist // NormalizedName is a flag name that has been normalized according to rules @@ -165,8 +166,9 @@ type FlagSet struct { // ParseErrorsAllowlist is used to configure an allowlist of errors ParseErrorsAllowlist ParseErrorsAllowlist - // DEPRECATED: please use ParseErrorsAllowlist instead - // This field will be removed in a future release + // ParseErrorsAllowlist is used to configure an allowlist of errors. + // + // Deprecated: use [FlagSet.ParseErrorsAllowlist] instead. This field will be removed in a future release. ParseErrorsWhitelist ParseErrorsAllowlist name string @@ -1185,7 +1187,7 @@ func (f *FlagSet) Parse(arguments []string) error { case ContinueOnError: return err case ExitOnError: - if errors.Is(err, ErrHelp) { + if err == ErrHelp { os.Exit(0) } fmt.Fprintln(f.Output(), err) @@ -1214,7 +1216,7 @@ func (f *FlagSet) ParseAll(arguments []string, fn func(flag *Flag, value string) case ContinueOnError: return err case ExitOnError: - if errors.Is(err, ErrHelp) { + if err == ErrHelp { os.Exit(0) } fmt.Fprintln(f.Output(), err) diff --git a/vendor/github.com/stretchr/testify/assert/assertion_compare.go b/vendor/github.com/stretchr/testify/assert/assertion_compare.go index 7e19eba09..ffb24e8e3 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_compare.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_compare.go @@ -390,7 +390,8 @@ func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface if h, ok := t.(tHelper); ok { h.Helper() } - return compareTwoValues(t, e1, e2, []compareResult{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not greater than \"%v\"", e1, e2) + return compareTwoValues(t, e1, e2, []compareResult{compareGreater}, failMessage, msgAndArgs...) } // GreaterOrEqual asserts that the first element is greater than or equal to the second @@ -403,7 +404,8 @@ func GreaterOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...in if h, ok := t.(tHelper); ok { h.Helper() } - return compareTwoValues(t, e1, e2, []compareResult{compareGreater, compareEqual}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not greater than or equal to \"%v\"", e1, e2) + return compareTwoValues(t, e1, e2, []compareResult{compareGreater, compareEqual}, failMessage, msgAndArgs...) } // Less asserts that the first element is less than the second @@ -415,7 +417,8 @@ func Less(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) if h, ok := t.(tHelper); ok { h.Helper() } - return compareTwoValues(t, e1, e2, []compareResult{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not less than \"%v\"", e1, e2) + return compareTwoValues(t, e1, e2, []compareResult{compareLess}, failMessage, msgAndArgs...) } // LessOrEqual asserts that the first element is less than or equal to the second @@ -428,7 +431,8 @@ func LessOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...inter if h, ok := t.(tHelper); ok { h.Helper() } - return compareTwoValues(t, e1, e2, []compareResult{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not less than or equal to \"%v\"", e1, e2) + return compareTwoValues(t, e1, e2, []compareResult{compareLess, compareEqual}, failMessage, msgAndArgs...) } // Positive asserts that the specified element is positive @@ -440,7 +444,8 @@ func Positive(t TestingT, e interface{}, msgAndArgs ...interface{}) bool { h.Helper() } zero := reflect.Zero(reflect.TypeOf(e)) - return compareTwoValues(t, e, zero.Interface(), []compareResult{compareGreater}, "\"%v\" is not positive", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not positive", e) + return compareTwoValues(t, e, zero.Interface(), []compareResult{compareGreater}, failMessage, msgAndArgs...) } // Negative asserts that the specified element is negative @@ -452,7 +457,8 @@ func Negative(t TestingT, e interface{}, msgAndArgs ...interface{}) bool { h.Helper() } zero := reflect.Zero(reflect.TypeOf(e)) - return compareTwoValues(t, e, zero.Interface(), []compareResult{compareLess}, "\"%v\" is not negative", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not negative", e) + return compareTwoValues(t, e, zero.Interface(), []compareResult{compareLess}, failMessage, msgAndArgs...) } func compareTwoValues(t TestingT, e1 interface{}, e2 interface{}, allowedComparesResults []compareResult, failMessage string, msgAndArgs ...interface{}) bool { @@ -468,11 +474,11 @@ func compareTwoValues(t TestingT, e1 interface{}, e2 interface{}, allowedCompare compareResult, isComparable := compare(e1, e2, e1Kind) if !isComparable { - return Fail(t, fmt.Sprintf("Can not compare type \"%s\"", reflect.TypeOf(e1)), msgAndArgs...) + return Fail(t, fmt.Sprintf(`Can not compare type "%T"`, e1), msgAndArgs...) } if !containsValue(allowedComparesResults, compareResult) { - return Fail(t, fmt.Sprintf(failMessage, e1, e2), msgAndArgs...) + return Fail(t, failMessage, msgAndArgs...) } return true diff --git a/vendor/github.com/stretchr/testify/assert/assertion_format.go b/vendor/github.com/stretchr/testify/assert/assertion_format.go index 190634165..c592f6ad5 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_format.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_format.go @@ -50,10 +50,19 @@ func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string return ElementsMatch(t, listA, listB, append([]interface{}{msg}, args...)...) } -// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Emptyf asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // assert.Emptyf(t, obj, "error message %s", "formatted") +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() @@ -117,10 +126,8 @@ func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg stri // Errorf asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if assert.Errorf(t, err, "error message %s", "formatted") { -// assert.Equal(t, expectedErrorf, err) -// } +// actualObj, err := SomeFunction() +// assert.Errorf(t, err, "error message %s", "formatted") func Errorf(t TestingT, err error, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() @@ -438,7 +445,19 @@ func IsNonIncreasingf(t TestingT, object interface{}, msg string, args ...interf return IsNonIncreasing(t, object, append([]interface{}{msg}, args...)...) } +// IsNotTypef asserts that the specified objects are not of the same type. +// +// assert.IsNotTypef(t, &NotMyStruct{}, &MyStruct{}, "error message %s", "formatted") +func IsNotTypef(t TestingT, theType interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return IsNotType(t, theType, object, append([]interface{}{msg}, args...)...) +} + // IsTypef asserts that the specified objects are of the same type. +// +// assert.IsTypef(t, &MyStruct{}, &MyStruct{}, "error message %s", "formatted") func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() @@ -585,8 +604,7 @@ func NotElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg str return NotElementsMatch(t, listA, listB, append([]interface{}{msg}, args...)...) } -// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmptyf asserts that the specified object is NOT [Empty]. // // if assert.NotEmptyf(t, obj, "error message %s", "formatted") { // assert.Equal(t, "two", obj[1]) @@ -693,12 +711,15 @@ func NotSamef(t TestingT, expected interface{}, actual interface{}, msg string, return NotSame(t, expected, actual, append([]interface{}{msg}, args...)...) } -// NotSubsetf asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubsetf asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // assert.NotSubsetf(t, [1, 3, 4], [1, 2], "error message %s", "formatted") // assert.NotSubsetf(t, {"x": 1, "y": 2}, {"z": 3}, "error message %s", "formatted") +// assert.NotSubsetf(t, [1, 3, 4], {1: "one", 2: "two"}, "error message %s", "formatted") +// assert.NotSubsetf(t, {"x": 1, "y": 2}, ["z"], "error message %s", "formatted") func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() @@ -782,11 +803,15 @@ func Samef(t TestingT, expected interface{}, actual interface{}, msg string, arg return Same(t, expected, actual, append([]interface{}{msg}, args...)...) } -// Subsetf asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subsetf asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // assert.Subsetf(t, [1, 2, 3], [1, 2], "error message %s", "formatted") // assert.Subsetf(t, {"x": 1, "y": 2}, {"x": 1}, "error message %s", "formatted") +// assert.Subsetf(t, [1, 2, 3], {1: "one", 2: "two"}, "error message %s", "formatted") +// assert.Subsetf(t, {"x": 1, "y": 2}, ["x"], "error message %s", "formatted") func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() diff --git a/vendor/github.com/stretchr/testify/assert/assertion_forward.go b/vendor/github.com/stretchr/testify/assert/assertion_forward.go index 21629087b..58db92845 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_forward.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_forward.go @@ -92,10 +92,19 @@ func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg st return ElementsMatchf(a.t, listA, listB, msg, args...) } -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Empty asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // a.Empty(obj) +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -103,10 +112,19 @@ func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool { return Empty(a.t, object, msgAndArgs...) } -// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Emptyf asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // a.Emptyf(obj, "error message %s", "formatted") +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -224,10 +242,8 @@ func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string // Error asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if a.Error(err) { -// assert.Equal(t, expectedError, err) -// } +// actualObj, err := SomeFunction() +// a.Error(err) func (a *Assertions) Error(err error, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -297,10 +313,8 @@ func (a *Assertions) ErrorIsf(err error, target error, msg string, args ...inter // Errorf asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if a.Errorf(err, "error message %s", "formatted") { -// assert.Equal(t, expectedErrorf, err) -// } +// actualObj, err := SomeFunction() +// a.Errorf(err, "error message %s", "formatted") func (a *Assertions) Errorf(err error, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -868,7 +882,29 @@ func (a *Assertions) IsNonIncreasingf(object interface{}, msg string, args ...in return IsNonIncreasingf(a.t, object, msg, args...) } +// IsNotType asserts that the specified objects are not of the same type. +// +// a.IsNotType(&NotMyStruct{}, &MyStruct{}) +func (a *Assertions) IsNotType(theType interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return IsNotType(a.t, theType, object, msgAndArgs...) +} + +// IsNotTypef asserts that the specified objects are not of the same type. +// +// a.IsNotTypef(&NotMyStruct{}, &MyStruct{}, "error message %s", "formatted") +func (a *Assertions) IsNotTypef(theType interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return IsNotTypef(a.t, theType, object, msg, args...) +} + // IsType asserts that the specified objects are of the same type. +// +// a.IsType(&MyStruct{}, &MyStruct{}) func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -877,6 +913,8 @@ func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAnd } // IsTypef asserts that the specified objects are of the same type. +// +// a.IsTypef(&MyStruct{}, &MyStruct{}, "error message %s", "formatted") func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1162,8 +1200,7 @@ func (a *Assertions) NotElementsMatchf(listA interface{}, listB interface{}, msg return NotElementsMatchf(a.t, listA, listB, msg, args...) } -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmpty asserts that the specified object is NOT [Empty]. // // if a.NotEmpty(obj) { // assert.Equal(t, "two", obj[1]) @@ -1175,8 +1212,7 @@ func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) boo return NotEmpty(a.t, object, msgAndArgs...) } -// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmptyf asserts that the specified object is NOT [Empty]. // // if a.NotEmptyf(obj, "error message %s", "formatted") { // assert.Equal(t, "two", obj[1]) @@ -1378,12 +1414,15 @@ func (a *Assertions) NotSamef(expected interface{}, actual interface{}, msg stri return NotSamef(a.t, expected, actual, msg, args...) } -// NotSubset asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubset asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.NotSubset([1, 3, 4], [1, 2]) // a.NotSubset({"x": 1, "y": 2}, {"z": 3}) +// a.NotSubset([1, 3, 4], {1: "one", 2: "two"}) +// a.NotSubset({"x": 1, "y": 2}, ["z"]) func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1391,12 +1430,15 @@ func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs return NotSubset(a.t, list, subset, msgAndArgs...) } -// NotSubsetf asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubsetf asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.NotSubsetf([1, 3, 4], [1, 2], "error message %s", "formatted") // a.NotSubsetf({"x": 1, "y": 2}, {"z": 3}, "error message %s", "formatted") +// a.NotSubsetf([1, 3, 4], {1: "one", 2: "two"}, "error message %s", "formatted") +// a.NotSubsetf({"x": 1, "y": 2}, ["z"], "error message %s", "formatted") func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1556,11 +1598,15 @@ func (a *Assertions) Samef(expected interface{}, actual interface{}, msg string, return Samef(a.t, expected, actual, msg, args...) } -// Subset asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subset asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.Subset([1, 2, 3], [1, 2]) // a.Subset({"x": 1, "y": 2}, {"x": 1}) +// a.Subset([1, 2, 3], {1: "one", 2: "two"}) +// a.Subset({"x": 1, "y": 2}, ["x"]) func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1568,11 +1614,15 @@ func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ... return Subset(a.t, list, subset, msgAndArgs...) } -// Subsetf asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subsetf asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.Subsetf([1, 2, 3], [1, 2], "error message %s", "formatted") // a.Subsetf({"x": 1, "y": 2}, {"x": 1}, "error message %s", "formatted") +// a.Subsetf([1, 2, 3], {1: "one", 2: "two"}, "error message %s", "formatted") +// a.Subsetf({"x": 1, "y": 2}, ["x"], "error message %s", "formatted") func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() diff --git a/vendor/github.com/stretchr/testify/assert/assertion_order.go b/vendor/github.com/stretchr/testify/assert/assertion_order.go index 1d2f71824..2fdf80fdd 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_order.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_order.go @@ -33,7 +33,7 @@ func isOrdered(t TestingT, object interface{}, allowedComparesResults []compareR compareResult, isComparable := compare(prevValueInterface, valueInterface, firstValueKind) if !isComparable { - return Fail(t, fmt.Sprintf("Can not compare type \"%s\" and \"%s\"", reflect.TypeOf(value), reflect.TypeOf(prevValue)), msgAndArgs...) + return Fail(t, fmt.Sprintf(`Can not compare type "%T" and "%T"`, value, prevValue), msgAndArgs...) } if !containsValue(allowedComparesResults, compareResult) { diff --git a/vendor/github.com/stretchr/testify/assert/assertions.go b/vendor/github.com/stretchr/testify/assert/assertions.go index 4e91332bb..de8de0cb6 100644 --- a/vendor/github.com/stretchr/testify/assert/assertions.go +++ b/vendor/github.com/stretchr/testify/assert/assertions.go @@ -210,59 +210,77 @@ the problem actually occurred in calling code.*/ // of each stack frame leading from the current test to the assert call that // failed. func CallerInfo() []string { - var pc uintptr - var ok bool var file string var line int var name string + const stackFrameBufferSize = 10 + pcs := make([]uintptr, stackFrameBufferSize) + callers := []string{} - for i := 0; ; i++ { - pc, file, line, ok = runtime.Caller(i) - if !ok { - // The breaks below failed to terminate the loop, and we ran off the - // end of the call stack. - break - } + offset := 1 - // This is a huge edge case, but it will panic if this is the case, see #180 - if file == "" { - break - } + for { + n := runtime.Callers(offset, pcs) - f := runtime.FuncForPC(pc) - if f == nil { - break - } - name = f.Name() - - // testing.tRunner is the standard library function that calls - // tests. Subtests are called directly by tRunner, without going through - // the Test/Benchmark/Example function that contains the t.Run calls, so - // with subtests we should break when we hit tRunner, without adding it - // to the list of callers. - if name == "testing.tRunner" { + if n == 0 { break } - parts := strings.Split(file, "/") - if len(parts) > 1 { - filename := parts[len(parts)-1] - dir := parts[len(parts)-2] - if (dir != "assert" && dir != "mock" && dir != "require") || filename == "mock_test.go" { - callers = append(callers, fmt.Sprintf("%s:%d", file, line)) + frames := runtime.CallersFrames(pcs[:n]) + + for { + frame, more := frames.Next() + pc = frame.PC + file = frame.File + line = frame.Line + + // This is a huge edge case, but it will panic if this is the case, see #180 + if file == "" { + break } - } - // Drop the package - segments := strings.Split(name, ".") - name = segments[len(segments)-1] - if isTest(name, "Test") || - isTest(name, "Benchmark") || - isTest(name, "Example") { - break + f := runtime.FuncForPC(pc) + if f == nil { + break + } + name = f.Name() + + // testing.tRunner is the standard library function that calls + // tests. Subtests are called directly by tRunner, without going through + // the Test/Benchmark/Example function that contains the t.Run calls, so + // with subtests we should break when we hit tRunner, without adding it + // to the list of callers. + if name == "testing.tRunner" { + break + } + + parts := strings.Split(file, "/") + if len(parts) > 1 { + filename := parts[len(parts)-1] + dir := parts[len(parts)-2] + if (dir != "assert" && dir != "mock" && dir != "require") || filename == "mock_test.go" { + callers = append(callers, fmt.Sprintf("%s:%d", file, line)) + } + } + + // Drop the package + dotPos := strings.LastIndexByte(name, '.') + name = name[dotPos+1:] + if isTest(name, "Test") || + isTest(name, "Benchmark") || + isTest(name, "Example") { + break + } + + if !more { + break + } } + + // Next batch + offset += cap(pcs) } return callers @@ -437,17 +455,34 @@ func NotImplements(t TestingT, interfaceObject interface{}, object interface{}, return true } +func isType(expectedType, object interface{}) bool { + return ObjectsAreEqual(reflect.TypeOf(object), reflect.TypeOf(expectedType)) +} + // IsType asserts that the specified objects are of the same type. -func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { +// +// assert.IsType(t, &MyStruct{}, &MyStruct{}) +func IsType(t TestingT, expectedType, object interface{}, msgAndArgs ...interface{}) bool { + if isType(expectedType, object) { + return true + } if h, ok := t.(tHelper); ok { h.Helper() } + return Fail(t, fmt.Sprintf("Object expected to be of type %T, but was %T", expectedType, object), msgAndArgs...) +} - if !ObjectsAreEqual(reflect.TypeOf(object), reflect.TypeOf(expectedType)) { - return Fail(t, fmt.Sprintf("Object expected to be of type %v, but was %v", reflect.TypeOf(expectedType), reflect.TypeOf(object)), msgAndArgs...) +// IsNotType asserts that the specified objects are not of the same type. +// +// assert.IsNotType(t, &NotMyStruct{}, &MyStruct{}) +func IsNotType(t TestingT, theType, object interface{}, msgAndArgs ...interface{}) bool { + if !isType(theType, object) { + return true } - - return true + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Fail(t, fmt.Sprintf("Object type expected to be different than %T", theType), msgAndArgs...) } // Equal asserts that two objects are equal. @@ -475,7 +510,6 @@ func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) } return true - } // validateEqualArgs checks whether provided arguments can be safely used in the @@ -510,8 +544,9 @@ func Same(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) b if !same { // both are pointers but not the same type & pointing to the same address return Fail(t, fmt.Sprintf("Not same: \n"+ - "expected: %p %#v\n"+ - "actual : %p %#v", expected, expected, actual, actual), msgAndArgs...) + "expected: %p %#[1]v\n"+ + "actual : %p %#[2]v", + expected, actual), msgAndArgs...) } return true @@ -530,14 +565,14 @@ func NotSame(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} same, ok := samePointers(expected, actual) if !ok { - //fails when the arguments are not pointers + // fails when the arguments are not pointers return !(Fail(t, "Both arguments must be pointers", msgAndArgs...)) } if same { return Fail(t, fmt.Sprintf( - "Expected and actual point to the same object: %p %#v", - expected, expected), msgAndArgs...) + "Expected and actual point to the same object: %p %#[1]v", + expected), msgAndArgs...) } return true } @@ -549,7 +584,7 @@ func NotSame(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} func samePointers(first, second interface{}) (same bool, ok bool) { firstPtr, secondPtr := reflect.ValueOf(first), reflect.ValueOf(second) if firstPtr.Kind() != reflect.Ptr || secondPtr.Kind() != reflect.Ptr { - return false, false //not both are pointers + return false, false // not both are pointers } firstType, secondType := reflect.TypeOf(first), reflect.TypeOf(second) @@ -610,7 +645,6 @@ func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interfa } return true - } // EqualExportedValues asserts that the types of two objects are equal and their public @@ -665,7 +699,6 @@ func Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} } return Equal(t, expected, actual, msgAndArgs...) - } // NotNil asserts that the specified object is not nil. @@ -715,37 +748,45 @@ func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { // isEmpty gets whether the specified object is considered empty or not. func isEmpty(object interface{}) bool { - // get nil case out of the way if object == nil { return true } - objValue := reflect.ValueOf(object) + return isEmptyValue(reflect.ValueOf(object)) +} +// isEmptyValue gets whether the specified reflect.Value is considered empty or not. +func isEmptyValue(objValue reflect.Value) bool { + if objValue.IsZero() { + return true + } + // Special cases of non-zero values that we consider empty switch objValue.Kind() { // collection types are empty when they have no element + // Note: array types are empty when they match their zero-initialized state. case reflect.Chan, reflect.Map, reflect.Slice: return objValue.Len() == 0 - // pointers are empty if nil or if the value they point to is empty + // non-nil pointers are empty if the value they point to is empty case reflect.Ptr: - if objValue.IsNil() { - return true - } - deref := objValue.Elem().Interface() - return isEmpty(deref) - // for all other types, compare against the zero value - // array types are empty when they match their zero-initialized state - default: - zero := reflect.Zero(objValue.Type()) - return reflect.DeepEqual(object, zero.Interface()) + return isEmptyValue(objValue.Elem()) } + return false } -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Empty asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // assert.Empty(t, obj) +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { pass := isEmpty(object) if !pass { @@ -756,11 +797,9 @@ func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { } return pass - } -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmpty asserts that the specified object is NOT [Empty]. // // if assert.NotEmpty(t, obj) { // assert.Equal(t, "two", obj[1]) @@ -775,7 +814,6 @@ func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { } return pass - } // getLen tries to get the length of an object. @@ -819,7 +857,6 @@ func True(t TestingT, value bool, msgAndArgs ...interface{}) bool { } return true - } // False asserts that the specified value is false. @@ -834,7 +871,6 @@ func False(t TestingT, value bool, msgAndArgs ...interface{}) bool { } return true - } // NotEqual asserts that the specified values are NOT equal. @@ -857,7 +893,6 @@ func NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{ } return true - } // NotEqualValues asserts that two objects are not equal even when converted to the same type @@ -880,7 +915,6 @@ func NotEqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...inte // return (true, false) if element was not found. // return (true, true) if element was found. func containsElement(list interface{}, element interface{}) (ok, found bool) { - listValue := reflect.ValueOf(list) listType := reflect.TypeOf(list) if listType == nil { @@ -915,7 +949,6 @@ func containsElement(list interface{}, element interface{}) (ok, found bool) { } } return true, false - } // Contains asserts that the specified string, list(array, slice...) or map contains the @@ -938,7 +971,6 @@ func Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bo } return true - } // NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the @@ -961,14 +993,17 @@ func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) } return true - } -// Subset asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subset asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // assert.Subset(t, [1, 2, 3], [1, 2]) // assert.Subset(t, {"x": 1, "y": 2}, {"x": 1}) +// assert.Subset(t, [1, 2, 3], {1: "one", 2: "two"}) +// assert.Subset(t, {"x": 1, "y": 2}, ["x"]) func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { if h, ok := t.(tHelper); ok { h.Helper() @@ -983,7 +1018,7 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok } subsetKind := reflect.TypeOf(subset).Kind() - if subsetKind != reflect.Array && subsetKind != reflect.Slice && listKind != reflect.Map { + if subsetKind != reflect.Array && subsetKind != reflect.Slice && subsetKind != reflect.Map { return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) } @@ -1007,6 +1042,13 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok } subsetList := reflect.ValueOf(subset) + if subsetKind == reflect.Map { + keys := make([]interface{}, subsetList.Len()) + for idx, key := range subsetList.MapKeys() { + keys[idx] = key.Interface() + } + subsetList = reflect.ValueOf(keys) + } for i := 0; i < subsetList.Len(); i++ { element := subsetList.Index(i).Interface() ok, found := containsElement(list, element) @@ -1021,12 +1063,15 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok return true } -// NotSubset asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubset asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // assert.NotSubset(t, [1, 3, 4], [1, 2]) // assert.NotSubset(t, {"x": 1, "y": 2}, {"z": 3}) +// assert.NotSubset(t, [1, 3, 4], {1: "one", 2: "two"}) +// assert.NotSubset(t, {"x": 1, "y": 2}, ["z"]) func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1041,7 +1086,7 @@ func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) } subsetKind := reflect.TypeOf(subset).Kind() - if subsetKind != reflect.Array && subsetKind != reflect.Slice && listKind != reflect.Map { + if subsetKind != reflect.Array && subsetKind != reflect.Slice && subsetKind != reflect.Map { return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) } @@ -1065,11 +1110,18 @@ func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) } subsetList := reflect.ValueOf(subset) + if subsetKind == reflect.Map { + keys := make([]interface{}, subsetList.Len()) + for idx, key := range subsetList.MapKeys() { + keys[idx] = key.Interface() + } + subsetList = reflect.ValueOf(keys) + } for i := 0; i < subsetList.Len(); i++ { element := subsetList.Index(i).Interface() ok, found := containsElement(list, element) if !ok { - return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...) + return Fail(t, fmt.Sprintf("%q could not be applied builtin len()", list), msgAndArgs...) } if !found { return true @@ -1591,10 +1643,8 @@ func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool { // Error asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if assert.Error(t, err) { -// assert.Equal(t, expectedError, err) -// } +// actualObj, err := SomeFunction() +// assert.Error(t, err) func Error(t TestingT, err error, msgAndArgs ...interface{}) bool { if err == nil { if h, ok := t.(tHelper); ok { @@ -1667,7 +1717,6 @@ func matchRegexp(rx interface{}, str interface{}) bool { default: return r.MatchString(fmt.Sprint(v)) } - } // Regexp asserts that a specified regexp matches a string. @@ -1703,7 +1752,6 @@ func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interf } return !match - } // Zero asserts that i is the zero value for its type. @@ -1814,6 +1862,11 @@ func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{ return Fail(t, fmt.Sprintf("Expected value ('%s') is not valid json.\nJSON parsing error: '%s'", expected, err.Error()), msgAndArgs...) } + // Shortcut if same bytes + if actual == expected { + return true + } + if err := json.Unmarshal([]byte(actual), &actualJSONAsInterface); err != nil { return Fail(t, fmt.Sprintf("Input ('%s') needs to be valid json.\nJSON parsing error: '%s'", actual, err.Error()), msgAndArgs...) } @@ -1832,6 +1885,11 @@ func YAMLEq(t TestingT, expected string, actual string, msgAndArgs ...interface{ return Fail(t, fmt.Sprintf("Expected value ('%s') is not valid yaml.\nYAML parsing error: '%s'", expected, err.Error()), msgAndArgs...) } + // Shortcut if same bytes + if actual == expected { + return true + } + if err := yaml.Unmarshal([]byte(actual), &actualYAMLAsInterface); err != nil { return Fail(t, fmt.Sprintf("Input ('%s') needs to be valid yaml.\nYAML error: '%s'", actual, err.Error()), msgAndArgs...) } @@ -1933,6 +1991,7 @@ func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick t } ch := make(chan bool, 1) + checkCond := func() { ch <- condition() } timer := time.NewTimer(waitFor) defer timer.Stop() @@ -1940,18 +1999,23 @@ func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick t ticker := time.NewTicker(tick) defer ticker.Stop() - for tick := ticker.C; ; { + var tickC <-chan time.Time + + // Check the condition once first on the initial call. + go checkCond() + + for { select { case <-timer.C: return Fail(t, "Condition never satisfied", msgAndArgs...) - case <-tick: - tick = nil - go func() { ch <- condition() }() + case <-tickC: + tickC = nil + go checkCond() case v := <-ch: if v { return true } - tick = ticker.C + tickC = ticker.C } } } @@ -1964,6 +2028,9 @@ type CollectT struct { errors []error } +// Helper is like [testing.T.Helper] but does nothing. +func (CollectT) Helper() {} + // Errorf collects the error. func (c *CollectT) Errorf(format string, args ...interface{}) { c.errors = append(c.errors, fmt.Errorf(format, args...)) @@ -2021,35 +2088,42 @@ func EventuallyWithT(t TestingT, condition func(collect *CollectT), waitFor time var lastFinishedTickErrs []error ch := make(chan *CollectT, 1) + checkCond := func() { + collect := new(CollectT) + defer func() { + ch <- collect + }() + condition(collect) + } + timer := time.NewTimer(waitFor) defer timer.Stop() ticker := time.NewTicker(tick) defer ticker.Stop() - for tick := ticker.C; ; { + var tickC <-chan time.Time + + // Check the condition once first on the initial call. + go checkCond() + + for { select { case <-timer.C: for _, err := range lastFinishedTickErrs { t.Errorf("%v", err) } return Fail(t, "Condition never satisfied", msgAndArgs...) - case <-tick: - tick = nil - go func() { - collect := new(CollectT) - defer func() { - ch <- collect - }() - condition(collect) - }() + case <-tickC: + tickC = nil + go checkCond() case collect := <-ch: if !collect.failed() { return true } // Keep the errors from the last ended condition, so that they can be copied to t if timeout is reached. lastFinishedTickErrs = collect.errors - tick = ticker.C + tickC = ticker.C } } } @@ -2064,6 +2138,7 @@ func Never(t TestingT, condition func() bool, waitFor time.Duration, tick time.D } ch := make(chan bool, 1) + checkCond := func() { ch <- condition() } timer := time.NewTimer(waitFor) defer timer.Stop() @@ -2071,18 +2146,23 @@ func Never(t TestingT, condition func() bool, waitFor time.Duration, tick time.D ticker := time.NewTicker(tick) defer ticker.Stop() - for tick := ticker.C; ; { + var tickC <-chan time.Time + + // Check the condition once first on the initial call. + go checkCond() + + for { select { case <-timer.C: return true - case <-tick: - tick = nil - go func() { ch <- condition() }() + case <-tickC: + tickC = nil + go checkCond() case v := <-ch: if v { return Fail(t, "Condition satisfied", msgAndArgs...) } - tick = ticker.C + tickC = ticker.C } } } @@ -2100,9 +2180,12 @@ func ErrorIs(t TestingT, err, target error, msgAndArgs ...interface{}) bool { var expectedText string if target != nil { expectedText = target.Error() + if err == nil { + return Fail(t, fmt.Sprintf("Expected error with %q in chain but got nil.", expectedText), msgAndArgs...) + } } - chain := buildErrorChainString(err) + chain := buildErrorChainString(err, false) return Fail(t, fmt.Sprintf("Target error should be in err chain:\n"+ "expected: %q\n"+ @@ -2125,7 +2208,7 @@ func NotErrorIs(t TestingT, err, target error, msgAndArgs ...interface{}) bool { expectedText = target.Error() } - chain := buildErrorChainString(err) + chain := buildErrorChainString(err, false) return Fail(t, fmt.Sprintf("Target error should not be in err chain:\n"+ "found: %q\n"+ @@ -2143,11 +2226,17 @@ func ErrorAs(t TestingT, err error, target interface{}, msgAndArgs ...interface{ return true } - chain := buildErrorChainString(err) + expectedType := reflect.TypeOf(target).Elem().String() + if err == nil { + return Fail(t, fmt.Sprintf("An error is expected but got nil.\n"+ + "expected: %s", expectedType), msgAndArgs...) + } + + chain := buildErrorChainString(err, true) return Fail(t, fmt.Sprintf("Should be in error chain:\n"+ - "expected: %q\n"+ - "in chain: %s", target, chain, + "expected: %s\n"+ + "in chain: %s", expectedType, chain, ), msgAndArgs...) } @@ -2161,24 +2250,46 @@ func NotErrorAs(t TestingT, err error, target interface{}, msgAndArgs ...interfa return true } - chain := buildErrorChainString(err) + chain := buildErrorChainString(err, true) return Fail(t, fmt.Sprintf("Target error should not be in err chain:\n"+ - "found: %q\n"+ - "in chain: %s", target, chain, + "found: %s\n"+ + "in chain: %s", reflect.TypeOf(target).Elem().String(), chain, ), msgAndArgs...) } -func buildErrorChainString(err error) string { +func unwrapAll(err error) (errs []error) { + errs = append(errs, err) + switch x := err.(type) { + case interface{ Unwrap() error }: + err = x.Unwrap() + if err == nil { + return + } + errs = append(errs, unwrapAll(err)...) + case interface{ Unwrap() []error }: + for _, err := range x.Unwrap() { + errs = append(errs, unwrapAll(err)...) + } + } + return +} + +func buildErrorChainString(err error, withType bool) string { if err == nil { return "" } - e := errors.Unwrap(err) - chain := fmt.Sprintf("%q", err.Error()) - for e != nil { - chain += fmt.Sprintf("\n\t%q", e.Error()) - e = errors.Unwrap(e) + var chain string + errs := unwrapAll(err) + for i := range errs { + if i != 0 { + chain += "\n\t" + } + chain += fmt.Sprintf("%q", errs[i].Error()) + if withType { + chain += fmt.Sprintf(" (%T)", errs[i]) + } } return chain } diff --git a/vendor/github.com/stretchr/testify/assert/doc.go b/vendor/github.com/stretchr/testify/assert/doc.go index 4953981d3..a0b953aa5 100644 --- a/vendor/github.com/stretchr/testify/assert/doc.go +++ b/vendor/github.com/stretchr/testify/assert/doc.go @@ -1,5 +1,9 @@ // Package assert provides a set of comprehensive testing tools for use with the normal Go testing system. // +// # Note +// +// All functions in this package return a bool value indicating whether the assertion has passed. +// // # Example Usage // // The following is a complete example using assert in a standard test function: diff --git a/vendor/github.com/stretchr/testify/assert/http_assertions.go b/vendor/github.com/stretchr/testify/assert/http_assertions.go index 861ed4b7c..5a6bb75f2 100644 --- a/vendor/github.com/stretchr/testify/assert/http_assertions.go +++ b/vendor/github.com/stretchr/testify/assert/http_assertions.go @@ -138,7 +138,7 @@ func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string, contains := strings.Contains(body, fmt.Sprint(str)) if !contains { - Fail(t, fmt.Sprintf("Expected response body for \"%s\" to contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body), msgAndArgs...) + Fail(t, fmt.Sprintf("Expected response body for %q to contain %q but found %q", url+"?"+values.Encode(), str, body), msgAndArgs...) } return contains @@ -158,7 +158,7 @@ func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method, url strin contains := strings.Contains(body, fmt.Sprint(str)) if contains { - Fail(t, fmt.Sprintf("Expected response body for \"%s\" to NOT contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body), msgAndArgs...) + Fail(t, fmt.Sprintf("Expected response body for %q to NOT contain %q but found %q", url+"?"+values.Encode(), str, body), msgAndArgs...) } return !contains diff --git a/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go b/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go index baa0cc7d7..5a74c4f4d 100644 --- a/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go +++ b/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go @@ -1,5 +1,4 @@ //go:build testify_yaml_custom && !testify_yaml_fail && !testify_yaml_default -// +build testify_yaml_custom,!testify_yaml_fail,!testify_yaml_default // Package yaml is an implementation of YAML functions that calls a pluggable implementation. // diff --git a/vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go b/vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go index b83c6cf64..0bae80e34 100644 --- a/vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go +++ b/vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go @@ -1,5 +1,4 @@ //go:build !testify_yaml_fail && !testify_yaml_custom -// +build !testify_yaml_fail,!testify_yaml_custom // Package yaml is just an indirection to handle YAML deserialization. // diff --git a/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go b/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go index e78f7dfe6..8041803fd 100644 --- a/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go +++ b/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go @@ -1,5 +1,4 @@ //go:build testify_yaml_fail && !testify_yaml_custom && !testify_yaml_default -// +build testify_yaml_fail,!testify_yaml_custom,!testify_yaml_default // Package yaml is an implementation of YAML functions that always fail. // diff --git a/vendor/github.com/stretchr/testify/mock/mock.go b/vendor/github.com/stretchr/testify/mock/mock.go index eb5682df9..efc89deff 100644 --- a/vendor/github.com/stretchr/testify/mock/mock.go +++ b/vendor/github.com/stretchr/testify/mock/mock.go @@ -208,9 +208,16 @@ func (c *Call) On(methodName string, arguments ...interface{}) *Call { return c.Parent.On(methodName, arguments...) } -// Unset removes a mock handler from being called. +// Unset removes all mock handlers that satisfy the call instance arguments from being +// called. Only supported on call instances with static input arguments. // -// test.On("func", mock.Anything).Unset() +// For example, the only handler remaining after the following would be "MyMethod(2, 2)": +// +// Mock. +// On("MyMethod", 2, 2).Return(0). +// On("MyMethod", 3, 3).Return(0). +// On("MyMethod", Anything, Anything).Return(0) +// Mock.On("MyMethod", 3, 3).Unset() func (c *Call) Unset() *Call { var unlockOnce sync.Once @@ -331,7 +338,10 @@ func (m *Mock) TestData() objx.Map { Setting expectations */ -// Test sets the test struct variable of the mock object +// Test sets the [TestingT] on which errors will be reported, otherwise errors +// will cause a panic. +// Test should not be called on an object that is going to be used in a +// goroutine other than the one running the test function. func (m *Mock) Test(t TestingT) { m.mutex.Lock() defer m.mutex.Unlock() @@ -494,7 +504,7 @@ func (m *Mock) MethodCalled(methodName string, arguments ...interface{}) Argumen // expected call found, but it has already been called with repeatable times if call != nil { m.mutex.Unlock() - m.fail("\nassert: mock: The method has been called over %d times.\n\tEither do one more Mock.On(\"%s\").Return(...), or remove extra call.\n\tThis call was unexpected:\n\t\t%s\n\tat: %s", call.totalCalls, methodName, callString(methodName, arguments, true), assert.CallerInfo()) + m.fail("\nassert: mock: The method has been called over %d times.\n\tEither do one more Mock.On(%#v).Return(...), or remove extra call.\n\tThis call was unexpected:\n\t\t%s\n\tat: %s", call.totalCalls, methodName, callString(methodName, arguments, true), assert.CallerInfo()) } // we have to fail here - because we don't know what to do // as the return arguments. This is because: @@ -514,7 +524,7 @@ func (m *Mock) MethodCalled(methodName string, arguments ...interface{}) Argumen assert.CallerInfo(), ) } else { - m.fail("\nassert: mock: I don't know what to return because the method call was unexpected.\n\tEither do Mock.On(\"%s\").Return(...) first, or remove the %s() call.\n\tThis method was unexpected:\n\t\t%s\n\tat: %s", methodName, methodName, callString(methodName, arguments, true), assert.CallerInfo()) + m.fail("\nassert: mock: I don't know what to return because the method call was unexpected.\n\tEither do Mock.On(%#v).Return(...) first, or remove the %s() call.\n\tThis method was unexpected:\n\t\t%s\n\tat: %s", methodName, methodName, callString(methodName, arguments, true), assert.CallerInfo()) } } @@ -661,7 +671,7 @@ func (m *Mock) AssertNumberOfCalls(t TestingT, methodName string, expectedCalls actualCalls++ } } - return assert.Equal(t, expectedCalls, actualCalls, fmt.Sprintf("Expected number of calls (%d) does not match the actual number of calls (%d).", expectedCalls, actualCalls)) + return assert.Equal(t, expectedCalls, actualCalls, fmt.Sprintf("Expected number of calls (%d) of method %s does not match the actual number of calls (%d).", expectedCalls, methodName, actualCalls)) } // AssertCalled asserts that the method was called. diff --git a/vendor/github.com/stretchr/testify/require/doc.go b/vendor/github.com/stretchr/testify/require/doc.go index 968434724..c8e3f94a8 100644 --- a/vendor/github.com/stretchr/testify/require/doc.go +++ b/vendor/github.com/stretchr/testify/require/doc.go @@ -23,6 +23,8 @@ // // The `require` package have same global functions as in the `assert` package, // but instead of returning a boolean result they call `t.FailNow()`. +// A consequence of this is that it must be called from the goroutine running +// the test function, not from other goroutines created during the test. // // Every assertion function also takes an optional string message as the final argument, // allowing custom error messages to be appended to the message the assertion method outputs. diff --git a/vendor/github.com/stretchr/testify/require/require.go b/vendor/github.com/stretchr/testify/require/require.go index d8921950d..2d02f9bce 100644 --- a/vendor/github.com/stretchr/testify/require/require.go +++ b/vendor/github.com/stretchr/testify/require/require.go @@ -117,10 +117,19 @@ func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string t.FailNow() } -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Empty asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // require.Empty(t, obj) +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -131,10 +140,19 @@ func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) { t.FailNow() } -// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Emptyf asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // require.Emptyf(t, obj, "error message %s", "formatted") +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -279,10 +297,8 @@ func Equalf(t TestingT, expected interface{}, actual interface{}, msg string, ar // Error asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if require.Error(t, err) { -// require.Equal(t, expectedError, err) -// } +// actualObj, err := SomeFunction() +// require.Error(t, err) func Error(t TestingT, err error, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -373,10 +389,8 @@ func ErrorIsf(t TestingT, err error, target error, msg string, args ...interface // Errorf asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if require.Errorf(t, err, "error message %s", "formatted") { -// require.Equal(t, expectedErrorf, err) -// } +// actualObj, err := SomeFunction() +// require.Errorf(t, err, "error message %s", "formatted") func Errorf(t TestingT, err error, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1097,7 +1111,35 @@ func IsNonIncreasingf(t TestingT, object interface{}, msg string, args ...interf t.FailNow() } +// IsNotType asserts that the specified objects are not of the same type. +// +// require.IsNotType(t, &NotMyStruct{}, &MyStruct{}) +func IsNotType(t TestingT, theType interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.IsNotType(t, theType, object, msgAndArgs...) { + return + } + t.FailNow() +} + +// IsNotTypef asserts that the specified objects are not of the same type. +// +// require.IsNotTypef(t, &NotMyStruct{}, &MyStruct{}, "error message %s", "formatted") +func IsNotTypef(t TestingT, theType interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.IsNotTypef(t, theType, object, msg, args...) { + return + } + t.FailNow() +} + // IsType asserts that the specified objects are of the same type. +// +// require.IsType(t, &MyStruct{}, &MyStruct{}) func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1109,6 +1151,8 @@ func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs } // IsTypef asserts that the specified objects are of the same type. +// +// require.IsTypef(t, &MyStruct{}, &MyStruct{}, "error message %s", "formatted") func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1469,8 +1513,7 @@ func NotElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg str t.FailNow() } -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmpty asserts that the specified object is NOT [Empty]. // // if require.NotEmpty(t, obj) { // require.Equal(t, "two", obj[1]) @@ -1485,8 +1528,7 @@ func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) { t.FailNow() } -// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmptyf asserts that the specified object is NOT [Empty]. // // if require.NotEmptyf(t, obj, "error message %s", "formatted") { // require.Equal(t, "two", obj[1]) @@ -1745,12 +1787,15 @@ func NotSamef(t TestingT, expected interface{}, actual interface{}, msg string, t.FailNow() } -// NotSubset asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubset asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // require.NotSubset(t, [1, 3, 4], [1, 2]) // require.NotSubset(t, {"x": 1, "y": 2}, {"z": 3}) +// require.NotSubset(t, [1, 3, 4], {1: "one", 2: "two"}) +// require.NotSubset(t, {"x": 1, "y": 2}, ["z"]) func NotSubset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1761,12 +1806,15 @@ func NotSubset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...i t.FailNow() } -// NotSubsetf asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubsetf asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // require.NotSubsetf(t, [1, 3, 4], [1, 2], "error message %s", "formatted") // require.NotSubsetf(t, {"x": 1, "y": 2}, {"z": 3}, "error message %s", "formatted") +// require.NotSubsetf(t, [1, 3, 4], {1: "one", 2: "two"}, "error message %s", "formatted") +// require.NotSubsetf(t, {"x": 1, "y": 2}, ["z"], "error message %s", "formatted") func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1971,11 +2019,15 @@ func Samef(t TestingT, expected interface{}, actual interface{}, msg string, arg t.FailNow() } -// Subset asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subset asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // require.Subset(t, [1, 2, 3], [1, 2]) // require.Subset(t, {"x": 1, "y": 2}, {"x": 1}) +// require.Subset(t, [1, 2, 3], {1: "one", 2: "two"}) +// require.Subset(t, {"x": 1, "y": 2}, ["x"]) func Subset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1986,11 +2038,15 @@ func Subset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...inte t.FailNow() } -// Subsetf asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subsetf asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // require.Subsetf(t, [1, 2, 3], [1, 2], "error message %s", "formatted") // require.Subsetf(t, {"x": 1, "y": 2}, {"x": 1}, "error message %s", "formatted") +// require.Subsetf(t, [1, 2, 3], {1: "one", 2: "two"}, "error message %s", "formatted") +// require.Subsetf(t, {"x": 1, "y": 2}, ["x"], "error message %s", "formatted") func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() diff --git a/vendor/github.com/stretchr/testify/require/require_forward.go b/vendor/github.com/stretchr/testify/require/require_forward.go index 1bd87304f..e6f7e9446 100644 --- a/vendor/github.com/stretchr/testify/require/require_forward.go +++ b/vendor/github.com/stretchr/testify/require/require_forward.go @@ -93,10 +93,19 @@ func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg st ElementsMatchf(a.t, listA, listB, msg, args...) } -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Empty asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // a.Empty(obj) +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -104,10 +113,19 @@ func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) { Empty(a.t, object, msgAndArgs...) } -// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Emptyf asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // a.Emptyf(obj, "error message %s", "formatted") +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -225,10 +243,8 @@ func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string // Error asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if a.Error(err) { -// assert.Equal(t, expectedError, err) -// } +// actualObj, err := SomeFunction() +// a.Error(err) func (a *Assertions) Error(err error, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -298,10 +314,8 @@ func (a *Assertions) ErrorIsf(err error, target error, msg string, args ...inter // Errorf asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if a.Errorf(err, "error message %s", "formatted") { -// assert.Equal(t, expectedErrorf, err) -// } +// actualObj, err := SomeFunction() +// a.Errorf(err, "error message %s", "formatted") func (a *Assertions) Errorf(err error, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -869,7 +883,29 @@ func (a *Assertions) IsNonIncreasingf(object interface{}, msg string, args ...in IsNonIncreasingf(a.t, object, msg, args...) } +// IsNotType asserts that the specified objects are not of the same type. +// +// a.IsNotType(&NotMyStruct{}, &MyStruct{}) +func (a *Assertions) IsNotType(theType interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + IsNotType(a.t, theType, object, msgAndArgs...) +} + +// IsNotTypef asserts that the specified objects are not of the same type. +// +// a.IsNotTypef(&NotMyStruct{}, &MyStruct{}, "error message %s", "formatted") +func (a *Assertions) IsNotTypef(theType interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + IsNotTypef(a.t, theType, object, msg, args...) +} + // IsType asserts that the specified objects are of the same type. +// +// a.IsType(&MyStruct{}, &MyStruct{}) func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -878,6 +914,8 @@ func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAnd } // IsTypef asserts that the specified objects are of the same type. +// +// a.IsTypef(&MyStruct{}, &MyStruct{}, "error message %s", "formatted") func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1163,8 +1201,7 @@ func (a *Assertions) NotElementsMatchf(listA interface{}, listB interface{}, msg NotElementsMatchf(a.t, listA, listB, msg, args...) } -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmpty asserts that the specified object is NOT [Empty]. // // if a.NotEmpty(obj) { // assert.Equal(t, "two", obj[1]) @@ -1176,8 +1213,7 @@ func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) { NotEmpty(a.t, object, msgAndArgs...) } -// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmptyf asserts that the specified object is NOT [Empty]. // // if a.NotEmptyf(obj, "error message %s", "formatted") { // assert.Equal(t, "two", obj[1]) @@ -1379,12 +1415,15 @@ func (a *Assertions) NotSamef(expected interface{}, actual interface{}, msg stri NotSamef(a.t, expected, actual, msg, args...) } -// NotSubset asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubset asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.NotSubset([1, 3, 4], [1, 2]) // a.NotSubset({"x": 1, "y": 2}, {"z": 3}) +// a.NotSubset([1, 3, 4], {1: "one", 2: "two"}) +// a.NotSubset({"x": 1, "y": 2}, ["z"]) func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1392,12 +1431,15 @@ func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs NotSubset(a.t, list, subset, msgAndArgs...) } -// NotSubsetf asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubsetf asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.NotSubsetf([1, 3, 4], [1, 2], "error message %s", "formatted") // a.NotSubsetf({"x": 1, "y": 2}, {"z": 3}, "error message %s", "formatted") +// a.NotSubsetf([1, 3, 4], {1: "one", 2: "two"}, "error message %s", "formatted") +// a.NotSubsetf({"x": 1, "y": 2}, ["z"], "error message %s", "formatted") func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1557,11 +1599,15 @@ func (a *Assertions) Samef(expected interface{}, actual interface{}, msg string, Samef(a.t, expected, actual, msg, args...) } -// Subset asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subset asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.Subset([1, 2, 3], [1, 2]) // a.Subset({"x": 1, "y": 2}, {"x": 1}) +// a.Subset([1, 2, 3], {1: "one", 2: "two"}) +// a.Subset({"x": 1, "y": 2}, ["x"]) func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1569,11 +1615,15 @@ func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ... Subset(a.t, list, subset, msgAndArgs...) } -// Subsetf asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subsetf asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.Subsetf([1, 2, 3], [1, 2], "error message %s", "formatted") // a.Subsetf({"x": 1, "y": 2}, {"x": 1}, "error message %s", "formatted") +// a.Subsetf([1, 2, 3], {1: "one", 2: "two"}, "error message %s", "formatted") +// a.Subsetf({"x": 1, "y": 2}, ["x"], "error message %s", "formatted") func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() diff --git a/vendor/github.com/tinylib/msgp/msgp/autoshim.go b/vendor/github.com/tinylib/msgp/msgp/autoshim.go new file mode 100644 index 000000000..7d5b4cabf --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/autoshim.go @@ -0,0 +1,159 @@ +package msgp + +import "strconv" + +// AutoShim provides helper functions for converting between string and +// numeric types. +type AutoShim struct{} + +// ParseUint converts a string to a uint. +func (a AutoShim) ParseUint(s string) (uint, error) { + v, err := strconv.ParseUint(s, 10, strconv.IntSize) + return uint(v), err +} + +// ParseUint8 converts a string to a uint8. +func (a AutoShim) ParseUint8(s string) (uint8, error) { + v, err := strconv.ParseUint(s, 10, 8) + return uint8(v), err +} + +// ParseUint16 converts a string to a uint16. +func (a AutoShim) ParseUint16(s string) (uint16, error) { + v, err := strconv.ParseUint(s, 10, 16) + return uint16(v), err +} + +// ParseUint32 converts a string to a uint32. +func (a AutoShim) ParseUint32(s string) (uint32, error) { + v, err := strconv.ParseUint(s, 10, 32) + return uint32(v), err +} + +// ParseUint64 converts a string to a uint64. +func (a AutoShim) ParseUint64(s string) (uint64, error) { + v, err := strconv.ParseUint(s, 10, 64) + return uint64(v), err +} + +// ParseInt converts a string to an int. +func (a AutoShim) ParseInt(s string) (int, error) { + v, err := strconv.ParseInt(s, 10, strconv.IntSize) + return int(v), err +} + +// ParseInt8 converts a string to an int8. +func (a AutoShim) ParseInt8(s string) (int8, error) { + v, err := strconv.ParseInt(s, 10, 8) + return int8(v), err +} + +// ParseInt16 converts a string to an int16. +func (a AutoShim) ParseInt16(s string) (int16, error) { + v, err := strconv.ParseInt(s, 10, 16) + return int16(v), err +} + +// ParseInt32 converts a string to an int32. +func (a AutoShim) ParseInt32(s string) (int32, error) { + v, err := strconv.ParseInt(s, 10, 32) + return int32(v), err +} + +// ParseInt64 converts a string to an int64. +func (a AutoShim) ParseInt64(s string) (int64, error) { + v, err := strconv.ParseInt(s, 10, 64) + return int64(v), err +} + +// ParseBool converts a string to a bool. +func (a AutoShim) ParseBool(s string) (bool, error) { + return strconv.ParseBool(s) +} + +// ParseFloat64 converts a string to a float64. +func (a AutoShim) ParseFloat64(s string) (float64, error) { + return strconv.ParseFloat(s, 64) +} + +// ParseFloat32 converts a string to a float32. +func (a AutoShim) ParseFloat32(s string) (float32, error) { + v, err := strconv.ParseFloat(s, 32) + return float32(v), err +} + +// ParseByte converts a string to a byte. +func (a AutoShim) ParseByte(s string) (byte, error) { + v, err := strconv.ParseUint(s, 10, 8) + return byte(v), err +} + +// Uint8String returns the string representation of a uint8. +func (a AutoShim) Uint8String(v uint8) string { + return strconv.FormatUint(uint64(v), 10) +} + +// UintString returns the string representation of a uint. +func (a AutoShim) UintString(v uint) string { + return strconv.FormatUint(uint64(v), 10) +} + +// Uint16String returns the string representation of a uint16. +func (a AutoShim) Uint16String(v uint16) string { + return strconv.FormatUint(uint64(v), 10) +} + +// Uint32String returns the string representation of a uint32. +func (a AutoShim) Uint32String(v uint32) string { + return strconv.FormatUint(uint64(v), 10) +} + +// Uint64String returns the string representation of a uint64. +func (a AutoShim) Uint64String(v uint64) string { + return strconv.FormatUint(v, 10) +} + +// IntString returns the string representation of an int. +func (a AutoShim) IntString(v int) string { + return strconv.FormatInt(int64(v), 10) +} + +// Int8String returns the string representation of an int8. +func (a AutoShim) Int8String(v int8) string { + return strconv.FormatInt(int64(v), 10) +} + +// Int16String returns the string representation of an int16. +func (a AutoShim) Int16String(v int16) string { + return strconv.FormatInt(int64(v), 10) +} + +// Int32String returns the string representation of an int32. +func (a AutoShim) Int32String(v int32) string { + return strconv.FormatInt(int64(v), 10) +} + +// Int64String returns the string representation of an int64. +func (a AutoShim) Int64String(v int64) string { + return strconv.FormatInt(v, 10) +} + +// BoolString returns the string representation of a bool. +func (a AutoShim) BoolString(v bool) string { + return strconv.FormatBool(v) +} + +// Float64String returns the string representation of a float64. +func (a AutoShim) Float64String(v float64) string { + return strconv.FormatFloat(v, 'g', -1, 64) +} + +// Float32String returns the string representation of a float32. +func (a AutoShim) Float32String(v float32) string { + return strconv.FormatFloat(float64(v), 'g', -1, 32) +} + +// ByteString returns the string representation of a byte. +func (a AutoShim) ByteString(v byte) string { + return strconv.FormatUint(uint64(v), 10) +} diff --git a/vendor/github.com/tinylib/msgp/msgp/errors.go b/vendor/github.com/tinylib/msgp/msgp/errors.go index e6b42b689..e2261b760 100644 --- a/vendor/github.com/tinylib/msgp/msgp/errors.go +++ b/vendor/github.com/tinylib/msgp/msgp/errors.go @@ -17,6 +17,10 @@ var ( // This should only realistically be seen on adversarial data trying to exhaust the stack. ErrRecursion error = errRecursion{} + // ErrLimitExceeded is returned when a set limit is exceeded. + // Limits can be set on the Reader to prevent excessive memory usage by adversarial data. + ErrLimitExceeded error = errLimitExceeded{} + // this error is only returned // if we reach code that should // be unreachable @@ -143,6 +147,11 @@ type errRecursion struct{} func (e errRecursion) Error() string { return "msgp: recursion limit reached" } func (e errRecursion) Resumable() bool { return false } +type errLimitExceeded struct{} + +func (e errLimitExceeded) Error() string { return "msgp: configured reader limit exceeded" } +func (e errLimitExceeded) Resumable() bool { return false } + // ArrayError is an error returned // when decoding a fix-sized array // of the wrong size diff --git a/vendor/github.com/tinylib/msgp/msgp/extension.go b/vendor/github.com/tinylib/msgp/msgp/extension.go index cda71c984..b92af8fbb 100644 --- a/vendor/github.com/tinylib/msgp/msgp/extension.go +++ b/vendor/github.com/tinylib/msgp/msgp/extension.go @@ -383,6 +383,9 @@ func (m *Reader) ReadExtension(e Extension) error { if expectedType := e.ExtensionType(); extType != expectedType { return errExt(extType, expectedType) } + if uint32(length) > m.GetMaxElements() { + return ErrLimitExceeded + } p, err := m.R.Peek(offset + length) if err != nil { @@ -404,6 +407,9 @@ func (m *Reader) ReadExtensionRaw() (int8, []byte, error) { if err != nil { return 0, nil, err } + if uint32(length) > m.GetMaxElements() { + return 0, nil, ErrLimitExceeded + } payload, err := m.R.Next(offset + length) if err != nil { diff --git a/vendor/github.com/tinylib/msgp/msgp/json.go b/vendor/github.com/tinylib/msgp/msgp/json.go index 18593f64d..e5c450b51 100644 --- a/vendor/github.com/tinylib/msgp/msgp/json.go +++ b/vendor/github.com/tinylib/msgp/msgp/json.go @@ -60,7 +60,7 @@ func CopyToJSON(dst io.Writer, src io.Reader) (n int64, err error) { // WriteToJSON translates MessagePack from 'r' and writes it as // JSON to 'w' until the underlying reader returns io.EOF. It returns // the number of bytes written, and an error if it stopped before EOF. -func (r *Reader) WriteToJSON(w io.Writer) (n int64, err error) { +func (m *Reader) WriteToJSON(w io.Writer) (n int64, err error) { var j jsWriter var bf *bufio.Writer if jsw, ok := w.(jsWriter); ok { @@ -71,7 +71,7 @@ func (r *Reader) WriteToJSON(w io.Writer) (n int64, err error) { } var nn int for err == nil { - nn, err = rwNext(j, r) + nn, err = rwNext(j, m) n += int64(nn) } if err != io.EOF { @@ -382,6 +382,10 @@ func rwString(dst jsWriter, src *Reader) (n int, err error) { return } write: + if uint64(read) > src.GetMaxStringLength() { + err = ErrLimitExceeded + return + } p, err = src.R.Next(read) if err != nil { return diff --git a/vendor/github.com/tinylib/msgp/msgp/read.go b/vendor/github.com/tinylib/msgp/msgp/read.go index 20d3463bb..409dbcec5 100644 --- a/vendor/github.com/tinylib/msgp/msgp/read.go +++ b/vendor/github.com/tinylib/msgp/msgp/read.go @@ -152,6 +152,10 @@ type Reader struct { R *fwd.Reader scratch []byte recursionDepth int + + maxRecursionDepth int // maximum recursion depth + maxElements uint32 // maximum number of elements in arrays and maps + maxStrLen uint64 // maximum number of bytes in any string } // Read implements `io.Reader` @@ -214,10 +218,53 @@ func (m *Reader) CopyNext(w io.Writer) (int64, error) { return n, nil } +// SetMaxRecursionDepth sets the maximum recursion depth. +func (m *Reader) SetMaxRecursionDepth(d int) { + m.maxRecursionDepth = d +} + +// GetMaxRecursionDepth returns the maximum recursion depth. +// Set to 0 to use the default value of 100000. +func (m *Reader) GetMaxRecursionDepth() int { + if m.maxRecursionDepth <= 0 { + return recursionLimit + } + return m.maxRecursionDepth +} + +// SetMaxElements sets the maximum number of elements to allow in map, bin, array or extension payload. +// Setting this to 0 will allow any number of elements - math.MaxUint32. +// This does currently apply to generated code. +func (m *Reader) SetMaxElements(d uint32) { + m.maxElements = d +} + +// GetMaxElements will return the maximum number of elements in a map, bin, array or extension payload. +func (m *Reader) GetMaxElements() uint32 { + if m.maxElements <= 0 { + return math.MaxUint32 + } + return m.maxElements +} + +// SetMaxStringLength sets the maximum number of bytes to allow in strings. +// Setting this == 0 will allow any number of elements - math.MaxUint64. +func (m *Reader) SetMaxStringLength(d uint64) { + m.maxStrLen = d +} + +// GetMaxStringLength will return the current string length limit. +func (m *Reader) GetMaxStringLength() uint64 { + if m.maxStrLen <= 0 { + return math.MaxUint64 + } + return min(m.maxStrLen, math.MaxUint64) +} + // recursiveCall will increment the recursion depth and return an error if it is exceeded. // If a nil error is returned, done must be called to decrement the counter. func (m *Reader) recursiveCall() (done func(), err error) { - if m.recursionDepth >= recursionLimit { + if m.recursionDepth >= m.GetMaxRecursionDepth() { return func() {}, ErrRecursion } m.recursionDepth++ @@ -415,7 +462,11 @@ func (m *Reader) ReadMapKey(scratch []byte) ([]byte, error) { out, err := m.ReadStringAsBytes(scratch) if err != nil { if tperr, ok := err.(TypeError); ok && tperr.Encoded == BinType { - return m.ReadBytes(scratch) + key, err := m.ReadBytes(scratch) + if uint64(len(key)) > m.GetMaxStringLength() { + return nil, ErrLimitExceeded + } + return key, err } return nil, err } @@ -468,6 +519,9 @@ fill: if read == 0 { return nil, ErrShortBytes } + if uint64(read) > m.GetMaxStringLength() { + return nil, ErrLimitExceeded + } return m.R.Next(read) } @@ -941,6 +995,10 @@ func (m *Reader) ReadBytes(scratch []byte) (b []byte, err error) { return } if int64(cap(scratch)) < read { + if read > int64(m.GetMaxElements()) { + err = ErrLimitExceeded + return + } b = make([]byte, read) } else { b = scratch[0:read] @@ -983,7 +1041,7 @@ func (m *Reader) ReadBytesHeader() (sz uint32, err error) { sz = uint32(big.Uint32(p[1:])) return default: - err = badPrefix(BinType, p[0]) + err = badPrefix(BinType, lead) return } } @@ -1070,6 +1128,10 @@ func (m *Reader) ReadStringAsBytes(scratch []byte) (b []byte, err error) { return } fill: + if uint64(read) > m.GetMaxStringLength() { + err = ErrLimitExceeded + return + } if int64(cap(scratch)) < read { b = make([]byte, read) } else { @@ -1165,6 +1227,11 @@ fill: s, err = "", nil return } + if uint64(read) > m.GetMaxStringLength() { + err = ErrLimitExceeded + return + } + // reading into the memory // that will become the string // itself has vastly superior @@ -1244,6 +1311,10 @@ func (m *Reader) ReadMapStrIntf(mp map[string]interface{}) (err error) { for key := range mp { delete(mp, key) } + if sz > m.GetMaxElements() { + err = ErrLimitExceeded + return + } for i := uint32(0); i < sz; i++ { var key string var val interface{} @@ -1477,6 +1548,10 @@ func (m *Reader) ReadIntf() (i interface{}, err error) { } else { defer done() } + if sz > m.GetMaxElements() { + err = ErrLimitExceeded + return + } out := make([]interface{}, int(sz)) for j := range out { diff --git a/vendor/github.com/tinylib/msgp/msgp/read_bytes.go b/vendor/github.com/tinylib/msgp/msgp/read_bytes.go index 8ed15a968..176e14e3f 100644 --- a/vendor/github.com/tinylib/msgp/msgp/read_bytes.go +++ b/vendor/github.com/tinylib/msgp/msgp/read_bytes.go @@ -1130,7 +1130,7 @@ func ReadTimeBytes(b []byte) (t time.Time, o []byte, err error) { return } default: - err = errExt(int8(b[2]), TimeExtension) + err = errExt(typ, TimeExtension) return } } @@ -1155,7 +1155,11 @@ func readMapStrIntfBytesDepth(b []byte, old map[string]interface{}, depth int) ( if err != nil { return } - + // Map key, min size is 2 bytes. Value min 1 byte. + if int64(len(b)) < int64(sz)*3 { + err = ErrShortBytes + return + } if old != nil { for key := range old { delete(old, key) @@ -1215,6 +1219,11 @@ func readIntfBytesDepth(b []byte, depth int) (i interface{}, o []byte, err error if err != nil { return } + // Each element will at least be 1 byte. + if uint32(len(o)) < sz { + err = ErrShortBytes + return + } j := make([]interface{}, int(sz)) i = j for d := range j { diff --git a/vendor/github.com/vishvananda/netlink/bridge_linux.go b/vendor/github.com/vishvananda/netlink/bridge_linux.go index fa5766b80..ec941e5c7 100644 --- a/vendor/github.com/vishvananda/netlink/bridge_linux.go +++ b/vendor/github.com/vishvananda/netlink/bridge_linux.go @@ -3,11 +3,102 @@ package netlink import ( "errors" "fmt" + "syscall" "github.com/vishvananda/netlink/nl" "golang.org/x/sys/unix" ) +// BridgeVlanTunnelShow gets vlanid-tunnelid mapping. +// Equivalent to: `bridge vlan tunnelshow` +// +// If the returned error is [ErrDumpInterrupted], results may be inconsistent +// or incomplete. +func BridgeVlanTunnelShow() ([]nl.TunnelInfo, error) { + return pkgHandle.BridgeVlanTunnelShow() +} + +func (h *Handle) BridgeVlanTunnelShow() ([]nl.TunnelInfo, error) { + req := h.newNetlinkRequest(unix.RTM_GETLINK, unix.NLM_F_DUMP) + msg := nl.NewIfInfomsg(unix.AF_BRIDGE) + req.AddData(msg) + req.AddData(nl.NewRtAttr(unix.IFLA_EXT_MASK, nl.Uint32Attr(uint32(nl.RTEXT_FILTER_BRVLAN)))) + + msgs, executeErr := req.Execute(unix.NETLINK_ROUTE, unix.RTM_NEWLINK) + if executeErr != nil && !errors.Is(executeErr, ErrDumpInterrupted) { + return nil, executeErr + } + ret := make([]nl.TunnelInfo, 0) + for _, m := range msgs { + msg := nl.DeserializeIfInfomsg(m) + + attrs, err := nl.ParseRouteAttr(m[msg.Len():]) + if err != nil { + return nil, err + } + for _, attr := range attrs { + switch attr.Attr.Type { + case unix.IFLA_AF_SPEC: + nestedAttrs, err := nl.ParseRouteAttr(attr.Value) + if err != nil { + return nil, fmt.Errorf("failed to parse nested attr %v", err) + } + for _, nestAttr := range nestedAttrs { + switch nestAttr.Attr.Type { + case nl.IFLA_BRIDGE_VLAN_TUNNEL_INFO: + ret, err = parseTunnelInfo(&nestAttr, ret) + if err != nil { + return nil, fmt.Errorf("failed to parse tunnelinfo %v", err) + } + } + } + } + } + } + return ret, executeErr +} + +func parseTunnelInfo(nestAttr *syscall.NetlinkRouteAttr, results []nl.TunnelInfo) ([]nl.TunnelInfo, error) { + tunnelInfos, err := nl.ParseRouteAttr(nestAttr.Value) + if err != nil { + return nil, fmt.Errorf("failed to parse nested attr %v", err) + } + var tunnelId uint32 + var vid uint16 + var flag uint16 + for _, tunnelInfo := range tunnelInfos { + switch tunnelInfo.Attr.Type { + case nl.IFLA_BRIDGE_VLAN_TUNNEL_ID: + tunnelId = native.Uint32(tunnelInfo.Value) + case nl.IFLA_BRIDGE_VLAN_TUNNEL_VID: + vid = native.Uint16(tunnelInfo.Value) + case nl.IFLA_BRIDGE_VLAN_TUNNEL_FLAGS: + flag = native.Uint16(tunnelInfo.Value) + } + } + + if flag == nl.BRIDGE_VLAN_INFO_RANGE_END { + lastTi := results[len(results)-1] + vni := lastTi.TunId + 1 + for i := lastTi.Vid + 1; i < vid; i++ { + t := nl.TunnelInfo{ + TunId: vni, + Vid: i, + } + results = append(results, t) + vni++ + } + } + + t := nl.TunnelInfo{ + TunId: tunnelId, + Vid: vid, + } + + results = append(results, t) + return results, nil +} + // BridgeVlanList gets a map of device id to bridge vlan infos. // Equivalent to: `bridge vlan show` // @@ -61,6 +152,38 @@ func (h *Handle) BridgeVlanList() (map[int32][]*nl.BridgeVlanInfo, error) { return ret, executeErr } +// BridgeVlanAddTunnelInfo adds a new vlan filter entry +// Equivalent to: `bridge vlan add dev DEV vid VID tunnel_info id TUNID [ self ] [ master ]` +func BridgeVlanAddTunnelInfo(link Link, vid uint16, tunid uint32, self, master bool) error { + return pkgHandle.BridgeVlanAddTunnelInfo(link, vid, 0, tunid, 0, self, master) +} + +// BridgeVlanAddRangeTunnelInfoRange adds a new vlan filter entry +// Equivalent to: `bridge vlan add dev DEV vid VID-VIDEND tunnel_info id VIN-VINEND [ self ] [ master ]` +func BridgeVlanAddRangeTunnelInfoRange(link Link, vid, vidEnd uint16, tunid, tunidEnd uint32, self, master bool) error { + return pkgHandle.BridgeVlanAddTunnelInfo(link, vid, vidEnd, tunid, tunidEnd, self, master) +} + +func (h *Handle) BridgeVlanAddTunnelInfo(link Link, vid, vidEnd uint16, tunid, tunidEnd uint32, self, master bool) error { + return h.bridgeVlanModify(unix.RTM_SETLINK, link, vid, vidEnd, tunid, tunidEnd, false, false, self, master) +} + +// BridgeVlanDelTunnelInfo adds a new vlan filter entry +// Equivalent to: `bridge vlan del dev DEV vid VID tunnel_info id TUNID [ self ] [ master ]` +func BridgeVlanDelTunnelInfo(link Link, vid uint16, tunid uint32, self, master bool) error { + return pkgHandle.BridgeVlanDelTunnelInfo(link, vid, 0, tunid, 0, self, master) +} + +// BridgeVlanDelRangeTunnelInfoRange adds a new vlan filter entry +// Equivalent to: `bridge vlan del dev DEV vid VID-VIDEND tunnel_info id VIN-VINEND [ self ] [ master ]` +func BridgeVlanDelRangeTunnelInfoRange(link Link, vid, vidEnd uint16, tunid, tunidEnd uint32, self, master bool) error { + return pkgHandle.BridgeVlanDelTunnelInfo(link, vid, vidEnd, tunid, tunidEnd, self, master) +} + +func (h *Handle) BridgeVlanDelTunnelInfo(link Link, vid, vidEnd uint16, tunid, tunidEnd uint32, self, master bool) error { + return h.bridgeVlanModify(unix.RTM_DELLINK, link, vid, vidEnd, tunid, tunidEnd, false, false, self, master) +} + // BridgeVlanAdd adds a new vlan filter entry // Equivalent to: `bridge vlan add dev DEV vid VID [ pvid ] [ untagged ] [ self ] [ master ]` func BridgeVlanAdd(link Link, vid uint16, pvid, untagged, self, master bool) error { @@ -70,7 +193,7 @@ func BridgeVlanAdd(link Link, vid uint16, pvid, untagged, self, master bool) err // BridgeVlanAdd adds a new vlan filter entry // Equivalent to: `bridge vlan add dev DEV vid VID [ pvid ] [ untagged ] [ self ] [ master ]` func (h *Handle) BridgeVlanAdd(link Link, vid uint16, pvid, untagged, self, master bool) error { - return h.bridgeVlanModify(unix.RTM_SETLINK, link, vid, 0, pvid, untagged, self, master) + return h.bridgeVlanModify(unix.RTM_SETLINK, link, vid, 0, 0, 0, pvid, untagged, self, master) } // BridgeVlanAddRange adds a new vlan filter entry @@ -82,7 +205,7 @@ func BridgeVlanAddRange(link Link, vid, vidEnd uint16, pvid, untagged, self, mas // BridgeVlanAddRange adds a new vlan filter entry // Equivalent to: `bridge vlan add dev DEV vid VID-VIDEND [ pvid ] [ untagged ] [ self ] [ master ]` func (h *Handle) BridgeVlanAddRange(link Link, vid, vidEnd uint16, pvid, untagged, self, master bool) error { - return h.bridgeVlanModify(unix.RTM_SETLINK, link, vid, vidEnd, pvid, untagged, self, master) + return h.bridgeVlanModify(unix.RTM_SETLINK, link, vid, vidEnd, 0, 0, pvid, untagged, self, master) } // BridgeVlanDel adds a new vlan filter entry @@ -94,7 +217,7 @@ func BridgeVlanDel(link Link, vid uint16, pvid, untagged, self, master bool) err // BridgeVlanDel adds a new vlan filter entry // Equivalent to: `bridge vlan del dev DEV vid VID [ pvid ] [ untagged ] [ self ] [ master ]` func (h *Handle) BridgeVlanDel(link Link, vid uint16, pvid, untagged, self, master bool) error { - return h.bridgeVlanModify(unix.RTM_DELLINK, link, vid, 0, pvid, untagged, self, master) + return h.bridgeVlanModify(unix.RTM_DELLINK, link, vid, 0, 0, 0, pvid, untagged, self, master) } // BridgeVlanDelRange adds a new vlan filter entry @@ -106,10 +229,10 @@ func BridgeVlanDelRange(link Link, vid, vidEnd uint16, pvid, untagged, self, mas // BridgeVlanDelRange adds a new vlan filter entry // Equivalent to: `bridge vlan del dev DEV vid VID-VIDEND [ pvid ] [ untagged ] [ self ] [ master ]` func (h *Handle) BridgeVlanDelRange(link Link, vid, vidEnd uint16, pvid, untagged, self, master bool) error { - return h.bridgeVlanModify(unix.RTM_DELLINK, link, vid, vidEnd, pvid, untagged, self, master) + return h.bridgeVlanModify(unix.RTM_DELLINK, link, vid, vidEnd, 0, 0, pvid, untagged, self, master) } -func (h *Handle) bridgeVlanModify(cmd int, link Link, vid, vidEnd uint16, pvid, untagged, self, master bool) error { +func (h *Handle) bridgeVlanModify(cmd int, link Link, vid, vidEnd uint16, tunid, tunidEnd uint32, pvid, untagged, self, master bool) error { base := link.Attrs() h.ensureIndex(base) req := h.newNetlinkRequest(cmd, unix.NLM_F_ACK) @@ -129,25 +252,45 @@ func (h *Handle) bridgeVlanModify(cmd int, link Link, vid, vidEnd uint16, pvid, if flags > 0 { br.AddRtAttr(nl.IFLA_BRIDGE_FLAGS, nl.Uint16Attr(flags)) } - vlanInfo := &nl.BridgeVlanInfo{Vid: vid} - if pvid { - vlanInfo.Flags |= nl.BRIDGE_VLAN_INFO_PVID - } - if untagged { - vlanInfo.Flags |= nl.BRIDGE_VLAN_INFO_UNTAGGED - } - if vidEnd != 0 { - vlanEndInfo := &nl.BridgeVlanInfo{Vid: vidEnd} - vlanEndInfo.Flags = vlanInfo.Flags + if tunid != 0 { + if tunidEnd != 0 { + tiStart := br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_INFO, nil) + tiStart.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_ID, nl.Uint32Attr(tunid)) + tiStart.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_VID, nl.Uint16Attr(vid)) + tiStart.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, nl.Uint16Attr(nl.BRIDGE_VLAN_INFO_RANGE_BEGIN)) + + tiEnd := br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_INFO, nil) + tiEnd.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_ID, nl.Uint32Attr(tunidEnd)) + tiEnd.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_VID, nl.Uint16Attr(vidEnd)) + tiEnd.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, nl.Uint16Attr(nl.BRIDGE_VLAN_INFO_RANGE_END)) + } else { + ti := br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_INFO, nil) + ti.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_ID, nl.Uint32Attr(tunid)) + ti.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_VID, nl.Uint16Attr(vid)) + ti.AddRtAttr(nl.IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, nl.Uint16Attr(0)) + } + } else { + vlanInfo := &nl.BridgeVlanInfo{Vid: vid} + if pvid { + vlanInfo.Flags |= nl.BRIDGE_VLAN_INFO_PVID + } + if untagged { + vlanInfo.Flags |= nl.BRIDGE_VLAN_INFO_UNTAGGED + } + + if vidEnd != 0 { + vlanEndInfo := &nl.BridgeVlanInfo{Vid: vidEnd} + vlanEndInfo.Flags = vlanInfo.Flags - vlanInfo.Flags |= nl.BRIDGE_VLAN_INFO_RANGE_BEGIN - br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_INFO, vlanInfo.Serialize()) + vlanInfo.Flags |= nl.BRIDGE_VLAN_INFO_RANGE_BEGIN + br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_INFO, vlanInfo.Serialize()) - vlanEndInfo.Flags |= nl.BRIDGE_VLAN_INFO_RANGE_END - br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_INFO, vlanEndInfo.Serialize()) - } else { - br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_INFO, vlanInfo.Serialize()) + vlanEndInfo.Flags |= nl.BRIDGE_VLAN_INFO_RANGE_END + br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_INFO, vlanEndInfo.Serialize()) + } else { + br.AddRtAttr(nl.IFLA_BRIDGE_VLAN_INFO, vlanInfo.Serialize()) + } } req.AddData(br) diff --git a/vendor/github.com/vishvananda/netlink/filter_linux.go b/vendor/github.com/vishvananda/netlink/filter_linux.go index 231b57341..255e591d8 100644 --- a/vendor/github.com/vishvananda/netlink/filter_linux.go +++ b/vendor/github.com/vishvananda/netlink/filter_linux.go @@ -54,25 +54,30 @@ func (filter *U32) Type() string { type Flower struct { FilterAttrs - DestIP net.IP - DestIPMask net.IPMask - SrcIP net.IP - SrcIPMask net.IPMask - EthType uint16 - EncDestIP net.IP - EncDestIPMask net.IPMask - EncSrcIP net.IP - EncSrcIPMask net.IPMask - EncDestPort uint16 - EncKeyId uint32 - SrcMac net.HardwareAddr - DestMac net.HardwareAddr - VlanId uint16 - SkipHw bool - SkipSw bool - IPProto *nl.IPProto - DestPort uint16 - SrcPort uint16 + ClassId uint32 + DestIP net.IP + DestIPMask net.IPMask + SrcIP net.IP + SrcIPMask net.IPMask + EthType uint16 + EncDestIP net.IP + EncDestIPMask net.IPMask + EncSrcIP net.IP + EncSrcIPMask net.IPMask + EncDestPort uint16 + EncKeyId uint32 + SrcMac net.HardwareAddr + DestMac net.HardwareAddr + VlanId uint16 + SkipHw bool + SkipSw bool + IPProto *nl.IPProto + DestPort uint16 + SrcPort uint16 + SrcPortRangeMin uint16 + SrcPortRangeMax uint16 + DstPortRangeMin uint16 + DstPortRangeMax uint16 Actions []Action } @@ -171,6 +176,19 @@ func (filter *Flower) encode(parent *nl.RtAttr) error { } } } + if filter.SrcPortRangeMin != 0 && filter.SrcPortRangeMax != 0 { + parent.AddRtAttr(nl.TCA_FLOWER_KEY_PORT_SRC_MIN, htons(filter.SrcPortRangeMin)) + parent.AddRtAttr(nl.TCA_FLOWER_KEY_PORT_SRC_MAX, htons(filter.SrcPortRangeMax)) + } + + if filter.DstPortRangeMin != 0 && filter.DstPortRangeMax != 0 { + parent.AddRtAttr(nl.TCA_FLOWER_KEY_PORT_DST_MIN, htons(filter.DstPortRangeMin)) + parent.AddRtAttr(nl.TCA_FLOWER_KEY_PORT_DST_MAX, htons(filter.DstPortRangeMax)) + } + + if filter.ClassId != 0 { + parent.AddRtAttr(nl.TCA_FLOWER_CLASSID, nl.Uint32Attr(filter.ClassId)) + } var flags uint32 = 0 if filter.SkipHw { @@ -247,6 +265,16 @@ func (filter *Flower) decode(data []syscall.NetlinkRouteAttr) error { if skipHw != 0 { filter.SkipHw = true } + case nl.TCA_FLOWER_KEY_PORT_SRC_MIN: + filter.SrcPortRangeMin = ntohs(datum.Value) + case nl.TCA_FLOWER_KEY_PORT_SRC_MAX: + filter.SrcPortRangeMax = ntohs(datum.Value) + case nl.TCA_FLOWER_KEY_PORT_DST_MIN: + filter.DstPortRangeMin = ntohs(datum.Value) + case nl.TCA_FLOWER_KEY_PORT_DST_MAX: + filter.DstPortRangeMax = ntohs(datum.Value) + case nl.TCA_FLOWER_CLASSID: + filter.ClassId = native.Uint32(datum.Value) } } return nil diff --git a/vendor/github.com/vishvananda/netlink/ipset_linux.go b/vendor/github.com/vishvananda/netlink/ipset_linux.go index f4c05229f..7730992ee 100644 --- a/vendor/github.com/vishvananda/netlink/ipset_linux.go +++ b/vendor/github.com/vishvananda/netlink/ipset_linux.go @@ -147,9 +147,11 @@ func (h *Handle) IpsetCreate(setname, typename string, options IpsetCreateOption req.AddData(nl.NewRtAttr(nl.IPSET_ATTR_SETNAME, nl.ZeroTerminated(setname))) req.AddData(nl.NewRtAttr(nl.IPSET_ATTR_TYPENAME, nl.ZeroTerminated(typename))) + cadtFlags := optionsToBitflag(options) + revision := options.Revision if revision == 0 { - revision = getIpsetDefaultWithTypeName(typename) + revision = getIpsetDefaultRevision(typename, cadtFlags) } req.AddData(nl.NewRtAttr(nl.IPSET_ATTR_REVISION, nl.Uint8Attr(revision))) @@ -181,18 +183,6 @@ func (h *Handle) IpsetCreate(setname, typename string, options IpsetCreateOption data.AddChild(&nl.Uint32Attribute{Type: nl.IPSET_ATTR_TIMEOUT | nl.NLA_F_NET_BYTEORDER, Value: *timeout}) } - var cadtFlags uint32 - - if options.Comments { - cadtFlags |= nl.IPSET_FLAG_WITH_COMMENT - } - if options.Counters { - cadtFlags |= nl.IPSET_FLAG_WITH_COUNTERS - } - if options.Skbinfo { - cadtFlags |= nl.IPSET_FLAG_WITH_SKBINFO - } - if cadtFlags != 0 { data.AddChild(&nl.Uint32Attribute{Type: nl.IPSET_ATTR_CADT_FLAGS | nl.NLA_F_NET_BYTEORDER, Value: cadtFlags}) } @@ -395,14 +385,89 @@ func (h *Handle) newIpsetRequest(cmd int) *nl.NetlinkRequest { return req } -func getIpsetDefaultWithTypeName(typename string) uint8 { +// NOTE: This can't just take typename into account, it also has to take desired +// feature support into account, on a per-set-type basis, to return the correct revision, see e.g. +// https://github.com/Olipro/ipset/blob/9f145b49100104d6570fe5c31a5236816ebb4f8f/kernel/net/netfilter/ipset/ip_set_hash_ipport.c#L30 +// +// This means that whenever a new "type" of ipset is added, returning the "correct" default revision +// requires adding a new case here for that type, and consulting the ipset C code to figure out the correct +// combination of type name, feature bit flags, and revision ranges. +// +// Care should be taken as some types share the same revision ranges for the same features, and others do not. +// When in doubt, mimic the C code. +func getIpsetDefaultRevision(typename string, featureFlags uint32) uint8 { switch typename { case "hash:ip,port", - "hash:ip,port,ip", - "hash:ip,port,net", + "hash:ip,port,ip": + // Taken from + // - ipset/kernel/net/netfilter/ipset/ip_set_hash_ipport.c + // - ipset/kernel/net/netfilter/ipset/ip_set_hash_ipportip.c + if (featureFlags & nl.IPSET_FLAG_WITH_SKBINFO) != 0 { + return 5 + } + + if (featureFlags & nl.IPSET_FLAG_WITH_FORCEADD) != 0 { + return 4 + } + + if (featureFlags & nl.IPSET_FLAG_WITH_COMMENT) != 0 { + return 3 + } + + if (featureFlags & nl.IPSET_FLAG_WITH_COUNTERS) != 0 { + return 2 + } + + // the min revision this library supports for this type + return 1 + + case "hash:ip,port,net", "hash:net,port": + // Taken from + // - ipset/kernel/net/netfilter/ipset/ip_set_hash_ipportnet.c + // - ipset/kernel/net/netfilter/ipset/ip_set_hash_netport.c + if (featureFlags & nl.IPSET_FLAG_WITH_SKBINFO) != 0 { + return 7 + } + + if (featureFlags & nl.IPSET_FLAG_WITH_FORCEADD) != 0 { + return 6 + } + + if (featureFlags & nl.IPSET_FLAG_WITH_COMMENT) != 0 { + return 5 + } + + if (featureFlags & nl.IPSET_FLAG_WITH_COUNTERS) != 0 { + return 4 + } + + if (featureFlags & nl.IPSET_FLAG_NOMATCH) != 0 { + return 3 + } + // the min revision this library supports for this type + return 2 + + case "hash:ip": + // Taken from + // - ipset/kernel/net/netfilter/ipset/ip_set_hash_ip.c + if (featureFlags & nl.IPSET_FLAG_WITH_SKBINFO) != 0 { + return 4 + } + + if (featureFlags & nl.IPSET_FLAG_WITH_FORCEADD) != 0 { + return 3 + } + + if (featureFlags & nl.IPSET_FLAG_WITH_COMMENT) != 0 { + return 2 + } + + // the min revision this library supports for this type return 1 } + + // can't map the correct revision for this type. return 0 } @@ -579,3 +644,19 @@ func parseIPSetEntry(data []byte) (entry IPSetEntry) { } return } + +func optionsToBitflag(options IpsetCreateOptions) uint32 { + var cadtFlags uint32 + + if options.Comments { + cadtFlags |= nl.IPSET_FLAG_WITH_COMMENT + } + if options.Counters { + cadtFlags |= nl.IPSET_FLAG_WITH_COUNTERS + } + if options.Skbinfo { + cadtFlags |= nl.IPSET_FLAG_WITH_SKBINFO + } + + return cadtFlags +} diff --git a/vendor/github.com/vishvananda/netlink/link.go b/vendor/github.com/vishvananda/netlink/link.go index ef0f6c995..42cb38bdd 100644 --- a/vendor/github.com/vishvananda/netlink/link.go +++ b/vendor/github.com/vishvananda/netlink/link.go @@ -290,8 +290,15 @@ func (bridge *Bridge) Type() string { // Vlan links have ParentIndex set in their Attrs() type Vlan struct { LinkAttrs - VlanId int - VlanProtocol VlanProtocol + VlanId int + VlanProtocol VlanProtocol + IngressQosMap map[uint32]uint32 + EgressQosMap map[uint32]uint32 + ReorderHdr *bool + Gvrp *bool + LooseBinding *bool + Mvrp *bool + BridgeBinding *bool } func (vlan *Vlan) Attrs() *LinkAttrs { @@ -426,6 +433,17 @@ type Veth struct { PeerName string // veth on create only PeerHardwareAddr net.HardwareAddr PeerNamespace interface{} + PeerTxQLen int + PeerNumTxQueues uint32 + PeerNumRxQueues uint32 + PeerMTU uint32 +} + +func NewVeth(attr LinkAttrs) *Veth { + return &Veth{ + LinkAttrs: attr, + PeerTxQLen: -1, + } } func (veth *Veth) Attrs() *LinkAttrs { diff --git a/vendor/github.com/vishvananda/netlink/link_linux.go b/vendor/github.com/vishvananda/netlink/link_linux.go index c9ff980c6..e26efb449 100644 --- a/vendor/github.com/vishvananda/netlink/link_linux.go +++ b/vendor/github.com/vishvananda/netlink/link_linux.go @@ -1683,6 +1683,73 @@ func (h *Handle) linkModify(link Link, flags int) error { native.PutUint16(b, uint16(link.VlanId)) data := linkInfo.AddRtAttr(nl.IFLA_INFO_DATA, nil) data.AddRtAttr(nl.IFLA_VLAN_ID, b) + var vlanFlags uint32 + var vlanFlagsMask uint32 + if link.ReorderHdr != nil { + vlanFlagsMask |= nl.VLAN_FLAG_REORDER_HDR + if *link.ReorderHdr { + vlanFlags |= nl.VLAN_FLAG_REORDER_HDR + } else { + vlanFlags &= ^uint32(nl.VLAN_FLAG_REORDER_HDR) + } + } + if link.Gvrp != nil { + vlanFlagsMask |= nl.VLAN_FLAG_GVRP + if *link.Gvrp { + vlanFlags |= nl.VLAN_FLAG_GVRP + } else { + vlanFlags &= ^uint32(nl.VLAN_FLAG_GVRP) + } + } + if link.Mvrp != nil { + vlanFlagsMask |= nl.VLAN_FLAG_MVRP + if *link.Mvrp { + vlanFlags |= nl.VLAN_FLAG_MVRP + } else { + vlanFlags &= ^uint32(nl.VLAN_FLAG_MVRP) + } + } + if link.LooseBinding != nil { + vlanFlagsMask |= nl.VLAN_FLAG_LOOSE_BINDING + if *link.LooseBinding { + vlanFlags |= nl.VLAN_FLAG_LOOSE_BINDING + } else { + vlanFlags &= ^uint32(nl.VLAN_FLAG_LOOSE_BINDING) + } + } + if link.BridgeBinding != nil { + vlanFlagsMask |= nl.VLAN_FLAG_BRIDGE_BINDING + if *link.BridgeBinding { + vlanFlags |= nl.VLAN_FLAG_BRIDGE_BINDING + } else { + vlanFlags &= ^uint32(nl.VLAN_FLAG_BRIDGE_BINDING) + } + } + + buf := &bytes.Buffer{} + buf.Write(nl.Uint32Attr(vlanFlags)) + buf.Write(nl.Uint32Attr(vlanFlagsMask)) + data.AddRtAttr(nl.IFLA_VLAN_FLAGS, buf.Bytes()) + + if link.IngressQosMap != nil { + ingressMap := data.AddRtAttr(nl.IFLA_VLAN_INGRESS_QOS, nil) + for from, to := range link.IngressQosMap { + buf := &bytes.Buffer{} + buf.Write(nl.Uint32Attr(from)) + buf.Write(nl.Uint32Attr(to)) + ingressMap.AddRtAttr(nl.IFLA_VLAN_QOS_MAPPING, buf.Bytes()) + } + } + + if link.EgressQosMap != nil { + egressMap := data.AddRtAttr(nl.IFLA_VLAN_EGRESS_QOS, nil) + for from, to := range link.EgressQosMap { + buf := &bytes.Buffer{} + buf.Write(nl.Uint32Attr(from)) + buf.Write(nl.Uint32Attr(to)) + egressMap.AddRtAttr(nl.IFLA_VLAN_QOS_MAPPING, buf.Bytes()) + } + } if link.VlanProtocol != VLAN_PROTOCOL_UNKNOWN { data.AddRtAttr(nl.IFLA_VLAN_PROTOCOL, htons(uint16(link.VlanProtocol))) @@ -1696,16 +1763,25 @@ func (h *Handle) linkModify(link Link, flags int) error { peer := data.AddRtAttr(nl.VETH_INFO_PEER, nil) nl.NewIfInfomsgChild(peer, unix.AF_UNSPEC) peer.AddRtAttr(unix.IFLA_IFNAME, nl.ZeroTerminated(link.PeerName)) - if base.TxQLen >= 0 { + + if link.PeerTxQLen >= 0 { + peer.AddRtAttr(unix.IFLA_TXQLEN, nl.Uint32Attr(uint32(link.PeerTxQLen))) + } else if base.TxQLen >= 0 { peer.AddRtAttr(unix.IFLA_TXQLEN, nl.Uint32Attr(uint32(base.TxQLen))) } - if base.NumTxQueues > 0 { + if link.PeerNumTxQueues > 0 { + peer.AddRtAttr(unix.IFLA_NUM_TX_QUEUES, nl.Uint32Attr(link.PeerNumTxQueues)) + } else if base.NumTxQueues > 0 { peer.AddRtAttr(unix.IFLA_NUM_TX_QUEUES, nl.Uint32Attr(uint32(base.NumTxQueues))) } - if base.NumRxQueues > 0 { + if link.PeerNumRxQueues > 0 { + peer.AddRtAttr(unix.IFLA_NUM_RX_QUEUES, nl.Uint32Attr(link.PeerNumRxQueues)) + } else if base.NumRxQueues > 0 { peer.AddRtAttr(unix.IFLA_NUM_RX_QUEUES, nl.Uint32Attr(uint32(base.NumRxQueues))) } - if base.MTU > 0 { + if link.PeerMTU > 0 { + peer.AddRtAttr(unix.IFLA_MTU, nl.Uint32Attr(link.PeerMTU)) + } else if base.MTU > 0 { peer.AddRtAttr(unix.IFLA_MTU, nl.Uint32Attr(uint32(base.MTU))) } if link.PeerHardwareAddr != nil { @@ -2544,6 +2620,14 @@ func (h *Handle) LinkSetLearning(link Link, mode bool) error { return h.setProtinfoAttr(link, mode, nl.IFLA_BRPORT_LEARNING) } +func LinkSetVlanTunnel(link Link, mode bool) error { + return pkgHandle.LinkSetVlanTunnel(link, mode) +} + +func (h *Handle) LinkSetVlanTunnel(link Link, mode bool) error { + return h.setProtinfoAttr(link, mode, nl.IFLA_BRPORT_VLAN_TUNNEL) +} + func LinkSetRootBlock(link Link, mode bool) error { return pkgHandle.LinkSetRootBlock(link, mode) } @@ -2784,12 +2868,65 @@ func parseNetkitData(link Link, data []syscall.NetlinkRouteAttr) { } } +func parseVlanQosMap(data []byte) map[uint32]uint32 { + values, err := nl.ParseRouteAttr(data) + if err != nil { + return nil + } + + qosMap := make(map[uint32]uint32) + + for _, value := range values { + switch value.Attr.Type { + case nl.IFLA_VLAN_QOS_MAPPING: + from := native.Uint32(value.Value[:4]) + to := native.Uint32(value.Value[4:]) + qosMap[from] = to + } + } + + return qosMap +} + func parseVlanData(link Link, data []syscall.NetlinkRouteAttr) { vlan := link.(*Vlan) for _, datum := range data { switch datum.Attr.Type { case nl.IFLA_VLAN_ID: vlan.VlanId = int(native.Uint16(datum.Value[0:2])) + case nl.IFLA_VLAN_FLAGS: + flags := native.Uint32(datum.Value[0:4]) + trueVal := true + falseVal := false + if flags&nl.VLAN_FLAG_REORDER_HDR != 0 { + vlan.ReorderHdr = &trueVal + } else { + vlan.ReorderHdr = &falseVal + } + if flags&nl.VLAN_FLAG_GVRP != 0 { + vlan.Gvrp = &trueVal + } else { + vlan.Gvrp = &falseVal + } + if flags&nl.VLAN_FLAG_LOOSE_BINDING != 0 { + vlan.LooseBinding = &trueVal + } else { + vlan.LooseBinding = &falseVal + } + if flags&nl.VLAN_FLAG_MVRP != 0 { + vlan.Mvrp = &trueVal + } else { + vlan.Mvrp = &falseVal + } + if flags&nl.VLAN_FLAG_BRIDGE_BINDING != 0 { + vlan.BridgeBinding = &trueVal + } else { + vlan.BridgeBinding = &falseVal + } + case nl.IFLA_VLAN_EGRESS_QOS: + vlan.EgressQosMap = parseVlanQosMap(datum.Value) + case nl.IFLA_VLAN_INGRESS_QOS: + vlan.IngressQosMap = parseVlanQosMap(datum.Value) case nl.IFLA_VLAN_PROTOCOL: vlan.VlanProtocol = VlanProtocol(int(ntohs(datum.Value[0:2]))) } diff --git a/vendor/github.com/vishvananda/netlink/nl/bridge_linux.go b/vendor/github.com/vishvananda/netlink/nl/bridge_linux.go index 34e78ba8d..2441d1ca9 100644 --- a/vendor/github.com/vishvananda/netlink/nl/bridge_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/bridge_linux.go @@ -26,6 +26,14 @@ const ( IFLA_BRIDGE_FLAGS = iota IFLA_BRIDGE_MODE IFLA_BRIDGE_VLAN_INFO + IFLA_BRIDGE_VLAN_TUNNEL_INFO +) + +const ( + IFLA_BRIDGE_VLAN_TUNNEL_UNSPEC = iota + IFLA_BRIDGE_VLAN_TUNNEL_ID + IFLA_BRIDGE_VLAN_TUNNEL_VID + IFLA_BRIDGE_VLAN_TUNNEL_FLAGS ) const ( @@ -41,6 +49,11 @@ const ( // __u16 vid; // }; +type TunnelInfo struct { + TunId uint32 + Vid uint16 +} + type BridgeVlanInfo struct { Flags uint16 Vid uint16 diff --git a/vendor/github.com/vishvananda/netlink/nl/link_linux.go b/vendor/github.com/vishvananda/netlink/nl/link_linux.go index 2925e8a22..716c2a9a1 100644 --- a/vendor/github.com/vishvananda/netlink/nl/link_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/link_linux.go @@ -31,6 +31,20 @@ const ( IFLA_VLAN_MAX = IFLA_VLAN_PROTOCOL ) +const ( + IFLA_VLAN_QOS_UNSPEC = iota + IFLA_VLAN_QOS_MAPPING + IFLA_VLAN_QOS_MAX = IFLA_VLAN_QOS_MAPPING +) + +const ( + VLAN_FLAG_REORDER_HDR = 1 << iota + VLAN_FLAG_GVRP + VLAN_FLAG_LOOSE_BINDING + VLAN_FLAG_MVRP + VLAN_FLAG_BRIDGE_BINDING +) + const ( IFLA_NETKIT_UNSPEC = iota IFLA_NETKIT_PEER_INFO diff --git a/vendor/github.com/vishvananda/netlink/nl/rdma_link_linux.go b/vendor/github.com/vishvananda/netlink/nl/rdma_link_linux.go index ce43ee155..024483628 100644 --- a/vendor/github.com/vishvananda/netlink/nl/rdma_link_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/rdma_link_linux.go @@ -9,31 +9,41 @@ const ( ) const ( - RDMA_NLDEV_CMD_GET = 1 - RDMA_NLDEV_CMD_SET = 2 - RDMA_NLDEV_CMD_NEWLINK = 3 - RDMA_NLDEV_CMD_DELLINK = 4 - RDMA_NLDEV_CMD_SYS_GET = 6 - RDMA_NLDEV_CMD_SYS_SET = 7 + RDMA_NLDEV_CMD_GET = 1 + RDMA_NLDEV_CMD_SET = 2 + RDMA_NLDEV_CMD_NEWLINK = 3 + RDMA_NLDEV_CMD_DELLINK = 4 + RDMA_NLDEV_CMD_SYS_GET = 6 + RDMA_NLDEV_CMD_SYS_SET = 7 + RDMA_NLDEV_CMD_RES_GET = 9 + RDMA_NLDEV_CMD_STAT_GET = 17 ) const ( - RDMA_NLDEV_ATTR_DEV_INDEX = 1 - RDMA_NLDEV_ATTR_DEV_NAME = 2 - RDMA_NLDEV_ATTR_PORT_INDEX = 3 - RDMA_NLDEV_ATTR_CAP_FLAGS = 4 - RDMA_NLDEV_ATTR_FW_VERSION = 5 - RDMA_NLDEV_ATTR_NODE_GUID = 6 - RDMA_NLDEV_ATTR_SYS_IMAGE_GUID = 7 - RDMA_NLDEV_ATTR_SUBNET_PREFIX = 8 - RDMA_NLDEV_ATTR_LID = 9 - RDMA_NLDEV_ATTR_SM_LID = 10 - RDMA_NLDEV_ATTR_LMC = 11 - RDMA_NLDEV_ATTR_PORT_STATE = 12 - RDMA_NLDEV_ATTR_PORT_PHYS_STATE = 13 - RDMA_NLDEV_ATTR_DEV_NODE_TYPE = 14 - RDMA_NLDEV_ATTR_NDEV_NAME = 51 - RDMA_NLDEV_ATTR_LINK_TYPE = 65 - RDMA_NLDEV_SYS_ATTR_NETNS_MODE = 66 - RDMA_NLDEV_NET_NS_FD = 68 + RDMA_NLDEV_ATTR_DEV_INDEX = 1 + RDMA_NLDEV_ATTR_DEV_NAME = 2 + RDMA_NLDEV_ATTR_PORT_INDEX = 3 + RDMA_NLDEV_ATTR_CAP_FLAGS = 4 + RDMA_NLDEV_ATTR_FW_VERSION = 5 + RDMA_NLDEV_ATTR_NODE_GUID = 6 + RDMA_NLDEV_ATTR_SYS_IMAGE_GUID = 7 + RDMA_NLDEV_ATTR_SUBNET_PREFIX = 8 + RDMA_NLDEV_ATTR_LID = 9 + RDMA_NLDEV_ATTR_SM_LID = 10 + RDMA_NLDEV_ATTR_LMC = 11 + RDMA_NLDEV_ATTR_PORT_STATE = 12 + RDMA_NLDEV_ATTR_PORT_PHYS_STATE = 13 + RDMA_NLDEV_ATTR_DEV_NODE_TYPE = 14 + RDMA_NLDEV_ATTR_RES_SUMMARY = 15 + RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY = 16 + RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME = 17 + RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR = 18 + RDMA_NLDEV_ATTR_NDEV_NAME = 51 + RDMA_NLDEV_ATTR_LINK_TYPE = 65 + RDMA_NLDEV_SYS_ATTR_NETNS_MODE = 66 + RDMA_NLDEV_NET_NS_FD = 68 + RDMA_NLDEV_ATTR_STAT_HWCOUNTERS = 80 + RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY = 81 + RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_NAME = 82 + RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_VALUE = 83 ) diff --git a/vendor/github.com/vishvananda/netlink/nl/tc_linux.go b/vendor/github.com/vishvananda/netlink/nl/tc_linux.go index 50f4a6d09..67666816e 100644 --- a/vendor/github.com/vishvananda/netlink/nl/tc_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/tc_linux.go @@ -1123,6 +1123,13 @@ const ( TCA_FLOWER_KEY_ENC_OPTS TCA_FLOWER_KEY_ENC_OPTS_MASK + TCA_FLOWER_IN_HW_COUNT + + TCA_FLOWER_KEY_PORT_SRC_MIN /* be16 */ + TCA_FLOWER_KEY_PORT_SRC_MAX /* be16 */ + TCA_FLOWER_KEY_PORT_DST_MIN /* be16 */ + TCA_FLOWER_KEY_PORT_DST_MAX /* be16 */ + __TCA_FLOWER_MAX ) @@ -1138,11 +1145,11 @@ const TCA_CLS_FLAGS_SKIP_SW = 1 << 1 /* don't use filter in SW */ // }; type TcSfqQopt struct { - Quantum uint8 + Quantum uint32 Perturb int32 Limit uint32 - Divisor uint8 - Flows uint8 + Divisor uint32 + Flows uint32 } func (x *TcSfqQopt) Len() int { @@ -1580,7 +1587,7 @@ func (p *TcPedit) SetIPv6Dst(ip6 net.IP) { } func (p *TcPedit) SetIPv4Src(ip net.IP) { - u32 := NativeEndian().Uint32(ip[:4]) + u32 := NativeEndian().Uint32(ip.To4()) tKey := TcPeditKey{} tKeyEx := TcPeditKeyEx{} @@ -1596,7 +1603,7 @@ func (p *TcPedit) SetIPv4Src(ip net.IP) { } func (p *TcPedit) SetIPv4Dst(ip net.IP) { - u32 := NativeEndian().Uint32(ip[:4]) + u32 := NativeEndian().Uint32(ip.To4()) tKey := TcPeditKey{} tKeyEx := TcPeditKeyEx{} diff --git a/vendor/github.com/vishvananda/netlink/protinfo.go b/vendor/github.com/vishvananda/netlink/protinfo.go index 0163cba3a..02f066e0a 100644 --- a/vendor/github.com/vishvananda/netlink/protinfo.go +++ b/vendor/github.com/vishvananda/netlink/protinfo.go @@ -16,6 +16,7 @@ type Protinfo struct { ProxyArpWiFi bool Isolated bool NeighSuppress bool + VlanTunnel bool } // String returns a list of enabled flags @@ -55,6 +56,9 @@ func (prot *Protinfo) String() string { if prot.NeighSuppress { boolStrings = append(boolStrings, "NeighSuppress") } + if prot.VlanTunnel { + boolStrings = append(boolStrings, "VlanTunnel") + } return strings.Join(boolStrings, " ") } diff --git a/vendor/github.com/vishvananda/netlink/protinfo_linux.go b/vendor/github.com/vishvananda/netlink/protinfo_linux.go index aa51e3b47..c7d7b566e 100644 --- a/vendor/github.com/vishvananda/netlink/protinfo_linux.go +++ b/vendor/github.com/vishvananda/netlink/protinfo_linux.go @@ -77,7 +77,10 @@ func parseProtinfo(infos []syscall.NetlinkRouteAttr) (pi Protinfo) { pi.Isolated = byteToBool(info.Value[0]) case nl.IFLA_BRPORT_NEIGH_SUPPRESS: pi.NeighSuppress = byteToBool(info.Value[0]) + case nl.IFLA_BRPORT_VLAN_TUNNEL: + pi.VlanTunnel = byteToBool(info.Value[0]) } + } return } diff --git a/vendor/github.com/vishvananda/netlink/qdisc.go b/vendor/github.com/vishvananda/netlink/qdisc.go index 067743d39..1cde43c94 100644 --- a/vendor/github.com/vishvananda/netlink/qdisc.go +++ b/vendor/github.com/vishvananda/netlink/qdisc.go @@ -374,10 +374,10 @@ func (qdisc *FqCodel) Type() string { type Sfq struct { QdiscAttrs // TODO: Only the simplified options for SFQ are handled here. Support for the extended one can be added later. - Quantum uint8 - Perturb uint8 + Quantum uint32 + Perturb int32 Limit uint32 - Divisor uint8 + Divisor uint32 } func (sfq *Sfq) String() string { diff --git a/vendor/github.com/vishvananda/netlink/qdisc_linux.go b/vendor/github.com/vishvananda/netlink/qdisc_linux.go index 22cf0e582..0a2a5891c 100644 --- a/vendor/github.com/vishvananda/netlink/qdisc_linux.go +++ b/vendor/github.com/vishvananda/netlink/qdisc_linux.go @@ -321,7 +321,7 @@ func qdiscPayload(req *nl.NetlinkRequest, qdisc Qdisc) error { case *Sfq: opt := nl.TcSfqQoptV1{} opt.TcSfqQopt.Quantum = qdisc.Quantum - opt.TcSfqQopt.Perturb = int32(qdisc.Perturb) + opt.TcSfqQopt.Perturb = qdisc.Perturb opt.TcSfqQopt.Limit = qdisc.Limit opt.TcSfqQopt.Divisor = qdisc.Divisor @@ -683,7 +683,7 @@ func parseSfqData(qdisc Qdisc, value []byte) error { sfq := qdisc.(*Sfq) opt := nl.DeserializeTcSfqQoptV1(value) sfq.Quantum = opt.TcSfqQopt.Quantum - sfq.Perturb = uint8(opt.TcSfqQopt.Perturb) + sfq.Perturb = opt.TcSfqQopt.Perturb sfq.Limit = opt.TcSfqQopt.Limit sfq.Divisor = opt.TcSfqQopt.Divisor diff --git a/vendor/github.com/vishvananda/netlink/rdma_link_linux.go b/vendor/github.com/vishvananda/netlink/rdma_link_linux.go index 9bb750732..2e774e5ae 100644 --- a/vendor/github.com/vishvananda/netlink/rdma_link_linux.go +++ b/vendor/github.com/vishvananda/netlink/rdma_link_linux.go @@ -18,6 +18,7 @@ type RdmaLinkAttrs struct { FirmwareVersion string NodeGuid string SysImageGuid string + NumPorts uint32 } // Link represents a rdma device from netlink. @@ -69,6 +70,11 @@ func executeOneGetRdmaLink(data []byte) (*RdmaLink, error) { r := bytes.NewReader(value) binary.Read(r, nl.NativeEndian(), &sysGuid) link.Attrs.SysImageGuid = uint64ToGuidString(sysGuid) + case nl.RDMA_NLDEV_ATTR_PORT_INDEX: + var availablePort uint32 + r := bytes.NewReader(value) + binary.Read(r, nl.NativeEndian(), &availablePort) + link.Attrs.NumPorts = availablePort } if (len % 4) != 0 { // Skip pad bytes @@ -345,3 +351,212 @@ func (h *Handle) RdmaLinkAdd(linkName string, linkType string, netdev string) er _, err := req.Execute(unix.NETLINK_RDMA, 0) return err } + +// RdmaResource represents a rdma device resource tracking summaries +type RdmaResource struct { + Index uint32 + Name string + RdmaResourceSummaryEntries map[string]uint64 +} + +// RdmaResourceList list rdma resource tracking information +// Returns all rdma devices resource tracking summary on success or returns error +// otherwise. +// Equivalent to: `rdma resource' +func RdmaResourceList() ([]*RdmaResource, error) { + return pkgHandle.RdmaResourceList() +} + +// RdmaResourceList list rdma resource tracking information +// Returns all rdma devices resource tracking summary on success or returns error +// otherwise. +// Equivalent to: `rdma resource' +func (h *Handle) RdmaResourceList() ([]*RdmaResource, error) { + proto := getProtoField(nl.RDMA_NL_NLDEV, nl.RDMA_NLDEV_CMD_RES_GET) + req := h.newNetlinkRequest(proto, unix.NLM_F_ACK|unix.NLM_F_DUMP) + + msgs, err := req.Execute(unix.NETLINK_RDMA, 0) + if err != nil { + return nil, err + } + if len(msgs) == 0 { + return nil, fmt.Errorf("No valid response from kernel") + } + var rdmaResources []*RdmaResource + for _, msg := range msgs { + res, err := executeOneGetRdmaResourceList(msg) + if err != nil { + return nil, err + } + rdmaResources = append(rdmaResources, res) + } + return rdmaResources, nil +} + +func parseRdmaCounters(counterType uint16, data []byte) (map[string]uint64, error) { + var counterKeyType, counterValueType uint16 + switch counterType { + case nl.RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY: + counterKeyType = nl.RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME + counterValueType = nl.RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR + case nl.RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY: + counterKeyType = nl.RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_NAME + counterValueType = nl.RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_VALUE + default: + return nil, fmt.Errorf("Invalid counter type: %d", counterType) + } + counters := make(map[string]uint64) + reader := bytes.NewReader(data) + + for reader.Len() >= 4 { + _, attrType, _, value := parseNfAttrTLV(reader) + if attrType != counterType { + return nil, fmt.Errorf("Invalid resource summary entry type; %d", attrType) + } + + summaryReader := bytes.NewReader(value) + for summaryReader.Len() >= 4 { + _, attrType, len, value := parseNfAttrTLV(summaryReader) + if attrType != counterKeyType { + return nil, fmt.Errorf("Invalid resource summary entry name type; %d", attrType) + } + name := string(value[0 : len-1]) + // Skip pad bytes + if (len % 4) != 0 { + summaryReader.Seek(int64(4-(len%4)), seekCurrent) + } + _, attrType, len, value = parseNfAttrTLV(summaryReader) + if attrType != counterValueType { + return nil, fmt.Errorf("Invalid resource summary entry value type; %d", attrType) + } + counters[name] = native.Uint64(value) + } + } + return counters, nil +} + +func executeOneGetRdmaResourceList(data []byte) (*RdmaResource, error) { + var res RdmaResource + reader := bytes.NewReader(data) + for reader.Len() >= 4 { + _, attrType, len, value := parseNfAttrTLV(reader) + + switch attrType { + case nl.RDMA_NLDEV_ATTR_DEV_INDEX: + var Index uint32 + r := bytes.NewReader(value) + binary.Read(r, nl.NativeEndian(), &Index) + res.Index = Index + case nl.RDMA_NLDEV_ATTR_DEV_NAME: + res.Name = string(value[0 : len-1]) + case nl.RDMA_NLDEV_ATTR_RES_SUMMARY: + var err error + res.RdmaResourceSummaryEntries, err = parseRdmaCounters(nl.RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY, value) + if err != nil { + return nil, err + } + } + if (len % 4) != 0 { + // Skip pad bytes + reader.Seek(int64(4-(len%4)), seekCurrent) + } + } + return &res, nil +} + +// RdmaPortStatistic represents a rdma port statistic counter +type RdmaPortStatistic struct { + PortIndex uint32 + Statistics map[string]uint64 +} + +// RdmaDeviceStatistic represents a rdma device statistic counter +type RdmaDeviceStatistic struct { + RdmaPortStatistics []*RdmaPortStatistic +} + +// RdmaStatistic get rdma device statistic counters +// Returns rdma device statistic counters on success or returns error +// otherwise. +// Equivalent to: `rdma statistic show link [DEV]' +func RdmaStatistic(link *RdmaLink) (*RdmaDeviceStatistic, error) { + return pkgHandle.RdmaStatistic(link) +} + +// RdmaStatistic get rdma device statistic counters +// Returns rdma device statistic counters on success or returns error +// otherwise. +// Equivalent to: `rdma statistic show link [DEV]' +func (h *Handle) RdmaStatistic(link *RdmaLink) (*RdmaDeviceStatistic, error) { + rdmaLinkStatistic := make([]*RdmaPortStatistic, 0) + for portIndex := uint32(1); portIndex <= link.Attrs.NumPorts; portIndex++ { + portStatistic, err := h.RdmaPortStatisticList(link, portIndex) + if err != nil { + return nil, err + } + rdmaLinkStatistic = append(rdmaLinkStatistic, portStatistic) + } + return &RdmaDeviceStatistic{RdmaPortStatistics: rdmaLinkStatistic}, nil +} + +// RdmaPortStatisticList get rdma device port statistic counters +// Returns rdma device port statistic counters on success or returns error +// otherwise. +// Equivalent to: `rdma statistic show link [DEV/PORT]' +func RdmaPortStatisticList(link *RdmaLink, port uint32) (*RdmaPortStatistic, error) { + return pkgHandle.RdmaPortStatisticList(link, port) +} + +// RdmaPortStatisticList get rdma device port statistic counters +// Returns rdma device port statistic counters on success or returns error +// otherwise. +// Equivalent to: `rdma statistic show link [DEV/PORT]' +func (h *Handle) RdmaPortStatisticList(link *RdmaLink, port uint32) (*RdmaPortStatistic, error) { + proto := getProtoField(nl.RDMA_NL_NLDEV, nl.RDMA_NLDEV_CMD_STAT_GET) + req := h.newNetlinkRequest(proto, unix.NLM_F_ACK|unix.NLM_F_REQUEST) + b := make([]byte, 4) + native.PutUint32(b, link.Attrs.Index) + data := nl.NewRtAttr(nl.RDMA_NLDEV_ATTR_DEV_INDEX, b) + req.AddData(data) + + b = make([]byte, 4) + native.PutUint32(b, port) + data = nl.NewRtAttr(nl.RDMA_NLDEV_ATTR_PORT_INDEX, b) + req.AddData(data) + + msgs, err := req.Execute(unix.NETLINK_RDMA, 0) + if err != nil { + return nil, err + } + if len(msgs) != 1 { + return nil, fmt.Errorf("No valid response from kernel") + } + return executeOneGetRdmaPortStatistics(msgs[0]) +} + +func executeOneGetRdmaPortStatistics(data []byte) (*RdmaPortStatistic, error) { + var stat RdmaPortStatistic + reader := bytes.NewReader(data) + for reader.Len() >= 4 { + _, attrType, len, value := parseNfAttrTLV(reader) + + switch attrType { + case nl.RDMA_NLDEV_ATTR_PORT_INDEX: + var Index uint32 + r := bytes.NewReader(value) + binary.Read(r, nl.NativeEndian(), &Index) + stat.PortIndex = Index + case nl.RDMA_NLDEV_ATTR_STAT_HWCOUNTERS: + var err error + stat.Statistics, err = parseRdmaCounters(nl.RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY, value) + if err != nil { + return nil, err + } + } + if (len % 4) != 0 { + // Skip pad bytes + reader.Seek(int64(4-(len%4)), seekCurrent) + } + } + return &stat, nil +} diff --git a/vendor/github.com/vmware/go-ipfix/pkg/exporter/process.go b/vendor/github.com/vmware/go-ipfix/pkg/exporter/process.go index 4d0fd8dd5..385758068 100644 --- a/vendor/github.com/vmware/go-ipfix/pkg/exporter/process.go +++ b/vendor/github.com/vmware/go-ipfix/pkg/exporter/process.go @@ -52,7 +52,6 @@ type templateValue struct { // maxMsgSize is not set correctly, the message may be fragmented. type ExportingProcess struct { connToCollector net.Conn - connMut sync.Mutex obsDomainID uint32 seqNumber uint32 templateID uint16 @@ -297,17 +296,6 @@ func InitExportingProcess(input ExporterInput) (*ExportingProcess, error) { case <-expProc.stopCh: return case <-ticker.C: - // Dial again (e.g. host name resolving to a different IP) - klog.V(2).Info("Refreshing connection") - conn, err = net.Dial(input.CollectorProtocol, input.CollectorAddress) - if err != nil { - klog.Errorf("Cannot connect to the collector %s: %v", input.CollectorAddress, err) - } else { - expProc.connMut.Lock() - expProc.connToCollector = conn - expProc.connMut.Unlock() - } - klog.V(2).Info("Sending refreshed templates to the collector") err := expProc.sendRefreshedTemplates() if err != nil { @@ -452,8 +440,6 @@ func (ep *ExportingProcess) closeConnToCollector() { } klog.Info("Closing connection to the collector") close(ep.stopCh) - ep.connMut.Lock() - defer ep.connMut.Unlock() if err := ep.connToCollector.Close(); err != nil { // Just log the error that happened when closing the connection. Not returning error // as we do not expect library consumers to exit their programs with this error. @@ -464,8 +450,6 @@ func (ep *ExportingProcess) closeConnToCollector() { // checkConnToCollector checks whether the connection from exporter is still open // by trying to read from connection. Closed connection will return EOF from read. func (ep *ExportingProcess) checkConnToCollector(oneByteForRead []byte) bool { - ep.connMut.Lock() - defer ep.connMut.Unlock() ep.connToCollector.SetReadDeadline(time.Now().Add(time.Millisecond)) if _, err := ep.connToCollector.Read(oneByteForRead); err == io.EOF { return false @@ -491,8 +475,6 @@ func (ep *ExportingProcess) createAndSendIPFIXMsg(set entities.Set, buf *bytes.B } // Send the message on the exporter connection. - ep.connMut.Lock() - defer ep.connMut.Unlock() bytesSent, err := ep.connToCollector.Write(buf.Bytes()) if err != nil { @@ -517,8 +499,6 @@ func (ep *ExportingProcess) createAndSendJSONRecords(records []entities.Record, bytesSent := 0 elements := make(map[string]interface{}) message := make(map[string]interface{}, 2) - ep.connMut.Lock() - defer ep.connMut.Unlock() for _, record := range records { clear(elements) orderedElements := record.GetOrderedElementList() diff --git a/vendor/github.com/xrash/smetrics/jaro.go b/vendor/github.com/xrash/smetrics/jaro.go index 75f924e11..fc1ad1952 100644 --- a/vendor/github.com/xrash/smetrics/jaro.go +++ b/vendor/github.com/xrash/smetrics/jaro.go @@ -75,7 +75,7 @@ func Jaro(a, b string) float64 { } // The number of unaligned matches divided by two, is the number of _transpositions_. - transpositions := math.Floor(float64(unaligned / 2)) + transpositions := math.Floor(float64(unaligned) / 2) // Jaro distance is the average between these three numbers: // 1. matches / length of string A diff --git a/vendor/go.opentelemetry.io/otel/.codespellignore b/vendor/go.opentelemetry.io/otel/.codespellignore index 6bf3abc41..2b53a25e1 100644 --- a/vendor/go.opentelemetry.io/otel/.codespellignore +++ b/vendor/go.opentelemetry.io/otel/.codespellignore @@ -7,3 +7,4 @@ ans nam valu thirdparty +addOpt diff --git a/vendor/go.opentelemetry.io/otel/.golangci.yml b/vendor/go.opentelemetry.io/otel/.golangci.yml index 5f69cc027..b01762ffc 100644 --- a/vendor/go.opentelemetry.io/otel/.golangci.yml +++ b/vendor/go.opentelemetry.io/otel/.golangci.yml @@ -10,6 +10,7 @@ linters: - depguard - errcheck - errorlint + - gocritic - godot - gosec - govet @@ -86,6 +87,18 @@ linters: deny: - pkg: go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal desc: Do not use cross-module internal packages. + gocritic: + disabled-checks: + - appendAssign + - commentedOutCode + - dupArg + - hugeParam + - importShadow + - preferDecodeRune + - rangeValCopy + - unnamedResult + - whyNoLint + enable-all: true godot: exclude: # Exclude links. @@ -167,7 +180,10 @@ linters: - fmt.Print - fmt.Printf - fmt.Println + - name: unused-parameter + - name: unused-receiver - name: unnecessary-stmt + - name: use-any - name: useless-break - name: var-declaration - name: var-naming @@ -224,10 +240,6 @@ linters: - linters: - gosec text: 'G402: TLS MinVersion too low.' - paths: - - third_party$ - - builtin$ - - examples$ issues: max-issues-per-linter: 0 max-same-issues: 0 @@ -237,14 +249,12 @@ formatters: - goimports - golines settings: + gofumpt: + extra-rules: true goimports: local-prefixes: - - go.opentelemetry.io + - go.opentelemetry.io/otel golines: max-len: 120 exclusions: generated: lax - paths: - - third_party$ - - builtin$ - - examples$ diff --git a/vendor/go.opentelemetry.io/otel/.lycheeignore b/vendor/go.opentelemetry.io/otel/.lycheeignore index 40d62fa2e..532850588 100644 --- a/vendor/go.opentelemetry.io/otel/.lycheeignore +++ b/vendor/go.opentelemetry.io/otel/.lycheeignore @@ -2,5 +2,8 @@ http://localhost http://jaeger-collector https://github.com/open-telemetry/opentelemetry-go/milestone/ https://github.com/open-telemetry/opentelemetry-go/projects +# Weaver model URL for semantic-conventions repository. +https?:\/\/github\.com\/open-telemetry\/semantic-conventions\/archive\/refs\/tags\/[^.]+\.zip\[[^]]+] file:///home/runner/work/opentelemetry-go/opentelemetry-go/libraries file:///home/runner/work/opentelemetry-go/opentelemetry-go/manual +http://4.3.2.1:78/user/123 \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/CHANGELOG.md b/vendor/go.opentelemetry.io/otel/CHANGELOG.md index 4acc75701..f3abcfdc2 100644 --- a/vendor/go.opentelemetry.io/otel/CHANGELOG.md +++ b/vendor/go.opentelemetry.io/otel/CHANGELOG.md @@ -11,6 +11,93 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm +## [1.38.0/0.60.0/0.14.0/0.0.13] 2025-08-29 + +This release is the last to support [Go 1.23]. +The next release will require at least [Go 1.24]. + +### Added + +- Add native histogram exemplar support in `go.opentelemetry.io/otel/exporters/prometheus`. (#6772) +- Add template attribute functions to the `go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6939) + - `ContainerLabel` + - `DBOperationParameter` + - `DBSystemParameter` + - `HTTPRequestHeader` + - `HTTPResponseHeader` + - `K8SCronJobAnnotation` + - `K8SCronJobLabel` + - `K8SDaemonSetAnnotation` + - `K8SDaemonSetLabel` + - `K8SDeploymentAnnotation` + - `K8SDeploymentLabel` + - `K8SJobAnnotation` + - `K8SJobLabel` + - `K8SNamespaceAnnotation` + - `K8SNamespaceLabel` + - `K8SNodeAnnotation` + - `K8SNodeLabel` + - `K8SPodAnnotation` + - `K8SPodLabel` + - `K8SReplicaSetAnnotation` + - `K8SReplicaSetLabel` + - `K8SStatefulSetAnnotation` + - `K8SStatefulSetLabel` + - `ProcessEnvironmentVariable` + - `RPCConnectRPCRequestMetadata` + - `RPCConnectRPCResponseMetadata` + - `RPCGRPCRequestMetadata` + - `RPCGRPCResponseMetadata` +- Add `ErrorType` attribute helper function to the `go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6962) +- Add `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log` which can be used to disable deduplication for log records. (#6968) +- Add `WithCardinalityLimit` option to configure the cardinality limit in `go.opentelemetry.io/otel/sdk/metric`. (#6996, #7065, #7081, #7164, #7165, #7179) +- Add `Clone` method to `Record` in `go.opentelemetry.io/otel/log` that returns a copy of the record with no shared state. (#7001) +- Add experimental self-observability span and batch span processor metrics in `go.opentelemetry.io/otel/sdk/trace`. + Check the `go.opentelemetry.io/otel/sdk/trace/internal/x` package documentation for more information. (#7027, #6393, #7209) +- The `go.opentelemetry.io/otel/semconv/v1.36.0` package. + The package contains semantic conventions from the `v1.36.0` version of the OpenTelemetry Semantic Conventions. + See the [migration documentation](./semconv/v1.36.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.34.0.`(#7032, #7041) +- Add support for configuring Prometheus name translation using `WithTranslationStrategy` option in `go.opentelemetry.io/otel/exporters/prometheus`. The current default translation strategy when UTF-8 mode is enabled is `NoUTF8EscapingWithSuffixes`, but a future release will change the default strategy to `UnderscoreEscapingWithSuffixes` for compliance with the specification. (#7111) +- Add experimental self-observability log metrics in `go.opentelemetry.io/otel/sdk/log`. + Check the `go.opentelemetry.io/otel/sdk/log/internal/x` package documentation for more information. (#7121) +- Add experimental self-observability trace exporter metrics in `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. + Check the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/x` package documentation for more information. (#7133) +- Support testing of [Go 1.25]. (#7187) +- The `go.opentelemetry.io/otel/semconv/v1.37.0` package. + The package contains semantic conventions from the `v1.37.0` version of the OpenTelemetry Semantic Conventions. + See the [migration documentation](./semconv/v1.37.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.36.0.`(#7254) + +### Changed + +- Optimize `TraceIDFromHex` and `SpanIDFromHex` in `go.opentelemetry.io/otel/sdk/trace`. (#6791) +- Change `AssertEqual` in `go.opentelemetry.io/otel/log/logtest` to accept `TestingT` in order to support benchmarks and fuzz tests. (#6908) +- Change `DefaultExemplarReservoirProviderSelector` in `go.opentelemetry.io/otel/sdk/metric` to use `runtime.GOMAXPROCS(0)` instead of `runtime.NumCPU()` for the `FixedSizeReservoirProvider` default size. (#7094) + +### Fixed + +- `SetBody` method of `Record` in `go.opentelemetry.io/otel/sdk/log` now deduplicates key-value collections (`log.Value` of `log.KindMap` from `go.opentelemetry.io/otel/log`). (#7002) +- Fix `go.opentelemetry.io/otel/exporters/prometheus` to not append a suffix if it's already present in metric name. (#7088) +- Fix the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` self-observability component type and name. (#7195) +- Fix partial export count metric in `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. (#7199) + +### Deprecated + +- Deprecate `WithoutUnits` and `WithoutCounterSuffixes` options, preferring `WithTranslationStrategy` instead. (#7111) +- Deprecate support for `OTEL_GO_X_CARDINALITY_LIMIT` environment variable in `go.opentelemetry.io/otel/sdk/metric`. Use `WithCardinalityLimit` option instead. (#7166) + +## [0.59.1] 2025-07-21 + +### Changed + +- Retract `v0.59.0` release of `go.opentelemetry.io/otel/exporters/prometheus` module which appends incorrect unit suffixes. (#7046) +- Change `go.opentelemetry.io/otel/exporters/prometheus` to no longer deduplicate suffixes when UTF8 is enabled. + It is recommended to disable unit and counter suffixes in the exporter, and manually add suffixes if you rely on the existing behavior. (#7044) + +### Fixed + +- Fix `go.opentelemetry.io/otel/exporters/prometheus` to properly handle unit suffixes when the unit is in brackets. + E.g. `{spans}`. (#7044) + ## [1.37.0/0.59.0/0.13.0] 2025-06-25 ### Added @@ -3343,7 +3430,8 @@ It contains api and sdk for trace and meter. - CircleCI build CI manifest files. - CODEOWNERS file to track owners of this project. -[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.37.0...HEAD +[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.38.0...HEAD +[1.38.0/0.60.0/0.14.0/0.0.13]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.38.0 [1.37.0/0.59.0/0.13.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.37.0 [0.12.2]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/log/v0.12.2 [0.12.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/log/v0.12.1 @@ -3439,6 +3527,7 @@ It contains api and sdk for trace and meter. +[Go 1.25]: https://go.dev/doc/go1.25 [Go 1.24]: https://go.dev/doc/go1.24 [Go 1.23]: https://go.dev/doc/go1.23 [Go 1.22]: https://go.dev/doc/go1.22 diff --git a/vendor/go.opentelemetry.io/otel/CODEOWNERS b/vendor/go.opentelemetry.io/otel/CODEOWNERS index 945a07d2b..26a03aed1 100644 --- a/vendor/go.opentelemetry.io/otel/CODEOWNERS +++ b/vendor/go.opentelemetry.io/otel/CODEOWNERS @@ -12,6 +12,6 @@ # https://help.github.com/en/articles/about-code-owners # -* @MrAlias @XSAM @dashpole @pellared @dmathieu +* @MrAlias @XSAM @dashpole @pellared @dmathieu @flc1125 CODEOWNERS @MrAlias @pellared @dashpole @XSAM @dmathieu diff --git a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md index f9ddc281f..0b3ae855c 100644 --- a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md +++ b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md @@ -192,6 +192,35 @@ should have `go test -bench` output in their description. should have [`benchstat`](https://pkg.go.dev/golang.org/x/perf/cmd/benchstat) output in their description. +## Dependencies + +This project uses [Go Modules] for dependency management. All modules will use +`go.mod` to explicitly list all direct and indirect dependencies, ensuring a +clear dependency graph. The `go.sum` file for each module will be committed to +the repository and used to verify the integrity of downloaded modules, +preventing malicious tampering. + +This project uses automated dependency update tools (i.e. dependabot, +renovatebot) to manage updates to dependencies. This ensures that dependencies +are kept up-to-date with the latest security patches and features and are +reviewed before being merged. If you would like to propose a change to a +dependency it should be done through a pull request that updates the `go.mod` +file and includes a description of the change. + +See the [versioning and compatibility](./VERSIONING.md) policy for more details +about dependency compatibility. + +[Go Modules]: https://pkg.go.dev/cmd/go#hdr-Modules__module_versions__and_more + +### Environment Dependencies + +This project does not partition dependencies based on the environment (i.e. +`development`, `staging`, `production`). + +Only the dependencies explicitly included in the released modules have be +tested and verified to work with the released code. No other guarantee is made +about the compatibility of other dependencies. + ## Documentation Each (non-internal, non-test) package must be documented using @@ -233,6 +262,10 @@ For a non-comprehensive but foundational overview of these best practices the [Effective Go](https://golang.org/doc/effective_go.html) documentation is an excellent starting place. +We also recommend following the +[Go Code Review Comments](https://go.dev/wiki/CodeReviewComments) +that collects common comments made during reviews of Go code. + As a convenience for developers building this project the `make precommit` will format, lint, validate, and in some cases fix the changes you plan to submit. This check will need to pass for your changes to be able to be @@ -586,6 +619,10 @@ See also: ### Testing +We allow using [`testify`](https://github.com/stretchr/testify) even though +it is seen as non-idiomatic according to +the [Go Test Comments](https://go.dev/wiki/TestComments#assert-libraries) page. + The tests should never leak goroutines. Use the term `ConcurrentSafe` in the test name when it aims to verify the @@ -640,13 +677,6 @@ should be canceled. ## Approvers and Maintainers -### Triagers - -- [Alex Kats](https://github.com/akats7), Capital One -- [Cheng-Zhen Yang](https://github.com/scorpionknifes), Independent - -### Approvers - ### Maintainers - [Damien Mathieu](https://github.com/dmathieu), Elastic ([GPG](https://keys.openpgp.org/search?q=5A126B972A81A6CE443E5E1B408B8E44F0873832)) @@ -655,6 +685,21 @@ should be canceled. - [Sam Xie](https://github.com/XSAM), Splunk ([GPG](https://keys.openpgp.org/search?q=AEA033782371ABB18EE39188B8044925D6FEEBEA)) - [Tyler Yahn](https://github.com/MrAlias), Splunk ([GPG](https://keys.openpgp.org/search?q=0x46B0F3E1A8B1BA5A)) +For more information about the maintainer role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer). + +### Approvers + +- [Flc](https://github.com/flc1125), Independent + +For more information about the approver role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver). + +### Triagers + +- [Alex Kats](https://github.com/akats7), Capital One +- [Cheng-Zhen Yang](https://github.com/scorpionknifes), Independent + +For more information about the triager role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager). + ### Emeritus - [Aaron Clawson](https://github.com/MadVikingGod) @@ -665,6 +710,8 @@ should be canceled. - [Josh MacDonald](https://github.com/jmacd) - [Liz Fong-Jones](https://github.com/lizthegrey) +For more information about the emeritus role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager). + ### Become an Approver or a Maintainer See the [community membership document in OpenTelemetry community diff --git a/vendor/go.opentelemetry.io/otel/LICENSE b/vendor/go.opentelemetry.io/otel/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/LICENSE +++ b/vendor/go.opentelemetry.io/otel/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/Makefile b/vendor/go.opentelemetry.io/otel/Makefile index 4fa423ca0..bc0f1f92d 100644 --- a/vendor/go.opentelemetry.io/otel/Makefile +++ b/vendor/go.opentelemetry.io/otel/Makefile @@ -34,9 +34,6 @@ $(TOOLS)/%: $(TOOLS_MOD_DIR)/go.mod | $(TOOLS) MULTIMOD = $(TOOLS)/multimod $(TOOLS)/multimod: PACKAGE=go.opentelemetry.io/build-tools/multimod -SEMCONVGEN = $(TOOLS)/semconvgen -$(TOOLS)/semconvgen: PACKAGE=go.opentelemetry.io/build-tools/semconvgen - CROSSLINK = $(TOOLS)/crosslink $(TOOLS)/crosslink: PACKAGE=go.opentelemetry.io/build-tools/crosslink @@ -71,7 +68,7 @@ GOVULNCHECK = $(TOOLS)/govulncheck $(TOOLS)/govulncheck: PACKAGE=golang.org/x/vuln/cmd/govulncheck .PHONY: tools -tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(SEMCONVGEN) $(VERIFYREADMES) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE) +tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(VERIFYREADMES) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE) # Virtualized python tools via docker @@ -284,7 +281,7 @@ semconv-generate: $(SEMCONVKIT) docker run --rm \ -u $(DOCKER_USER) \ --env HOME=/tmp/weaver \ - --mount 'type=bind,source=$(PWD)/semconv,target=/home/weaver/templates/registry/go,readonly' \ + --mount 'type=bind,source=$(PWD)/semconv/templates,target=/home/weaver/templates,readonly' \ --mount 'type=bind,source=$(PWD)/semconv/${TAG},target=/home/weaver/target' \ --mount 'type=bind,source=$(HOME)/.weaver,target=/tmp/weaver/.weaver' \ $(WEAVER_IMAGE) registry generate \ diff --git a/vendor/go.opentelemetry.io/otel/README.md b/vendor/go.opentelemetry.io/otel/README.md index 5fa1b75c6..6b7ab5f21 100644 --- a/vendor/go.opentelemetry.io/otel/README.md +++ b/vendor/go.opentelemetry.io/otel/README.md @@ -53,18 +53,25 @@ Currently, this project supports the following environments. | OS | Go Version | Architecture | |----------|------------|--------------| +| Ubuntu | 1.25 | amd64 | | Ubuntu | 1.24 | amd64 | | Ubuntu | 1.23 | amd64 | +| Ubuntu | 1.25 | 386 | | Ubuntu | 1.24 | 386 | | Ubuntu | 1.23 | 386 | +| Ubuntu | 1.25 | arm64 | | Ubuntu | 1.24 | arm64 | | Ubuntu | 1.23 | arm64 | +| macOS 13 | 1.25 | amd64 | | macOS 13 | 1.24 | amd64 | | macOS 13 | 1.23 | amd64 | +| macOS | 1.25 | arm64 | | macOS | 1.24 | arm64 | | macOS | 1.23 | arm64 | +| Windows | 1.25 | amd64 | | Windows | 1.24 | amd64 | | Windows | 1.23 | amd64 | +| Windows | 1.25 | 386 | | Windows | 1.24 | 386 | | Windows | 1.23 | 386 | diff --git a/vendor/go.opentelemetry.io/otel/SECURITY-INSIGHTS.yml b/vendor/go.opentelemetry.io/otel/SECURITY-INSIGHTS.yml new file mode 100644 index 000000000..8041fc62e --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/SECURITY-INSIGHTS.yml @@ -0,0 +1,203 @@ +header: + schema-version: "1.0.0" + expiration-date: "2026-08-04T00:00:00.000Z" + last-updated: "2025-08-04" + last-reviewed: "2025-08-04" + commit-hash: 69e81088ad40f45a0764597326722dea8f3f00a8 + project-url: https://github.com/open-telemetry/opentelemetry-go + project-release: "v1.37.0" + changelog: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/CHANGELOG.md + license: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/LICENSE + +project-lifecycle: + status: active + bug-fixes-only: false + core-maintainers: + - https://github.com/dmathieu + - https://github.com/dashpole + - https://github.com/pellared + - https://github.com/XSAM + - https://github.com/MrAlias + release-process: | + See https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/RELEASING.md + +contribution-policy: + accepts-pull-requests: true + accepts-automated-pull-requests: true + automated-tools-list: + - automated-tool: dependabot + action: allowed + comment: Automated dependency updates are accepted. + - automated-tool: renovatebot + action: allowed + comment: Automated dependency updates are accepted. + - automated-tool: opentelemetrybot + action: allowed + comment: Automated OpenTelemetry actions are accepted. + contributing-policy: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/CONTRIBUTING.md + code-of-conduct: https://github.com/open-telemetry/.github/blob/ffa15f76b65ec7bcc41f6a0b277edbb74f832206/CODE_OF_CONDUCT.md + +documentation: + - https://pkg.go.dev/go.opentelemetry.io/otel + - https://opentelemetry.io/docs/instrumentation/go/ + +distribution-points: + - pkg:golang/go.opentelemetry.io/otel + - pkg:golang/go.opentelemetry.io/otel/bridge/opencensus + - pkg:golang/go.opentelemetry.io/otel/bridge/opencensus/test + - pkg:golang/go.opentelemetry.io/otel/bridge/opentracing + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlptrace + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp + - pkg:golang/go.opentelemetry.io/otel/exporters/stdout/stdoutmetric + - pkg:golang/go.opentelemetry.io/otel/exporters/stdout/stdouttrace + - pkg:golang/go.opentelemetry.io/otel/exporters/zipkin + - pkg:golang/go.opentelemetry.io/otel/metric + - pkg:golang/go.opentelemetry.io/otel/sdk + - pkg:golang/go.opentelemetry.io/otel/sdk/metric + - pkg:golang/go.opentelemetry.io/otel/trace + - pkg:golang/go.opentelemetry.io/otel/exporters/prometheus + - pkg:golang/go.opentelemetry.io/otel/log + - pkg:golang/go.opentelemetry.io/otel/log/logtest + - pkg:golang/go.opentelemetry.io/otel/sdk/log + - pkg:golang/go.opentelemetry.io/otel/sdk/log/logtest + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp + - pkg:golang/go.opentelemetry.io/otel/exporters/stdout/stdoutlog + - pkg:golang/go.opentelemetry.io/otel/schema + +security-artifacts: + threat-model: + threat-model-created: false + comment: | + No formal threat model created yet. + self-assessment: + self-assessment-created: false + comment: | + No formal self-assessment yet. + +security-testing: + - tool-type: sca + tool-name: Dependabot + tool-version: latest + tool-url: https://github.com/dependabot + tool-rulesets: + - built-in + integration: + ad-hoc: false + ci: true + before-release: true + comment: | + Automated dependency updates. + - tool-type: sast + tool-name: golangci-lint + tool-version: latest + tool-url: https://github.com/golangci/golangci-lint + tool-rulesets: + - built-in + integration: + ad-hoc: false + ci: true + before-release: true + comment: | + Static analysis in CI. + - tool-type: fuzzing + tool-name: OSS-Fuzz + tool-version: latest + tool-url: https://github.com/google/oss-fuzz + tool-rulesets: + - default + integration: + ad-hoc: false + ci: false + before-release: false + comment: | + OpenTelemetry Go is integrated with OSS-Fuzz for continuous fuzz testing. See https://github.com/google/oss-fuzz/tree/f0f9b221190c6063a773bea606d192ebfc3d00cf/projects/opentelemetry-go for more details. + - tool-type: sast + tool-name: CodeQL + tool-version: latest + tool-url: https://github.com/github/codeql + tool-rulesets: + - default + integration: + ad-hoc: false + ci: true + before-release: true + comment: | + CodeQL static analysis is run in CI for all commits and pull requests to detect security vulnerabilities in the Go source code. See https://github.com/open-telemetry/opentelemetry-go/blob/d5b5b059849720144a03ca5c87561bfbdb940119/.github/workflows/codeql-analysis.yml for workflow details. + - tool-type: sca + tool-name: govulncheck + tool-version: latest + tool-url: https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck + tool-rulesets: + - default + integration: + ad-hoc: false + ci: true + before-release: true + comment: | + govulncheck is run in CI to detect known vulnerabilities in Go modules and code paths. See https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/.github/workflows/ci.yml for workflow configuration. + +security-assessments: + - auditor-name: 7ASecurity + auditor-url: https://7asecurity.com + auditor-report: https://7asecurity.com/reports/pentest-report-opentelemetry.pdf + report-year: 2023 + comment: | + This independent penetration test by 7ASecurity covered OpenTelemetry repositories including opentelemetry-go. The assessment focused on codebase review, threat modeling, and vulnerability identification. See the report for details of findings and recommendations applicable to opentelemetry-go. No critical vulnerabilities were found for this repository. + +security-contacts: + - type: email + value: cncf-opentelemetry-security@lists.cncf.io + primary: true + - type: website + value: https://github.com/open-telemetry/opentelemetry-go/security/policy + primary: false + +vulnerability-reporting: + accepts-vulnerability-reports: true + email-contact: cncf-opentelemetry-security@lists.cncf.io + security-policy: https://github.com/open-telemetry/opentelemetry-go/security/policy + comment: | + Security issues should be reported via email or GitHub security policy page. + +dependencies: + third-party-packages: true + dependencies-lists: + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/bridge/opencensus/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/bridge/opencensus/test/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/bridge/opentracing/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlplog/otlploggrpc/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlplog/otlploghttp/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlpmetric/otlpmetrichttp/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlptrace/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlptrace/otlptracegrpc/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlptrace/otlptracehttp/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/prometheus/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/stdout/stdoutlog/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/stdout/stdoutmetric/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/stdout/stdouttrace/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/zipkin/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/internal/tools/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/log/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/log/logtest/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/metric/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/schema/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/sdk/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/sdk/log/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/sdk/log/logtest/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/sdk/metric/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/trace/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/trace/internal/telemetry/test/go.mod + dependencies-lifecycle: + policy-url: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/CONTRIBUTING.md + comment: | + Dependency lifecycle managed via go.mod and renovatebot. + env-dependencies-policy: + policy-url: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/CONTRIBUTING.md + comment: | + See contributing policy for environment usage. diff --git a/vendor/go.opentelemetry.io/otel/attribute/encoder.go b/vendor/go.opentelemetry.io/otel/attribute/encoder.go index 318e42fca..6333d34b3 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/encoder.go +++ b/vendor/go.opentelemetry.io/otel/attribute/encoder.go @@ -78,7 +78,7 @@ func DefaultEncoder() Encoder { defaultEncoderOnce.Do(func() { defaultEncoderInstance = &defaultAttrEncoder{ pool: sync.Pool{ - New: func() interface{} { + New: func() any { return &bytes.Buffer{} }, }, @@ -96,11 +96,11 @@ func (d *defaultAttrEncoder) Encode(iter Iterator) string { for iter.Next() { i, keyValue := iter.IndexedAttribute() if i > 0 { - _, _ = buf.WriteRune(',') + _ = buf.WriteByte(',') } copyAndEscape(buf, string(keyValue.Key)) - _, _ = buf.WriteRune('=') + _ = buf.WriteByte('=') if keyValue.Value.Type() == STRING { copyAndEscape(buf, keyValue.Value.AsString()) @@ -122,14 +122,14 @@ func copyAndEscape(buf *bytes.Buffer, val string) { for _, ch := range val { switch ch { case '=', ',', escapeChar: - _, _ = buf.WriteRune(escapeChar) + _ = buf.WriteByte(escapeChar) } _, _ = buf.WriteRune(ch) } } -// Valid returns true if this encoder ID was allocated by -// `NewEncoderID`. Invalid encoder IDs will not be cached. +// Valid reports whether this encoder ID was allocated by +// [NewEncoderID]. Invalid encoder IDs will not be cached. func (id EncoderID) Valid() bool { return id.value != 0 } diff --git a/vendor/go.opentelemetry.io/otel/attribute/filter.go b/vendor/go.opentelemetry.io/otel/attribute/filter.go index 3eeaa5d44..624ebbe38 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/filter.go +++ b/vendor/go.opentelemetry.io/otel/attribute/filter.go @@ -15,8 +15,8 @@ type Filter func(KeyValue) bool // // If keys is empty a deny-all filter is returned. func NewAllowKeysFilter(keys ...Key) Filter { - if len(keys) <= 0 { - return func(kv KeyValue) bool { return false } + if len(keys) == 0 { + return func(KeyValue) bool { return false } } allowed := make(map[Key]struct{}, len(keys)) @@ -34,8 +34,8 @@ func NewAllowKeysFilter(keys ...Key) Filter { // // If keys is empty an allow-all filter is returned. func NewDenyKeysFilter(keys ...Key) Filter { - if len(keys) <= 0 { - return func(kv KeyValue) bool { return true } + if len(keys) == 0 { + return func(KeyValue) bool { return true } } forbid := make(map[Key]struct{}, len(keys)) diff --git a/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go b/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go index b76d2bbfd..087550430 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go +++ b/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go @@ -12,7 +12,7 @@ import ( ) // BoolSliceValue converts a bool slice into an array with same elements as slice. -func BoolSliceValue(v []bool) interface{} { +func BoolSliceValue(v []bool) any { var zero bool cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeOf(zero))).Elem() reflect.Copy(cp, reflect.ValueOf(v)) @@ -20,7 +20,7 @@ func BoolSliceValue(v []bool) interface{} { } // Int64SliceValue converts an int64 slice into an array with same elements as slice. -func Int64SliceValue(v []int64) interface{} { +func Int64SliceValue(v []int64) any { var zero int64 cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeOf(zero))).Elem() reflect.Copy(cp, reflect.ValueOf(v)) @@ -28,7 +28,7 @@ func Int64SliceValue(v []int64) interface{} { } // Float64SliceValue converts a float64 slice into an array with same elements as slice. -func Float64SliceValue(v []float64) interface{} { +func Float64SliceValue(v []float64) any { var zero float64 cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeOf(zero))).Elem() reflect.Copy(cp, reflect.ValueOf(v)) @@ -36,7 +36,7 @@ func Float64SliceValue(v []float64) interface{} { } // StringSliceValue converts a string slice into an array with same elements as slice. -func StringSliceValue(v []string) interface{} { +func StringSliceValue(v []string) any { var zero string cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeOf(zero))).Elem() reflect.Copy(cp, reflect.ValueOf(v)) @@ -44,7 +44,7 @@ func StringSliceValue(v []string) interface{} { } // AsBoolSlice converts a bool array into a slice into with same elements as array. -func AsBoolSlice(v interface{}) []bool { +func AsBoolSlice(v any) []bool { rv := reflect.ValueOf(v) if rv.Type().Kind() != reflect.Array { return nil @@ -57,7 +57,7 @@ func AsBoolSlice(v interface{}) []bool { } // AsInt64Slice converts an int64 array into a slice into with same elements as array. -func AsInt64Slice(v interface{}) []int64 { +func AsInt64Slice(v any) []int64 { rv := reflect.ValueOf(v) if rv.Type().Kind() != reflect.Array { return nil @@ -70,7 +70,7 @@ func AsInt64Slice(v interface{}) []int64 { } // AsFloat64Slice converts a float64 array into a slice into with same elements as array. -func AsFloat64Slice(v interface{}) []float64 { +func AsFloat64Slice(v any) []float64 { rv := reflect.ValueOf(v) if rv.Type().Kind() != reflect.Array { return nil @@ -83,7 +83,7 @@ func AsFloat64Slice(v interface{}) []float64 { } // AsStringSlice converts a string array into a slice into with same elements as array. -func AsStringSlice(v interface{}) []string { +func AsStringSlice(v any) []string { rv := reflect.ValueOf(v) if rv.Type().Kind() != reflect.Array { return nil diff --git a/vendor/go.opentelemetry.io/otel/attribute/iterator.go b/vendor/go.opentelemetry.io/otel/attribute/iterator.go index f2ba89ce4..8df6249f0 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/iterator.go +++ b/vendor/go.opentelemetry.io/otel/attribute/iterator.go @@ -25,8 +25,8 @@ type oneIterator struct { attr KeyValue } -// Next moves the iterator to the next position. Returns false if there are no -// more attributes. +// Next moves the iterator to the next position. +// Next reports whether there are more attributes. func (i *Iterator) Next() bool { i.idx++ return i.idx < i.Len() @@ -106,7 +106,8 @@ func (oi *oneIterator) advance() { } } -// Next returns true if there is another attribute available. +// Next moves the iterator to the next position. +// Next reports whether there is another attribute available. func (m *MergeIterator) Next() bool { if m.one.done && m.two.done { return false diff --git a/vendor/go.opentelemetry.io/otel/attribute/key.go b/vendor/go.opentelemetry.io/otel/attribute/key.go index d9a22c650..80a9e5643 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/key.go +++ b/vendor/go.opentelemetry.io/otel/attribute/key.go @@ -117,7 +117,7 @@ func (k Key) StringSlice(v []string) KeyValue { } } -// Defined returns true for non-empty keys. +// Defined reports whether the key is not empty. func (k Key) Defined() bool { return len(k) != 0 } diff --git a/vendor/go.opentelemetry.io/otel/attribute/kv.go b/vendor/go.opentelemetry.io/otel/attribute/kv.go index 3028f9a40..8c6928ca7 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/kv.go +++ b/vendor/go.opentelemetry.io/otel/attribute/kv.go @@ -13,7 +13,7 @@ type KeyValue struct { Value Value } -// Valid returns if kv is a valid OpenTelemetry attribute. +// Valid reports whether kv is a valid OpenTelemetry attribute. func (kv KeyValue) Valid() bool { return kv.Key.Defined() && kv.Value.Type() != INVALID } diff --git a/vendor/go.opentelemetry.io/otel/attribute/set.go b/vendor/go.opentelemetry.io/otel/attribute/set.go index 6cbefcead..64735d382 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/set.go +++ b/vendor/go.opentelemetry.io/otel/attribute/set.go @@ -31,11 +31,11 @@ type ( // Distinct is a unique identifier of a Set. // - // Distinct is designed to be ensures equivalence stability: comparisons - // will return the save value across versions. For this reason, Distinct - // should always be used as a map key instead of a Set. + // Distinct is designed to ensure equivalence stability: comparisons will + // return the same value across versions. For this reason, Distinct should + // always be used as a map key instead of a Set. Distinct struct { - iface interface{} + iface any } // Sortable implements sort.Interface, used for sorting KeyValue. @@ -70,7 +70,7 @@ func (d Distinct) reflectValue() reflect.Value { return reflect.ValueOf(d.iface) } -// Valid returns true if this value refers to a valid Set. +// Valid reports whether this value refers to a valid Set. func (d Distinct) Valid() bool { return d.iface != nil } @@ -120,7 +120,7 @@ func (l *Set) Value(k Key) (Value, bool) { return Value{}, false } -// HasValue tests whether a key is defined in this set. +// HasValue reports whether a key is defined in this set. func (l *Set) HasValue(k Key) bool { if l == nil { return false @@ -155,7 +155,7 @@ func (l *Set) Equivalent() Distinct { return l.equivalent } -// Equals returns true if the argument set is equivalent to this set. +// Equals reports whether the argument set is equivalent to this set. func (l *Set) Equals(o *Set) bool { return l.Equivalent() == o.Equivalent() } @@ -344,7 +344,7 @@ func computeDistinct(kvs []KeyValue) Distinct { // computeDistinctFixed computes a Distinct for small slices. It returns nil // if the input is too large for this code path. -func computeDistinctFixed(kvs []KeyValue) interface{} { +func computeDistinctFixed(kvs []KeyValue) any { switch len(kvs) { case 1: return [1]KeyValue(kvs) @@ -373,7 +373,7 @@ func computeDistinctFixed(kvs []KeyValue) interface{} { // computeDistinctReflect computes a Distinct using reflection, works for any // size input. -func computeDistinctReflect(kvs []KeyValue) interface{} { +func computeDistinctReflect(kvs []KeyValue) any { at := reflect.New(reflect.ArrayOf(len(kvs), keyValueType)).Elem() for i, keyValue := range kvs { *(at.Index(i).Addr().Interface().(*KeyValue)) = keyValue @@ -387,7 +387,7 @@ func (l *Set) MarshalJSON() ([]byte, error) { } // MarshalLog is the marshaling function used by the logging system to represent this Set. -func (l Set) MarshalLog() interface{} { +func (l Set) MarshalLog() any { kvs := make(map[string]string) for _, kv := range l.ToSlice() { kvs[string(kv.Key)] = kv.Value.Emit() diff --git a/vendor/go.opentelemetry.io/otel/attribute/value.go b/vendor/go.opentelemetry.io/otel/attribute/value.go index 817eecacf..653c33a86 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/value.go +++ b/vendor/go.opentelemetry.io/otel/attribute/value.go @@ -22,7 +22,7 @@ type Value struct { vtype Type numeric uint64 stringly string - slice interface{} + slice any } const ( @@ -199,8 +199,8 @@ func (v Value) asStringSlice() []string { type unknownValueType struct{} -// AsInterface returns Value's data as interface{}. -func (v Value) AsInterface() interface{} { +// AsInterface returns Value's data as any. +func (v Value) AsInterface() any { switch v.Type() { case BOOL: return v.AsBool() @@ -262,7 +262,7 @@ func (v Value) Emit() string { func (v Value) MarshalJSON() ([]byte, error) { var jsonVal struct { Type string - Value interface{} + Value any } jsonVal.Type = v.Type().String() jsonVal.Value = v.AsInterface() diff --git a/vendor/go.opentelemetry.io/otel/baggage/baggage.go b/vendor/go.opentelemetry.io/otel/baggage/baggage.go index 0e1fe2422..f83a448ec 100644 --- a/vendor/go.opentelemetry.io/otel/baggage/baggage.go +++ b/vendor/go.opentelemetry.io/otel/baggage/baggage.go @@ -812,7 +812,7 @@ var safeKeyCharset = [utf8.RuneSelf]bool{ // validateBaggageName checks if the string is a valid OpenTelemetry Baggage name. // Baggage name is a valid, non-empty UTF-8 string. func validateBaggageName(s string) bool { - if len(s) == 0 { + if s == "" { return false } @@ -828,7 +828,7 @@ func validateBaggageValue(s string) bool { // validateKey checks if the string is a valid W3C Baggage key. func validateKey(s string) bool { - if len(s) == 0 { + if s == "" { return false } diff --git a/vendor/go.opentelemetry.io/otel/codes/codes.go b/vendor/go.opentelemetry.io/otel/codes/codes.go index 49a35b122..d48847ed8 100644 --- a/vendor/go.opentelemetry.io/otel/codes/codes.go +++ b/vendor/go.opentelemetry.io/otel/codes/codes.go @@ -67,7 +67,7 @@ func (c *Code) UnmarshalJSON(b []byte) error { return errors.New("nil receiver passed to UnmarshalJSON") } - var x interface{} + var x any if err := json.Unmarshal(b, &x); err != nil { return err } @@ -102,5 +102,5 @@ func (c *Code) MarshalJSON() ([]byte, error) { if !ok { return nil, fmt.Errorf("invalid code: %d", *c) } - return []byte(fmt.Sprintf("%q", str)), nil + return fmt.Appendf(nil, "%q", str), nil } diff --git a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile index 935bd4876..a311fbb48 100644 --- a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile +++ b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile @@ -1,4 +1,4 @@ # This is a renovate-friendly source of Docker images. -FROM python:3.13.5-slim-bullseye@sha256:5b9fc0d8ef79cfb5f300e61cb516e0c668067bbf77646762c38c94107e230dbc AS python -FROM otel/weaver:v0.15.2@sha256:b13acea09f721774daba36344861f689ac4bb8d6ecd94c4600b4d590c8fb34b9 AS weaver +FROM python:3.13.6-slim-bullseye@sha256:e98b521460ee75bca92175c16247bdf7275637a8faaeb2bcfa19d879ae5c4b9a AS python +FROM otel/weaver:v0.17.1@sha256:32523b5e44fb44418786347e9f7dde187d8797adb6d57a2ee99c245346c3cdfe AS weaver FROM avtodev/markdown-lint:v1@sha256:6aeedc2f49138ce7a1cd0adffc1b1c0321b841dc2102408967d9301c031949ee AS markdown diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/LICENSE b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/LICENSE +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/client.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/client.go index 82a4c2c2a..492480f8c 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/client.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/client.go @@ -8,6 +8,8 @@ import ( "errors" "time" + colmetricpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1" + metricpb "go.opentelemetry.io/proto/otlp/metrics/v1" "google.golang.org/genproto/googleapis/rpc/errdetails" "google.golang.org/grpc" "google.golang.org/grpc/codes" @@ -18,8 +20,6 @@ import ( "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/retry" - colmetricpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1" - metricpb "go.opentelemetry.io/proto/otlp/metrics/v1" ) type client struct { diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/exporter.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/exporter.go index 3977c1f8a..35cdf4661 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/exporter.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/exporter.go @@ -9,12 +9,13 @@ import ( "fmt" "sync" + metricpb "go.opentelemetry.io/proto/otlp/metrics/v1" + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/transform" "go.opentelemetry.io/otel/internal/global" "go.opentelemetry.io/otel/sdk/metric" "go.opentelemetry.io/otel/sdk/metric/metricdata" - metricpb "go.opentelemetry.io/proto/otlp/metrics/v1" ) // Exporter is a OpenTelemetry metric Exporter using gRPC. @@ -91,7 +92,7 @@ func (e *Exporter) Export(ctx context.Context, rm *metricdata.ResourceMetrics) e // This method returns an error if the method is canceled by the passed context. // // This method is safe to call concurrently. -func (e *Exporter) ForceFlush(ctx context.Context) error { +func (*Exporter) ForceFlush(ctx context.Context) error { // The exporter and client hold no state, nothing to flush. return ctx.Err() } @@ -119,7 +120,7 @@ var errShutdown = errors.New("gRPC exporter is shutdown") type shutdownClient struct{} -func (c shutdownClient) err(ctx context.Context) error { +func (shutdownClient) err(ctx context.Context) error { if err := ctx.Err(); err != nil { return err } @@ -135,7 +136,7 @@ func (c shutdownClient) Shutdown(ctx context.Context) error { } // MarshalLog returns logging data about the Exporter. -func (e *Exporter) MarshalLog() interface{} { +func (*Exporter) MarshalLog() any { return struct{ Type string }{Type: "OTLP/gRPC"} } diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/version.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/version.go index b34d35b0b..7909cac56 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/version.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/version.go @@ -5,5 +5,5 @@ package otlpmetricgrpc // import "go.opentelemetry.io/otel/exporters/otlp/otlpme // Version is the current release version of the OpenTelemetry OTLP over gRPC metrics exporter in use. func Version() string { - return "1.37.0" + return "1.38.0" } diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/LICENSE b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/LICENSE +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/client.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/client.go index 23f1f0031..26af47e62 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/client.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/client.go @@ -18,14 +18,14 @@ import ( "sync" "time" + colmetricpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1" + metricpb "go.opentelemetry.io/proto/otlp/metrics/v1" "google.golang.org/protobuf/proto" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/retry" - colmetricpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1" - metricpb "go.opentelemetry.io/proto/otlp/metrics/v1" ) type client struct { @@ -203,7 +203,7 @@ func (c *client) UploadMetrics(ctx context.Context, protoMetrics *metricpb.Resou return err } respStr := strings.TrimSpace(respData.String()) - if len(respStr) == 0 { + if respStr == "" { respStr = "(empty)" } bodyErr := fmt.Errorf("body: %s", respStr) @@ -223,7 +223,7 @@ func (c *client) UploadMetrics(ctx context.Context, protoMetrics *metricpb.Resou } var gzPool = sync.Pool{ - New: func() interface{} { + New: func() any { w := gzip.NewWriter(io.Discard) return w }, @@ -235,7 +235,7 @@ func (c *client) newRequest(ctx context.Context, body []byte) (request, error) { switch c.compression { case NoCompression: - r.ContentLength = (int64)(len(body)) + r.ContentLength = int64(len(body)) req.bodyReader = bodyReader(body) case GzipCompression: // Ensure the content length is not used. @@ -316,7 +316,7 @@ func (e retryableError) Unwrap() error { return e.err } -func (e retryableError) As(target interface{}) bool { +func (e retryableError) As(target any) bool { if e.err == nil { return false } diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/exporter.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/exporter.go index 50ac8f86e..292645a38 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/exporter.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/exporter.go @@ -9,12 +9,13 @@ import ( "fmt" "sync" + metricpb "go.opentelemetry.io/proto/otlp/metrics/v1" + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/transform" "go.opentelemetry.io/otel/internal/global" "go.opentelemetry.io/otel/sdk/metric" "go.opentelemetry.io/otel/sdk/metric/metricdata" - metricpb "go.opentelemetry.io/proto/otlp/metrics/v1" ) // Exporter is a OpenTelemetry metric Exporter using protobufs over HTTP. @@ -91,7 +92,7 @@ func (e *Exporter) Export(ctx context.Context, rm *metricdata.ResourceMetrics) e // This method returns an error if the method is canceled by the passed context. // // This method is safe to call concurrently. -func (e *Exporter) ForceFlush(ctx context.Context) error { +func (*Exporter) ForceFlush(ctx context.Context) error { // The exporter and client hold no state, nothing to flush. return ctx.Err() } @@ -119,7 +120,7 @@ var errShutdown = errors.New("HTTP exporter is shutdown") type shutdownClient struct{} -func (c shutdownClient) err(ctx context.Context) error { +func (shutdownClient) err(ctx context.Context) error { if err := ctx.Err(); err != nil { return err } @@ -135,7 +136,7 @@ func (c shutdownClient) Shutdown(ctx context.Context) error { } // MarshalLog returns logging data about the Exporter. -func (e *Exporter) MarshalLog() interface{} { +func (*Exporter) MarshalLog() any { return struct{ Type string }{Type: "OTLP/HTTP"} } diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/version.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/version.go index 1175a6575..b8fe7cb29 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/version.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/version.go @@ -5,5 +5,5 @@ package otlpmetrichttp // import "go.opentelemetry.io/otel/exporters/otlp/otlpme // Version is the current release version of the OpenTelemetry OTLP over HTTP/protobuf metrics exporter in use. func Version() string { - return "1.37.0" + return "1.38.0" } diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/LICENSE b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/LICENSE +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go index 3f0a518ae..30446bd28 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go @@ -94,7 +94,7 @@ func NewUnstarted(client Client) *Exporter { } // MarshalLog is the marshaling function used by the logging system to represent this Exporter. -func (e *Exporter) MarshalLog() interface{} { +func (e *Exporter) MarshalLog() any { return struct { Type string Client Client diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go index ca4544f0d..d9bfd6e17 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go @@ -6,9 +6,10 @@ package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform" import ( + commonpb "go.opentelemetry.io/proto/otlp/common/v1" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk/resource" - commonpb "go.opentelemetry.io/proto/otlp/common/v1" ) // KeyValues transforms a slice of attribute KeyValues into OTLP key-values. diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go index 2e7690e43..43359c894 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go @@ -4,8 +4,9 @@ package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform" import ( - "go.opentelemetry.io/otel/sdk/instrumentation" commonpb "go.opentelemetry.io/proto/otlp/common/v1" + + "go.opentelemetry.io/otel/sdk/instrumentation" ) func InstrumentationScope(il instrumentation.Scope) *commonpb.InstrumentationScope { diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/resource.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/resource.go index db7b698a5..526bb5e07 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/resource.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/resource.go @@ -4,8 +4,9 @@ package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform" import ( - "go.opentelemetry.io/otel/sdk/resource" resourcepb "go.opentelemetry.io/proto/otlp/resource/v1" + + "go.opentelemetry.io/otel/sdk/resource" ) // Resource transforms a Resource into an OTLP Resource. diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go index bf27ef022..379bc8170 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go @@ -6,12 +6,13 @@ package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptr import ( "math" + tracepb "go.opentelemetry.io/proto/otlp/trace/v1" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/sdk/instrumentation" tracesdk "go.opentelemetry.io/otel/sdk/trace" "go.opentelemetry.io/otel/trace" - tracepb "go.opentelemetry.io/proto/otlp/trace/v1" ) // Spans transforms a slice of OpenTelemetry spans into a slice of OTLP @@ -154,7 +155,6 @@ func links(links []tracesdk.Link) []*tracepb.Span_Link { for _, otLink := range links { // This redefinition is necessary to prevent otLink.*ID[:] copies // being reused -- in short we need a new otLink per iteration. - otLink := otLink tid := otLink.SpanContext.TraceID() sid := otLink.SpanContext.SpanID() @@ -189,7 +189,7 @@ func spanEvents(es []tracesdk.Event) []*tracepb.Span_Event { events := make([]*tracepb.Span_Event, len(es)) // Transform message events - for i := 0; i < len(es); i++ { + for i := range es { events[i] = &tracepb.Span_Event{ Name: es[i].Name, TimeUnixNano: uint64(max(0, es[i].Time.UnixNano())), // nolint:gosec // Overflow checked. diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/LICENSE b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/LICENSE +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go index 8236c995a..4b4cc76f4 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go @@ -9,6 +9,8 @@ import ( "sync" "time" + coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" + tracepb "go.opentelemetry.io/proto/otlp/trace/v1" "google.golang.org/genproto/googleapis/rpc/errdetails" "google.golang.org/grpc" "google.golang.org/grpc/codes" @@ -20,8 +22,6 @@ import ( "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry" - coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" - tracepb "go.opentelemetry.io/proto/otlp/trace/v1" ) type client struct { @@ -289,7 +289,7 @@ func throttleDelay(s *status.Status) (bool, time.Duration) { } // MarshalLog is the marshaling function used by the logging system to represent this Client. -func (c *client) MarshalLog() interface{} { +func (c *client) MarshalLog() any { return struct { Type string Endpoint string diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/LICENSE b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/LICENSE +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client.go index 583a8f867..c7b1a5514 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client.go @@ -18,6 +18,8 @@ import ( "sync" "time" + coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" + tracepb "go.opentelemetry.io/proto/otlp/trace/v1" "google.golang.org/protobuf/proto" "go.opentelemetry.io/otel" @@ -25,14 +27,12 @@ import ( "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/retry" - coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" - tracepb "go.opentelemetry.io/proto/otlp/trace/v1" ) const contentTypeProto = "application/x-protobuf" var gzPool = sync.Pool{ - New: func() interface{} { + New: func() any { w := gzip.NewWriter(io.Discard) return w }, @@ -104,7 +104,7 @@ func NewClient(opts ...Option) otlptrace.Client { } // Start does nothing in a HTTP client. -func (d *client) Start(ctx context.Context) error { +func (*client) Start(ctx context.Context) error { // nothing to do select { case <-ctx.Done(): @@ -209,7 +209,7 @@ func (d *client) UploadTraces(ctx context.Context, protoSpans []*tracepb.Resourc return err } respStr := strings.TrimSpace(respData.String()) - if len(respStr) == 0 { + if respStr == "" { respStr = "(empty)" } bodyErr := fmt.Errorf("body: %s", respStr) @@ -230,7 +230,7 @@ func (d *client) UploadTraces(ctx context.Context, protoSpans []*tracepb.Resourc func (d *client) newRequest(body []byte) (request, error) { u := url.URL{Scheme: d.getScheme(), Host: d.cfg.Endpoint, Path: d.cfg.URLPath} - r, err := http.NewRequest(http.MethodPost, u.String(), nil) + r, err := http.NewRequest(http.MethodPost, u.String(), http.NoBody) if err != nil { return request{Request: r}, err } @@ -246,7 +246,7 @@ func (d *client) newRequest(body []byte) (request, error) { req := request{Request: r} switch Compression(d.cfg.Compression) { case NoCompression: - r.ContentLength = (int64)(len(body)) + r.ContentLength = int64(len(body)) req.bodyReader = bodyReader(body) case GzipCompression: // Ensure the content length is not used. @@ -274,7 +274,7 @@ func (d *client) newRequest(body []byte) (request, error) { } // MarshalLog is the marshaling function used by the logging system to represent this Client. -func (d *client) MarshalLog() interface{} { +func (d *client) MarshalLog() any { return struct { Type string Endpoint string @@ -340,7 +340,7 @@ func (e retryableError) Unwrap() error { return e.err } -func (e retryableError) As(target interface{}) bool { +func (e retryableError) As(target any) bool { if e.err == nil { return false } diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go index ed2ddce71..3b79c1a0b 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go @@ -5,5 +5,5 @@ package otlptrace // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace" // Version is the current release version of the OpenTelemetry OTLP trace exporter in use. func Version() string { - return "1.37.0" + return "1.38.0" } diff --git a/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go b/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go index adbca7d34..86d7f4ba0 100644 --- a/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go +++ b/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go @@ -41,22 +41,22 @@ func GetLogger() logr.Logger { // Info prints messages about the general state of the API or SDK. // This should usually be less than 5 messages a minute. -func Info(msg string, keysAndValues ...interface{}) { +func Info(msg string, keysAndValues ...any) { GetLogger().V(4).Info(msg, keysAndValues...) } // Error prints messages about exceptional states of the API or SDK. -func Error(err error, msg string, keysAndValues ...interface{}) { +func Error(err error, msg string, keysAndValues ...any) { GetLogger().Error(err, msg, keysAndValues...) } // Debug prints messages about all internal changes in the API or SDK. -func Debug(msg string, keysAndValues ...interface{}) { +func Debug(msg string, keysAndValues ...any) { GetLogger().V(8).Info(msg, keysAndValues...) } // Warn prints messages about warnings in the API or SDK. // Not an error but is likely more important than an informational event. -func Warn(msg string, keysAndValues ...interface{}) { +func Warn(msg string, keysAndValues ...any) { GetLogger().V(1).Info(msg, keysAndValues...) } diff --git a/vendor/go.opentelemetry.io/otel/internal/global/trace.go b/vendor/go.opentelemetry.io/otel/internal/global/trace.go index 49e4ac4fa..bf5cf3119 100644 --- a/vendor/go.opentelemetry.io/otel/internal/global/trace.go +++ b/vendor/go.opentelemetry.io/otel/internal/global/trace.go @@ -26,6 +26,7 @@ import ( "sync/atomic" "go.opentelemetry.io/auto/sdk" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/trace" diff --git a/vendor/go.opentelemetry.io/otel/metric/LICENSE b/vendor/go.opentelemetry.io/otel/metric/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/metric/LICENSE +++ b/vendor/go.opentelemetry.io/otel/metric/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/propagation/baggage.go b/vendor/go.opentelemetry.io/otel/propagation/baggage.go index ebda5026d..051882602 100644 --- a/vendor/go.opentelemetry.io/otel/propagation/baggage.go +++ b/vendor/go.opentelemetry.io/otel/propagation/baggage.go @@ -20,7 +20,7 @@ type Baggage struct{} var _ TextMapPropagator = Baggage{} // Inject sets baggage key-values from ctx into the carrier. -func (b Baggage) Inject(ctx context.Context, carrier TextMapCarrier) { +func (Baggage) Inject(ctx context.Context, carrier TextMapCarrier) { bStr := baggage.FromContext(ctx).String() if bStr != "" { carrier.Set(baggageHeader, bStr) @@ -30,7 +30,7 @@ func (b Baggage) Inject(ctx context.Context, carrier TextMapCarrier) { // Extract returns a copy of parent with the baggage from the carrier added. // If carrier implements [ValuesGetter] (e.g. [HeaderCarrier]), Values is invoked // for multiple values extraction. Otherwise, Get is called. -func (b Baggage) Extract(parent context.Context, carrier TextMapCarrier) context.Context { +func (Baggage) Extract(parent context.Context, carrier TextMapCarrier) context.Context { if multiCarrier, ok := carrier.(ValuesGetter); ok { return extractMultiBaggage(parent, multiCarrier) } @@ -38,7 +38,7 @@ func (b Baggage) Extract(parent context.Context, carrier TextMapCarrier) context } // Fields returns the keys who's values are set with Inject. -func (b Baggage) Fields() []string { +func (Baggage) Fields() []string { return []string{baggageHeader} } diff --git a/vendor/go.opentelemetry.io/otel/propagation/propagation.go b/vendor/go.opentelemetry.io/otel/propagation/propagation.go index 5c8c26ea2..0a32c59aa 100644 --- a/vendor/go.opentelemetry.io/otel/propagation/propagation.go +++ b/vendor/go.opentelemetry.io/otel/propagation/propagation.go @@ -20,7 +20,7 @@ type TextMapCarrier interface { // must never be done outside of a new major release. // Set stores the key-value pair. - Set(key string, value string) + Set(key, value string) // DO NOT CHANGE: any modification will not be backwards compatible and // must never be done outside of a new major release. @@ -88,7 +88,7 @@ func (hc HeaderCarrier) Values(key string) []string { } // Set stores the key-value pair. -func (hc HeaderCarrier) Set(key string, value string) { +func (hc HeaderCarrier) Set(key, value string) { http.Header(hc).Set(key, value) } diff --git a/vendor/go.opentelemetry.io/otel/propagation/trace_context.go b/vendor/go.opentelemetry.io/otel/propagation/trace_context.go index 6870e316d..6692d2665 100644 --- a/vendor/go.opentelemetry.io/otel/propagation/trace_context.go +++ b/vendor/go.opentelemetry.io/otel/propagation/trace_context.go @@ -36,7 +36,7 @@ var ( ) // Inject injects the trace context from ctx into carrier. -func (tc TraceContext) Inject(ctx context.Context, carrier TextMapCarrier) { +func (TraceContext) Inject(ctx context.Context, carrier TextMapCarrier) { sc := trace.SpanContextFromContext(ctx) if !sc.IsValid() { return @@ -77,7 +77,7 @@ func (tc TraceContext) Extract(ctx context.Context, carrier TextMapCarrier) cont return trace.ContextWithRemoteSpanContext(ctx, sc) } -func (tc TraceContext) extract(carrier TextMapCarrier) trace.SpanContext { +func (TraceContext) extract(carrier TextMapCarrier) trace.SpanContext { h := carrier.Get(traceparentHeader) if h == "" { return trace.SpanContext{} @@ -151,6 +151,6 @@ func extractPart(dst []byte, h *string, n int) bool { } // Fields returns the keys who's values are set with Inject. -func (tc TraceContext) Fields() []string { +func (TraceContext) Fields() []string { return []string{traceparentHeader, tracestateHeader} } diff --git a/vendor/go.opentelemetry.io/otel/sdk/LICENSE b/vendor/go.opentelemetry.io/otel/sdk/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/LICENSE +++ b/vendor/go.opentelemetry.io/otel/sdk/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go b/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go index 68d296cbe..1be472e91 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go +++ b/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go @@ -19,7 +19,7 @@ import ( // to the case-insensitive string value of "true" (i.e. "True" and "TRUE" // will also enable this). var Resource = newFeature("RESOURCE", func(v string) (string, bool) { - if strings.ToLower(v) == "true" { + if strings.EqualFold(v, "true") { return v, true } return "", false @@ -59,7 +59,7 @@ func (f Feature[T]) Lookup() (v T, ok bool) { return f.parse(vRaw) } -// Enabled returns if the feature is enabled. +// Enabled reports whether the feature is enabled. func (f Feature[T]) Enabled() bool { _, ok := f.Lookup() return ok diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE b/vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/config.go b/vendor/go.opentelemetry.io/otel/sdk/metric/config.go index 203cd9d65..c6440a134 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/config.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/config.go @@ -7,6 +7,7 @@ import ( "context" "errors" "os" + "strconv" "strings" "sync" @@ -17,12 +18,15 @@ import ( // config contains configuration options for a MeterProvider. type config struct { - res *resource.Resource - readers []Reader - views []View - exemplarFilter exemplar.Filter + res *resource.Resource + readers []Reader + views []View + exemplarFilter exemplar.Filter + cardinalityLimit int } +const defaultCardinalityLimit = 0 + // readerSignals returns a force-flush and shutdown function for a // MeterProvider to call in their respective options. All Readers c contains // will have their force-flush and shutdown methods unified into returned @@ -69,8 +73,9 @@ func unifyShutdown(funcs []func(context.Context) error) func(context.Context) er // newConfig returns a config configured with options. func newConfig(options []Option) config { conf := config{ - res: resource.Default(), - exemplarFilter: exemplar.TraceBasedFilter, + res: resource.Default(), + exemplarFilter: exemplar.TraceBasedFilter, + cardinalityLimit: cardinalityLimitFromEnv(), } for _, o := range meterProviderOptionsFromEnv() { conf = o.apply(conf) @@ -155,6 +160,21 @@ func WithExemplarFilter(filter exemplar.Filter) Option { }) } +// WithCardinalityLimit sets the cardinality limit for the MeterProvider. +// +// The cardinality limit is the hard limit on the number of metric datapoints +// that can be collected for a single instrument in a single collect cycle. +// +// Setting this to a zero or negative value means no limit is applied. +func WithCardinalityLimit(limit int) Option { + // For backward compatibility, the environment variable `OTEL_GO_X_CARDINALITY_LIMIT` + // can also be used to set this value. + return optionFunc(func(cfg config) config { + cfg.cardinalityLimit = limit + return cfg + }) +} + func meterProviderOptionsFromEnv() []Option { var opts []Option // https://github.com/open-telemetry/opentelemetry-specification/blob/d4b241f451674e8f611bb589477680341006ad2b/specification/configuration/sdk-environment-variables.md#exemplar @@ -170,3 +190,17 @@ func meterProviderOptionsFromEnv() []Option { } return opts } + +func cardinalityLimitFromEnv() int { + const cardinalityLimitKey = "OTEL_GO_X_CARDINALITY_LIMIT" + v := strings.TrimSpace(os.Getenv(cardinalityLimitKey)) + if v == "" { + return defaultCardinalityLimit + } + n, err := strconv.Atoi(v) + if err != nil { + otel.Handle(err) + return defaultCardinalityLimit + } + return n +} diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/doc.go b/vendor/go.opentelemetry.io/otel/sdk/metric/doc.go index 90a4ae16c..0f3b9d623 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/doc.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/doc.go @@ -39,6 +39,30 @@ // Meter.RegisterCallback and Registration.Unregister to add and remove // callbacks without leaking memory. // +// # Cardinality Limits +// +// Cardinality refers to the number of unique attributes collected. High cardinality can lead to +// excessive memory usage, increased storage costs, and backend performance issues. +// +// Currently, the OpenTelemetry Go Metric SDK does not enforce a cardinality limit by default +// (note that this may change in a future release). Use [WithCardinalityLimit] to set the +// cardinality limit as desired. +// +// New attribute sets are dropped when the cardinality limit is reached. The measurement of +// these sets are aggregated into +// a special attribute set containing attribute.Bool("otel.metric.overflow", true). +// This ensures total metric values (e.g., Sum, Count) remain correct for the +// collection cycle, but information about the specific dropped sets +// is not preserved. +// +// Recommendations: +// +// - Set the limit based on the theoretical maximum combinations or expected +// active combinations. The OpenTelemetry Specification recommends a default of 2000. +// - A too high of a limit increases worst-case memory overhead in the SDK and may cause downstream +// issues for databases that cannot handle high cardinality. +// - A too low of a limit causes loss of attribute detail as more data falls into overflow. +// // See [go.opentelemetry.io/otel/metric] for more information about // the metric API. // diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar.go b/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar.go index 549d3bd5f..38b8745e6 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar.go @@ -58,10 +58,7 @@ func DefaultExemplarReservoirProviderSelector(agg Aggregation) exemplar.Reservoi // SimpleFixedSizeExemplarReservoir with a reservoir equal to the // smaller of the maximum number of buckets configured on the // aggregation or twenty (e.g. min(20, max_buckets)). - n = int(a.MaxSize) - if n > 20 { - n = 20 - } + n = min(int(a.MaxSize), 20) } else { // https://github.com/open-telemetry/opentelemetry-specification/blob/e94af89e3d0c01de30127a0f423e912f6cda7bed/specification/metrics/sdk.md#simplefixedsizeexemplarreservoir // This Exemplar reservoir MAY take a configuration parameter for @@ -69,11 +66,11 @@ func DefaultExemplarReservoirProviderSelector(agg Aggregation) exemplar.Reservoi // provided, the default size MAY be the number of possible // concurrent threads (e.g. number of CPUs) to help reduce // contention. Otherwise, a default size of 1 SHOULD be used. - n = runtime.NumCPU() - if n < 1 { - // Should never be the case, but be defensive. - n = 1 - } + // + // Use runtime.GOMAXPROCS instead of runtime.NumCPU to support + // containerized environments that may have less than the total number + // of logical CPUs available on the local machine allocated to it. + n = max(runtime.GOMAXPROCS(0), 1) } return exemplar.FixedSizeReservoirProvider(n) diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/filter.go b/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/filter.go index b595e2ace..b50f5c153 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/filter.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/filter.go @@ -24,11 +24,11 @@ func TraceBasedFilter(ctx context.Context) bool { } // AlwaysOnFilter is a [Filter] that always offers measurements. -func AlwaysOnFilter(ctx context.Context) bool { +func AlwaysOnFilter(context.Context) bool { return true } // AlwaysOffFilter is a [Filter] that never offers measurements. -func AlwaysOffFilter(ctx context.Context) bool { +func AlwaysOffFilter(context.Context) bool { return false } diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/fixed_size_reservoir.go b/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/fixed_size_reservoir.go index 1fb1e0095..08e8f68fe 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/fixed_size_reservoir.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/fixed_size_reservoir.go @@ -14,7 +14,7 @@ import ( // FixedSizeReservoirProvider returns a provider of [FixedSizeReservoir]. func FixedSizeReservoirProvider(k int) ReservoirProvider { - return func(_ attribute.Set) Reservoir { + return func(attribute.Set) Reservoir { return NewFixedSizeReservoir(k) } } @@ -56,7 +56,7 @@ func newFixedSizeReservoir(s *storage) *FixedSizeReservoir { // randomFloat64 returns, as a float64, a uniform pseudo-random number in the // open interval (0.0,1.0). -func (r *FixedSizeReservoir) randomFloat64() float64 { +func (*FixedSizeReservoir) randomFloat64() float64 { // TODO: Use an algorithm that avoids rejection sampling. For example: // // const precision = 1 << 53 // 2^53 @@ -125,13 +125,11 @@ func (r *FixedSizeReservoir) Offer(ctx context.Context, t time.Time, n Value, a if int(r.count) < cap(r.store) { r.store[r.count] = newMeasurement(ctx, t, n, a) - } else { - if r.count == r.next { - // Overwrite a random existing measurement with the one offered. - idx := int(rand.Int64N(int64(cap(r.store)))) - r.store[idx] = newMeasurement(ctx, t, n, a) - r.advance() - } + } else if r.count == r.next { + // Overwrite a random existing measurement with the one offered. + idx := int(rand.Int64N(int64(cap(r.store)))) + r.store[idx] = newMeasurement(ctx, t, n, a) + r.advance() } r.count++ } diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/histogram_reservoir.go b/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/histogram_reservoir.go index 3b76cf305..decab613e 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/histogram_reservoir.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/histogram_reservoir.go @@ -16,7 +16,7 @@ import ( func HistogramReservoirProvider(bounds []float64) ReservoirProvider { cp := slices.Clone(bounds) slices.Sort(cp) - return func(_ attribute.Set) Reservoir { + return func(attribute.Set) Reservoir { return NewHistogramReservoir(cp) } } diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/instrument.go b/vendor/go.opentelemetry.io/otel/sdk/metric/instrument.go index 18891ed5b..63cccc508 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/instrument.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/instrument.go @@ -75,7 +75,7 @@ type Instrument struct { nonComparable // nolint: unused } -// IsEmpty returns if all Instrument fields are their zero-value. +// IsEmpty reports whether all Instrument fields are their zero-value. func (i Instrument) IsEmpty() bool { return i.Name == "" && i.Description == "" && @@ -204,7 +204,7 @@ func (i *int64Inst) Record(ctx context.Context, val int64, opts ...metric.Record i.aggregate(ctx, val, c.Attributes()) } -func (i *int64Inst) Enabled(_ context.Context) bool { +func (i *int64Inst) Enabled(context.Context) bool { return len(i.measures) != 0 } @@ -245,7 +245,7 @@ func (i *float64Inst) Record(ctx context.Context, val float64, opts ...metric.Re i.aggregate(ctx, val, c.Attributes()) } -func (i *float64Inst) Enabled(_ context.Context) bool { +func (i *float64Inst) Enabled(context.Context) bool { return len(i.measures) != 0 } diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/drop.go b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/drop.go index 8396faaa4..129920cbd 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/drop.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/drop.go @@ -18,10 +18,10 @@ func dropReservoir[N int64 | float64](attribute.Set) FilteredExemplarReservoir[N type dropRes[N int64 | float64] struct{} // Offer does nothing, all measurements offered will be dropped. -func (r *dropRes[N]) Offer(context.Context, N, []attribute.KeyValue) {} +func (*dropRes[N]) Offer(context.Context, N, []attribute.KeyValue) {} // Collect resets dest. No exemplars will ever be returned. -func (r *dropRes[N]) Collect(dest *[]exemplar.Exemplar) { +func (*dropRes[N]) Collect(dest *[]exemplar.Exemplar) { clear(*dest) // Erase elements to let GC collect objects *dest = (*dest)[:0] } diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go index ae1f59344..857eddf30 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go @@ -183,8 +183,8 @@ func (p *expoHistogramDataPoint[N]) scaleChange(bin, startBin int32, length int) var count int32 for high-low >= p.maxSize { - low = low >> 1 - high = high >> 1 + low >>= 1 + high >>= 1 count++ if count > expoMaxScale-expoMinScale { return count @@ -225,7 +225,7 @@ func (b *expoBuckets) record(bin int32) { b.counts = append(b.counts, make([]uint64, newLength-len(b.counts))...) } - copy(b.counts[shift:origLen+int(shift)], b.counts[:]) + copy(b.counts[shift:origLen+int(shift)], b.counts) b.counts = b.counts[:newLength] for i := 1; i < int(shift); i++ { b.counts[i] = 0 @@ -264,7 +264,7 @@ func (b *expoBuckets) downscale(delta int32) { // new Counts: [4, 14, 30, 10] if len(b.counts) <= 1 || delta < 1 { - b.startBin = b.startBin >> delta + b.startBin >>= delta return } @@ -282,7 +282,7 @@ func (b *expoBuckets) downscale(delta int32) { lastIdx := (len(b.counts) - 1 + int(offset)) / int(steps) b.counts = b.counts[:lastIdx+1] - b.startBin = b.startBin >> delta + b.startBin >>= delta } // newExponentialHistogram returns an Aggregator that summarizes a set of @@ -350,7 +350,9 @@ func (e *expoHistogram[N]) measure( v.res.Offer(ctx, value, droppedAttr) } -func (e *expoHistogram[N]) delta(dest *metricdata.Aggregation) int { +func (e *expoHistogram[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.ExponentialHistogram, memory reuse is missed. @@ -411,7 +413,9 @@ func (e *expoHistogram[N]) delta(dest *metricdata.Aggregation) int { return n } -func (e *expoHistogram[N]) cumulative(dest *metricdata.Aggregation) int { +func (e *expoHistogram[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.ExponentialHistogram, memory reuse is missed. diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go index d3068484c..736287e73 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go @@ -140,7 +140,9 @@ type histogram[N int64 | float64] struct { start time.Time } -func (s *histogram[N]) delta(dest *metricdata.Aggregation) int { +func (s *histogram[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Histogram, memory reuse is missed. In that @@ -190,7 +192,9 @@ func (s *histogram[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *histogram[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *histogram[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Histogram, memory reuse is missed. In that diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go index 350ccebdc..4bbe624c7 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go @@ -55,7 +55,9 @@ func (s *lastValue[N]) measure(ctx context.Context, value N, fltrAttr attribute. s.values[attr.Equivalent()] = d } -func (s *lastValue[N]) delta(dest *metricdata.Aggregation) int { +func (s *lastValue[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // Ignore if dest is not a metricdata.Gauge. The chance for memory reuse of // the DataPoints is missed (better luck next time). @@ -75,7 +77,9 @@ func (s *lastValue[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *lastValue[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *lastValue[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // Ignore if dest is not a metricdata.Gauge. The chance for memory reuse of // the DataPoints is missed (better luck next time). @@ -126,7 +130,9 @@ type precomputedLastValue[N int64 | float64] struct { *lastValue[N] } -func (s *precomputedLastValue[N]) delta(dest *metricdata.Aggregation) int { +func (s *precomputedLastValue[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // Ignore if dest is not a metricdata.Gauge. The chance for memory reuse of // the DataPoints is missed (better luck next time). @@ -146,7 +152,9 @@ func (s *precomputedLastValue[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *precomputedLastValue[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *precomputedLastValue[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // Ignore if dest is not a metricdata.Gauge. The chance for memory reuse of // the DataPoints is missed (better luck next time). diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go index 612cde432..1b4b2304c 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go @@ -70,7 +70,9 @@ type sum[N int64 | float64] struct { start time.Time } -func (s *sum[N]) delta(dest *metricdata.Aggregation) int { +func (s *sum[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Sum, memory reuse is missed. In that case, @@ -105,7 +107,9 @@ func (s *sum[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *sum[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *sum[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Sum, memory reuse is missed. In that case, @@ -165,7 +169,9 @@ type precomputedSum[N int64 | float64] struct { reported map[attribute.Distinct]N } -func (s *precomputedSum[N]) delta(dest *metricdata.Aggregation) int { +func (s *precomputedSum[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() newReported := make(map[attribute.Distinct]N) @@ -206,7 +212,9 @@ func (s *precomputedSum[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *precomputedSum[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *precomputedSum[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Sum, memory reuse is missed. In that case, diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/README.md b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/README.md index 59f736b73..be0714a5f 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/README.md +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/README.md @@ -1,47 +1,16 @@ # Experimental Features -The metric SDK contains features that have not yet stabilized in the OpenTelemetry specification. -These features are added to the OpenTelemetry Go metric SDK prior to stabilization in the specification so that users can start experimenting with them and provide feedback. +The Metric SDK contains features that have not yet stabilized in the OpenTelemetry specification. +These features are added to the OpenTelemetry Go Metric SDK prior to stabilization in the specification so that users can start experimenting with them and provide feedback. These feature may change in backwards incompatible ways as feedback is applied. See the [Compatibility and Stability](#compatibility-and-stability) section for more information. ## Features -- [Cardinality Limit](#cardinality-limit) - [Exemplars](#exemplars) - [Instrument Enabled](#instrument-enabled) -### Cardinality Limit - -The cardinality limit is the hard limit on the number of metric streams that can be collected for a single instrument. - -This experimental feature can be enabled by setting the `OTEL_GO_X_CARDINALITY_LIMIT` environment value. -The value must be an integer value. -All other values are ignored. - -If the value set is less than or equal to `0`, no limit will be applied. - -#### Examples - -Set the cardinality limit to 2000. - -```console -export OTEL_GO_X_CARDINALITY_LIMIT=2000 -``` - -Set an infinite cardinality limit (functionally equivalent to disabling the feature). - -```console -export OTEL_GO_X_CARDINALITY_LIMIT=-1 -``` - -Disable the cardinality limit. - -```console -unset OTEL_GO_X_CARDINALITY_LIMIT -``` - ### Exemplars A sample of measurements made may be exported directly as a set of exemplars. diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/x.go b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/x.go index a98606238..294dcf846 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/x.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/x.go @@ -10,25 +10,8 @@ package x // import "go.opentelemetry.io/otel/sdk/metric/internal/x" import ( "context" "os" - "strconv" ) -// CardinalityLimit is an experimental feature flag that defines if -// cardinality limits should be applied to the recorded metric data-points. -// -// To enable this feature set the OTEL_GO_X_CARDINALITY_LIMIT environment -// variable to the integer limit value you want to use. -// -// Setting OTEL_GO_X_CARDINALITY_LIMIT to a value less than or equal to 0 -// will disable the cardinality limits. -var CardinalityLimit = newFeature("CARDINALITY_LIMIT", func(v string) (int, bool) { - n, err := strconv.Atoi(v) - if err != nil { - return 0, false - } - return n, true -}) - // Feature is an experimental feature control flag. It provides a uniform way // to interact with these feature flags and parse their values. type Feature[T any] struct { @@ -36,6 +19,7 @@ type Feature[T any] struct { parse func(v string) (T, bool) } +//nolint:unused func newFeature[T any](suffix string, parse func(string) (T, bool)) Feature[T] { const envKeyRoot = "OTEL_GO_X_" return Feature[T]{ @@ -63,7 +47,7 @@ func (f Feature[T]) Lookup() (v T, ok bool) { return f.parse(vRaw) } -// Enabled returns if the feature is enabled. +// Enabled reports whether the feature is enabled. func (f Feature[T]) Enabled() bool { _, ok := f.Lookup() return ok @@ -73,7 +57,7 @@ func (f Feature[T]) Enabled() bool { // // EnabledInstrument interface is implemented by synchronous instruments. type EnabledInstrument interface { - // Enabled returns whether the instrument will process measurements for the given context. + // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go b/vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go index 96e779086..85d3dc207 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go @@ -129,7 +129,7 @@ func (mr *ManualReader) Collect(ctx context.Context, rm *metricdata.ResourceMetr } // MarshalLog returns logging data about the ManualReader. -func (r *ManualReader) MarshalLog() interface{} { +func (r *ManualReader) MarshalLog() any { r.mu.Lock() down := r.isShutdown r.mu.Unlock() diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/meter.go b/vendor/go.opentelemetry.io/otel/sdk/metric/meter.go index c500fd9f2..e0a1e90e7 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/meter.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/meter.go @@ -12,7 +12,6 @@ import ( "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/metric/embedded" "go.opentelemetry.io/otel/sdk/instrumentation" - "go.opentelemetry.io/otel/sdk/metric/internal/aggregate" ) @@ -423,7 +422,7 @@ func (m *meter) Float64ObservableGauge( } func validateInstrumentName(name string) error { - if len(name) == 0 { + if name == "" { return fmt.Errorf("%w: %s: is empty", ErrInstrumentName, name) } if len(name) > 255 { diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go b/vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go index 0a48aed74..f08c771a6 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go @@ -114,7 +114,7 @@ func NewPeriodicReader(exporter Exporter, options ...PeriodicReaderOption) *Peri cancel: cancel, done: make(chan struct{}), rmPool: sync.Pool{ - New: func() interface{} { + New: func() any { return &metricdata.ResourceMetrics{} }, }, @@ -234,7 +234,7 @@ func (r *PeriodicReader) Collect(ctx context.Context, rm *metricdata.ResourceMet } // collect unwraps p as a produceHolder and returns its produce results. -func (r *PeriodicReader) collect(ctx context.Context, p interface{}, rm *metricdata.ResourceMetrics) error { +func (r *PeriodicReader) collect(ctx context.Context, p any, rm *metricdata.ResourceMetrics) error { if p == nil { return ErrReaderNotRegistered } @@ -349,7 +349,7 @@ func (r *PeriodicReader) Shutdown(ctx context.Context) error { } // MarshalLog returns logging data about the PeriodicReader. -func (r *PeriodicReader) MarshalLog() interface{} { +func (r *PeriodicReader) MarshalLog() any { r.mu.Lock() down := r.isShutdown r.mu.Unlock() diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go b/vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go index 7bdb699ca..408fddc8d 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go @@ -17,7 +17,6 @@ import ( "go.opentelemetry.io/otel/sdk/metric/exemplar" "go.opentelemetry.io/otel/sdk/metric/internal" "go.opentelemetry.io/otel/sdk/metric/internal/aggregate" - "go.opentelemetry.io/otel/sdk/metric/internal/x" "go.opentelemetry.io/otel/sdk/metric/metricdata" "go.opentelemetry.io/otel/sdk/resource" ) @@ -37,17 +36,24 @@ type instrumentSync struct { compAgg aggregate.ComputeAggregation } -func newPipeline(res *resource.Resource, reader Reader, views []View, exemplarFilter exemplar.Filter) *pipeline { +func newPipeline( + res *resource.Resource, + reader Reader, + views []View, + exemplarFilter exemplar.Filter, + cardinalityLimit int, +) *pipeline { if res == nil { res = resource.Empty() } return &pipeline{ - resource: res, - reader: reader, - views: views, - int64Measures: map[observableID[int64]][]aggregate.Measure[int64]{}, - float64Measures: map[observableID[float64]][]aggregate.Measure[float64]{}, - exemplarFilter: exemplarFilter, + resource: res, + reader: reader, + views: views, + int64Measures: map[observableID[int64]][]aggregate.Measure[int64]{}, + float64Measures: map[observableID[float64]][]aggregate.Measure[float64]{}, + exemplarFilter: exemplarFilter, + cardinalityLimit: cardinalityLimit, // aggregations is lazy allocated when needed. } } @@ -65,12 +71,13 @@ type pipeline struct { views []View sync.Mutex - int64Measures map[observableID[int64]][]aggregate.Measure[int64] - float64Measures map[observableID[float64]][]aggregate.Measure[float64] - aggregations map[instrumentation.Scope][]instrumentSync - callbacks []func(context.Context) error - multiCallbacks list.List - exemplarFilter exemplar.Filter + int64Measures map[observableID[int64]][]aggregate.Measure[int64] + float64Measures map[observableID[float64]][]aggregate.Measure[float64] + aggregations map[instrumentation.Scope][]instrumentSync + callbacks []func(context.Context) error + multiCallbacks list.List + exemplarFilter exemplar.Filter + cardinalityLimit int } // addInt64Measure adds a new int64 measure to the pipeline for each observer. @@ -388,10 +395,9 @@ func (i *inserter[N]) cachedAggregator( b.Filter = stream.AttributeFilter // A value less than or equal to zero will disable the aggregation // limits for the builder (an all the created aggregates). - // CardinalityLimit.Lookup returns 0 by default if unset (or + // cardinalityLimit will be 0 by default if unset (or // unrecognized input). Use that value directly. - b.AggregationLimit, _ = x.CardinalityLimit.Lookup() - + b.AggregationLimit = i.pipeline.cardinalityLimit in, out, err := i.aggregateFunc(b, stream.Aggregation, kind) if err != nil { return aggVal[N]{0, nil, err} @@ -426,7 +432,7 @@ func (i *inserter[N]) logConflict(id instID) { } const msg = "duplicate metric stream definitions" - args := []interface{}{ + args := []any{ "names", fmt.Sprintf("%q, %q", existing.Name, id.Name), "descriptions", fmt.Sprintf("%q, %q", existing.Description, id.Description), "kinds", fmt.Sprintf("%s, %s", existing.Kind, id.Kind), @@ -460,7 +466,7 @@ func (i *inserter[N]) logConflict(id instID) { global.Warn(msg, args...) } -func (i *inserter[N]) instID(kind InstrumentKind, stream Stream) instID { +func (*inserter[N]) instID(kind InstrumentKind, stream Stream) instID { var zero N return instID{ Name: stream.Name, @@ -590,10 +596,16 @@ func isAggregatorCompatible(kind InstrumentKind, agg Aggregation) error { // measurement. type pipelines []*pipeline -func newPipelines(res *resource.Resource, readers []Reader, views []View, exemplarFilter exemplar.Filter) pipelines { +func newPipelines( + res *resource.Resource, + readers []Reader, + views []View, + exemplarFilter exemplar.Filter, + cardinalityLimit int, +) pipelines { pipes := make([]*pipeline, 0, len(readers)) for _, r := range readers { - p := newPipeline(res, r, views, exemplarFilter) + p := newPipeline(res, r, views, exemplarFilter, cardinalityLimit) r.register(p) pipes = append(pipes, p) } diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/provider.go b/vendor/go.opentelemetry.io/otel/sdk/metric/provider.go index 2fca89e5a..b0a6ec580 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/provider.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/provider.go @@ -42,7 +42,7 @@ func NewMeterProvider(options ...Option) *MeterProvider { flush, sdown := conf.readerSignals() mp := &MeterProvider{ - pipes: newPipelines(conf.res, conf.readers, conf.views, conf.exemplarFilter), + pipes: newPipelines(conf.res, conf.readers, conf.views, conf.exemplarFilter, conf.cardinalityLimit), forceFlush: flush, shutdown: sdown, } diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/reader.go b/vendor/go.opentelemetry.io/otel/sdk/metric/reader.go index c96e500a2..5c1cea825 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/reader.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/reader.go @@ -117,7 +117,7 @@ type produceHolder struct { type shutdownProducer struct{} // produce returns an ErrReaderShutdown error. -func (p shutdownProducer) produce(context.Context, *metricdata.ResourceMetrics) error { +func (shutdownProducer) produce(context.Context, *metricdata.ResourceMetrics) error { return ErrReaderShutdown } diff --git a/vendor/go.opentelemetry.io/otel/sdk/metric/version.go b/vendor/go.opentelemetry.io/otel/sdk/metric/version.go index 0e5adc1a7..dd9051a76 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/metric/version.go +++ b/vendor/go.opentelemetry.io/otel/sdk/metric/version.go @@ -5,5 +5,5 @@ package metric // import "go.opentelemetry.io/otel/sdk/metric" // version is the current release version of the metric SDK in use. func version() string { - return "1.37.0" + return "1.38.0" } diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go b/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go index cefe4ab91..3f20eb7a5 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type ( @@ -72,7 +72,7 @@ func StringDetector(schemaURL string, k attribute.Key, f func() (string, error)) // Detect returns a *Resource that describes the string as a value // corresponding to attribute.Key as well as the specific schemaURL. -func (sd stringDetector) Detect(ctx context.Context) (*Resource, error) { +func (sd stringDetector) Detect(context.Context) (*Resource, error) { value, err := sd.F() if err != nil { return nil, fmt.Errorf("%s: %w", string(sd.K), err) diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/container.go b/vendor/go.opentelemetry.io/otel/sdk/resource/container.go index 0d8619715..bbe142d20 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/container.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/container.go @@ -11,7 +11,7 @@ import ( "os" "regexp" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type containerIDProvider func() (string, error) @@ -27,7 +27,7 @@ const cgroupPath = "/proc/self/cgroup" // Detect returns a *Resource that describes the id of the container. // If no container id found, an empty resource will be returned. -func (cgroupContainerIDDetector) Detect(ctx context.Context) (*Resource, error) { +func (cgroupContainerIDDetector) Detect(context.Context) (*Resource, error) { containerID, err := containerID() if err != nil { return nil, err diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/env.go b/vendor/go.opentelemetry.io/otel/sdk/resource/env.go index 16a062ad8..4a1b017ee 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/env.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/env.go @@ -12,7 +12,7 @@ import ( "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) const ( diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go index 781903923..5fed33d4f 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go @@ -8,7 +8,7 @@ import ( "errors" "strings" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type hostIDProvider func() (string, error) @@ -96,7 +96,7 @@ func (r *hostIDReaderLinux) read() (string, error) { type hostIDDetector struct{} // Detect returns a *Resource containing the platform specific host id. -func (hostIDDetector) Detect(ctx context.Context) (*Resource, error) { +func (hostIDDetector) Detect(context.Context) (*Resource, error) { hostID, err := hostID() if err != nil { return nil, err diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/os.go b/vendor/go.opentelemetry.io/otel/sdk/resource/os.go index 01b4d27a0..51da76e80 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/os.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/os.go @@ -8,7 +8,7 @@ import ( "strings" "go.opentelemetry.io/otel/attribute" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type osDescriptionProvider func() (string, error) @@ -32,7 +32,7 @@ type ( // Detect returns a *Resource that describes the operating system type the // service is running on. -func (osTypeDetector) Detect(ctx context.Context) (*Resource, error) { +func (osTypeDetector) Detect(context.Context) (*Resource, error) { osType := runtimeOS() osTypeAttribute := mapRuntimeOSToSemconvOSType(osType) @@ -45,7 +45,7 @@ func (osTypeDetector) Detect(ctx context.Context) (*Resource, error) { // Detect returns a *Resource that describes the operating system the // service is running on. -func (osDescriptionDetector) Detect(ctx context.Context) (*Resource, error) { +func (osDescriptionDetector) Detect(context.Context) (*Resource, error) { description, err := osDescription() if err != nil { return nil, err diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go b/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go index f537e5ca5..7252af79f 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go @@ -63,12 +63,12 @@ func parseOSReleaseFile(file io.Reader) map[string]string { return values } -// skip returns true if the line is blank or starts with a '#' character, and +// skip reports whether the line is blank or starts with a '#' character, and // therefore should be skipped from processing. func skip(line string) bool { line = strings.TrimSpace(line) - return len(line) == 0 || strings.HasPrefix(line, "#") + return line == "" || strings.HasPrefix(line, "#") } // parse attempts to split the provided line on the first '=' character, and then @@ -76,7 +76,7 @@ func skip(line string) bool { func parse(line string) (string, string, bool) { k, v, found := strings.Cut(line, "=") - if !found || len(k) == 0 { + if !found || k == "" { return "", "", false } diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/process.go b/vendor/go.opentelemetry.io/otel/sdk/resource/process.go index 6712ce80d..138e57721 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/process.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/process.go @@ -11,7 +11,7 @@ import ( "path/filepath" "runtime" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type ( @@ -112,19 +112,19 @@ type ( // Detect returns a *Resource that describes the process identifier (PID) of the // executing process. -func (processPIDDetector) Detect(ctx context.Context) (*Resource, error) { +func (processPIDDetector) Detect(context.Context) (*Resource, error) { return NewWithAttributes(semconv.SchemaURL, semconv.ProcessPID(pid())), nil } // Detect returns a *Resource that describes the name of the process executable. -func (processExecutableNameDetector) Detect(ctx context.Context) (*Resource, error) { +func (processExecutableNameDetector) Detect(context.Context) (*Resource, error) { executableName := filepath.Base(commandArgs()[0]) return NewWithAttributes(semconv.SchemaURL, semconv.ProcessExecutableName(executableName)), nil } // Detect returns a *Resource that describes the full path of the process executable. -func (processExecutablePathDetector) Detect(ctx context.Context) (*Resource, error) { +func (processExecutablePathDetector) Detect(context.Context) (*Resource, error) { executablePath, err := executablePath() if err != nil { return nil, err @@ -135,13 +135,13 @@ func (processExecutablePathDetector) Detect(ctx context.Context) (*Resource, err // Detect returns a *Resource that describes all the command arguments as received // by the process. -func (processCommandArgsDetector) Detect(ctx context.Context) (*Resource, error) { +func (processCommandArgsDetector) Detect(context.Context) (*Resource, error) { return NewWithAttributes(semconv.SchemaURL, semconv.ProcessCommandArgs(commandArgs()...)), nil } // Detect returns a *Resource that describes the username of the user that owns the // process. -func (processOwnerDetector) Detect(ctx context.Context) (*Resource, error) { +func (processOwnerDetector) Detect(context.Context) (*Resource, error) { owner, err := owner() if err != nil { return nil, err @@ -152,17 +152,17 @@ func (processOwnerDetector) Detect(ctx context.Context) (*Resource, error) { // Detect returns a *Resource that describes the name of the compiler used to compile // this process image. -func (processRuntimeNameDetector) Detect(ctx context.Context) (*Resource, error) { +func (processRuntimeNameDetector) Detect(context.Context) (*Resource, error) { return NewWithAttributes(semconv.SchemaURL, semconv.ProcessRuntimeName(runtimeName())), nil } // Detect returns a *Resource that describes the version of the runtime of this process. -func (processRuntimeVersionDetector) Detect(ctx context.Context) (*Resource, error) { +func (processRuntimeVersionDetector) Detect(context.Context) (*Resource, error) { return NewWithAttributes(semconv.SchemaURL, semconv.ProcessRuntimeVersion(runtimeVersion())), nil } // Detect returns a *Resource that describes the runtime of this process. -func (processRuntimeDescriptionDetector) Detect(ctx context.Context) (*Resource, error) { +func (processRuntimeDescriptionDetector) Detect(context.Context) (*Resource, error) { runtimeDescription := fmt.Sprintf( "go version %s %s/%s", runtimeVersion(), runtimeOS(), runtimeArch()) diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go b/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go index 09b91e1e1..28e1e4f7e 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go @@ -112,7 +112,7 @@ func (r *Resource) String() string { } // MarshalLog is the marshaling function used by the logging system to represent this Resource. -func (r *Resource) MarshalLog() interface{} { +func (r *Resource) MarshalLog() any { return struct { Attributes attribute.Set SchemaURL string @@ -148,7 +148,7 @@ func (r *Resource) Iter() attribute.Iterator { return r.attrs.Iter() } -// Equal returns whether r and o represent the same resource. Two resources can +// Equal reports whether r and o represent the same resource. Two resources can // be equal even if they have different schema URLs. // // See the documentation on the [Resource] type for the pitfalls of using == diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go b/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go index 6966ed861..9bc3e525d 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go @@ -6,24 +6,35 @@ package trace // import "go.opentelemetry.io/otel/sdk/trace" import ( "context" "errors" + "fmt" "sync" "sync/atomic" "time" "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/internal/global" + "go.opentelemetry.io/otel/metric" + "go.opentelemetry.io/otel/sdk" "go.opentelemetry.io/otel/sdk/internal/env" + "go.opentelemetry.io/otel/sdk/trace/internal/x" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" + "go.opentelemetry.io/otel/semconv/v1.37.0/otelconv" "go.opentelemetry.io/otel/trace" ) // Defaults for BatchSpanProcessorOptions. const ( - DefaultMaxQueueSize = 2048 - DefaultScheduleDelay = 5000 + DefaultMaxQueueSize = 2048 + // DefaultScheduleDelay is the delay interval between two consecutive exports, in milliseconds. + DefaultScheduleDelay = 5000 + // DefaultExportTimeout is the duration after which an export is cancelled, in milliseconds. DefaultExportTimeout = 30000 DefaultMaxExportBatchSize = 512 ) +var queueFull = otelconv.ErrorTypeAttr("queue_full") + // BatchSpanProcessorOption configures a BatchSpanProcessor. type BatchSpanProcessorOption func(o *BatchSpanProcessorOptions) @@ -67,6 +78,11 @@ type batchSpanProcessor struct { queue chan ReadOnlySpan dropped uint32 + selfObservabilityEnabled bool + callbackRegistration metric.Registration + spansProcessedCounter otelconv.SDKProcessorSpanProcessed + componentNameAttr attribute.KeyValue + batch []ReadOnlySpan batchMutex sync.Mutex timer *time.Timer @@ -87,11 +103,7 @@ func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorO maxExportBatchSize := env.BatchSpanProcessorMaxExportBatchSize(DefaultMaxExportBatchSize) if maxExportBatchSize > maxQueueSize { - if DefaultMaxExportBatchSize > maxQueueSize { - maxExportBatchSize = maxQueueSize - } else { - maxExportBatchSize = DefaultMaxExportBatchSize - } + maxExportBatchSize = min(DefaultMaxExportBatchSize, maxQueueSize) } o := BatchSpanProcessorOptions{ @@ -112,6 +124,21 @@ func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorO stopCh: make(chan struct{}), } + if x.SelfObservability.Enabled() { + bsp.selfObservabilityEnabled = true + bsp.componentNameAttr = componentName() + + var err error + bsp.spansProcessedCounter, bsp.callbackRegistration, err = newBSPObs( + bsp.componentNameAttr, + func() int64 { return int64(len(bsp.queue)) }, + int64(bsp.o.MaxQueueSize), + ) + if err != nil { + otel.Handle(err) + } + } + bsp.stopWait.Add(1) go func() { defer bsp.stopWait.Done() @@ -122,8 +149,61 @@ func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorO return bsp } +var processorIDCounter atomic.Int64 + +// nextProcessorID returns an identifier for this batch span processor, +// starting with 0 and incrementing by 1 each time it is called. +func nextProcessorID() int64 { + return processorIDCounter.Add(1) - 1 +} + +func componentName() attribute.KeyValue { + id := nextProcessorID() + name := fmt.Sprintf("%s/%d", otelconv.ComponentTypeBatchingSpanProcessor, id) + return semconv.OTelComponentName(name) +} + +// newBSPObs creates and returns a new set of metrics instruments and a +// registration for a BatchSpanProcessor. It is the caller's responsibility +// to unregister the registration when it is no longer needed. +func newBSPObs( + cmpnt attribute.KeyValue, + qLen func() int64, + qMax int64, +) (otelconv.SDKProcessorSpanProcessed, metric.Registration, error) { + meter := otel.GetMeterProvider().Meter( + selfObsScopeName, + metric.WithInstrumentationVersion(sdk.Version()), + metric.WithSchemaURL(semconv.SchemaURL), + ) + + qCap, err := otelconv.NewSDKProcessorSpanQueueCapacity(meter) + + qSize, e := otelconv.NewSDKProcessorSpanQueueSize(meter) + err = errors.Join(err, e) + + spansProcessed, e := otelconv.NewSDKProcessorSpanProcessed(meter) + err = errors.Join(err, e) + + cmpntT := semconv.OTelComponentTypeBatchingSpanProcessor + attrs := metric.WithAttributes(cmpnt, cmpntT) + + reg, e := meter.RegisterCallback( + func(_ context.Context, o metric.Observer) error { + o.ObserveInt64(qSize.Inst(), qLen(), attrs) + o.ObserveInt64(qCap.Inst(), qMax, attrs) + return nil + }, + qSize.Inst(), + qCap.Inst(), + ) + err = errors.Join(err, e) + + return spansProcessed, reg, err +} + // OnStart method does nothing. -func (bsp *batchSpanProcessor) OnStart(parent context.Context, s ReadWriteSpan) {} +func (*batchSpanProcessor) OnStart(context.Context, ReadWriteSpan) {} // OnEnd method enqueues a ReadOnlySpan for later processing. func (bsp *batchSpanProcessor) OnEnd(s ReadOnlySpan) { @@ -162,6 +242,9 @@ func (bsp *batchSpanProcessor) Shutdown(ctx context.Context) error { case <-ctx.Done(): err = ctx.Err() } + if bsp.selfObservabilityEnabled { + err = errors.Join(err, bsp.callbackRegistration.Unregister()) + } }) return err } @@ -171,7 +254,7 @@ type forceFlushSpan struct { flushed chan struct{} } -func (f forceFlushSpan) SpanContext() trace.SpanContext { +func (forceFlushSpan) SpanContext() trace.SpanContext { return trace.NewSpanContext(trace.SpanContextConfig{TraceFlags: trace.FlagsSampled}) } @@ -274,6 +357,11 @@ func (bsp *batchSpanProcessor) exportSpans(ctx context.Context) error { if l := len(bsp.batch); l > 0 { global.Debug("exporting spans", "count", len(bsp.batch), "total_dropped", atomic.LoadUint32(&bsp.dropped)) + if bsp.selfObservabilityEnabled { + bsp.spansProcessedCounter.Add(ctx, int64(l), + bsp.componentNameAttr, + bsp.spansProcessedCounter.AttrComponentType(otelconv.ComponentTypeBatchingSpanProcessor)) + } err := bsp.e.ExportSpans(ctx, bsp.batch) // A new batch is always created after exporting, even if the batch failed to be exported. @@ -382,11 +470,17 @@ func (bsp *batchSpanProcessor) enqueueBlockOnQueueFull(ctx context.Context, sd R case bsp.queue <- sd: return true case <-ctx.Done(): + if bsp.selfObservabilityEnabled { + bsp.spansProcessedCounter.Add(ctx, 1, + bsp.componentNameAttr, + bsp.spansProcessedCounter.AttrComponentType(otelconv.ComponentTypeBatchingSpanProcessor), + bsp.spansProcessedCounter.AttrErrorType(queueFull)) + } return false } } -func (bsp *batchSpanProcessor) enqueueDrop(_ context.Context, sd ReadOnlySpan) bool { +func (bsp *batchSpanProcessor) enqueueDrop(ctx context.Context, sd ReadOnlySpan) bool { if !sd.SpanContext().IsSampled() { return false } @@ -396,12 +490,18 @@ func (bsp *batchSpanProcessor) enqueueDrop(_ context.Context, sd ReadOnlySpan) b return true default: atomic.AddUint32(&bsp.dropped, 1) + if bsp.selfObservabilityEnabled { + bsp.spansProcessedCounter.Add(ctx, 1, + bsp.componentNameAttr, + bsp.spansProcessedCounter.AttrComponentType(otelconv.ComponentTypeBatchingSpanProcessor), + bsp.spansProcessedCounter.AttrErrorType(queueFull)) + } } return false } // MarshalLog is the marshaling function used by the logging system to represent this Span Processor. -func (bsp *batchSpanProcessor) MarshalLog() interface{} { +func (bsp *batchSpanProcessor) MarshalLog() any { return struct { Type string SpanExporter SpanExporter diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go b/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go index 1f60524e3..e58e7f6ed 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go @@ -6,5 +6,8 @@ Package trace contains support for OpenTelemetry distributed tracing. The following assumes a basic familiarity with OpenTelemetry concepts. See https://opentelemetry.io. + +See [go.opentelemetry.io/otel/sdk/trace/internal/x] for information about +the experimental features. */ package trace // import "go.opentelemetry.io/otel/sdk/trace" diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go b/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go index c8d3fb7e3..3649322a6 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go @@ -32,7 +32,7 @@ type randomIDGenerator struct{} var _ IDGenerator = &randomIDGenerator{} // NewSpanID returns a non-zero span ID from a randomly-chosen sequence. -func (gen *randomIDGenerator) NewSpanID(ctx context.Context, traceID trace.TraceID) trace.SpanID { +func (*randomIDGenerator) NewSpanID(context.Context, trace.TraceID) trace.SpanID { sid := trace.SpanID{} for { binary.NativeEndian.PutUint64(sid[:], rand.Uint64()) @@ -45,7 +45,7 @@ func (gen *randomIDGenerator) NewSpanID(ctx context.Context, traceID trace.Trace // NewIDs returns a non-zero trace ID and a non-zero span ID from a // randomly-chosen sequence. -func (gen *randomIDGenerator) NewIDs(ctx context.Context) (trace.TraceID, trace.SpanID) { +func (*randomIDGenerator) NewIDs(context.Context) (trace.TraceID, trace.SpanID) { tid := trace.TraceID{} sid := trace.SpanID{} for { diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/README.md b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/README.md new file mode 100644 index 000000000..feec16fa6 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/README.md @@ -0,0 +1,35 @@ +# Experimental Features + +The Trace SDK contains features that have not yet stabilized in the OpenTelemetry specification. +These features are added to the OpenTelemetry Go Trace SDK prior to stabilization in the specification so that users can start experimenting with them and provide feedback. + +These features may change in backwards incompatible ways as feedback is applied. +See the [Compatibility and Stability](#compatibility-and-stability) section for more information. + +## Features + +- [Self-Observability](#self-observability) + +### Self-Observability + +The SDK provides a self-observability feature that allows you to monitor the SDK itself. + +To opt-in, set the environment variable `OTEL_GO_X_SELF_OBSERVABILITY` to `true`. + +When enabled, the SDK will create the following metrics using the global `MeterProvider`: + +- `otel.sdk.span.live` +- `otel.sdk.span.started` + +Please see the [Semantic conventions for OpenTelemetry SDK metrics] documentation for more details on these metrics. + +[Semantic conventions for OpenTelemetry SDK metrics]: https://github.com/open-telemetry/semantic-conventions/blob/v1.36.0/docs/otel/sdk-metrics.md + +## Compatibility and Stability + +Experimental features do not fall within the scope of the OpenTelemetry Go versioning and stability [policy](../../../../VERSIONING.md). +These features may be removed or modified in successive version releases, including patch versions. + +When an experimental feature is promoted to a stable feature, a migration path will be included in the changelog entry of the release. +There is no guarantee that any environment variable feature flags that enabled the experimental feature will be supported by the stable version. +If they are supported, they may be accompanied with a deprecation notice stating a timeline for the removal of that support. diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/x.go b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/x.go new file mode 100644 index 000000000..2fcbbcc66 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/x.go @@ -0,0 +1,63 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package x documents experimental features for [go.opentelemetry.io/otel/sdk/trace]. +package x // import "go.opentelemetry.io/otel/sdk/trace/internal/x" + +import ( + "os" + "strings" +) + +// SelfObservability is an experimental feature flag that determines if SDK +// self-observability metrics are enabled. +// +// To enable this feature set the OTEL_GO_X_SELF_OBSERVABILITY environment variable +// to the case-insensitive string value of "true" (i.e. "True" and "TRUE" +// will also enable this). +var SelfObservability = newFeature("SELF_OBSERVABILITY", func(v string) (string, bool) { + if strings.EqualFold(v, "true") { + return v, true + } + return "", false +}) + +// Feature is an experimental feature control flag. It provides a uniform way +// to interact with these feature flags and parse their values. +type Feature[T any] struct { + key string + parse func(v string) (T, bool) +} + +func newFeature[T any](suffix string, parse func(string) (T, bool)) Feature[T] { + const envKeyRoot = "OTEL_GO_X_" + return Feature[T]{ + key: envKeyRoot + suffix, + parse: parse, + } +} + +// Key returns the environment variable key that needs to be set to enable the +// feature. +func (f Feature[T]) Key() string { return f.key } + +// Lookup returns the user configured value for the feature and true if the +// user has enabled the feature. Otherwise, if the feature is not enabled, a +// zero-value and false are returned. +func (f Feature[T]) Lookup() (v T, ok bool) { + // https://github.com/open-telemetry/opentelemetry-specification/blob/62effed618589a0bec416a87e559c0a9d96289bb/specification/configuration/sdk-environment-variables.md#parsing-empty-value + // + // > The SDK MUST interpret an empty value of an environment variable the + // > same way as when the variable is unset. + vRaw := os.Getenv(f.key) + if vRaw == "" { + return v, ok + } + return f.parse(vRaw) +} + +// Enabled reports whether the feature is enabled. +func (f Feature[T]) Enabled() bool { + _, ok := f.Lookup() + return ok +} diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go b/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go index 0e2a2e7c6..37ce2ac87 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go @@ -5,14 +5,20 @@ package trace // import "go.opentelemetry.io/otel/sdk/trace" import ( "context" + "errors" "fmt" "sync" "sync/atomic" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/internal/global" + "go.opentelemetry.io/otel/metric" + "go.opentelemetry.io/otel/sdk" "go.opentelemetry.io/otel/sdk/instrumentation" "go.opentelemetry.io/otel/sdk/resource" + "go.opentelemetry.io/otel/sdk/trace/internal/x" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" + "go.opentelemetry.io/otel/semconv/v1.37.0/otelconv" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/otel/trace/embedded" "go.opentelemetry.io/otel/trace/noop" @@ -20,6 +26,7 @@ import ( const ( defaultTracerName = "go.opentelemetry.io/otel/sdk/tracer" + selfObsScopeName = "go.opentelemetry.io/otel/sdk/trace" ) // tracerProviderConfig. @@ -45,7 +52,7 @@ type tracerProviderConfig struct { } // MarshalLog is the marshaling function used by the logging system to represent this Provider. -func (cfg tracerProviderConfig) MarshalLog() interface{} { +func (cfg tracerProviderConfig) MarshalLog() any { return struct { SpanProcessors []SpanProcessor SamplerType string @@ -156,8 +163,18 @@ func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.T t, ok := p.namedTracer[is] if !ok { t = &tracer{ - provider: p, - instrumentationScope: is, + provider: p, + instrumentationScope: is, + selfObservabilityEnabled: x.SelfObservability.Enabled(), + } + if t.selfObservabilityEnabled { + var err error + t.spanLiveMetric, t.spanStartedMetric, err = newInst() + if err != nil { + msg := "failed to create self-observability metrics for tracer: %w" + err := fmt.Errorf(msg, err) + otel.Handle(err) + } } p.namedTracer[is] = t } @@ -184,6 +201,23 @@ func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.T return t } +func newInst() (otelconv.SDKSpanLive, otelconv.SDKSpanStarted, error) { + m := otel.GetMeterProvider().Meter( + selfObsScopeName, + metric.WithInstrumentationVersion(sdk.Version()), + metric.WithSchemaURL(semconv.SchemaURL), + ) + + var err error + spanLiveMetric, e := otelconv.NewSDKSpanLive(m) + err = errors.Join(err, e) + + spanStartedMetric, e := otelconv.NewSDKSpanStarted(m) + err = errors.Join(err, e) + + return spanLiveMetric, spanStartedMetric, err +} + // RegisterSpanProcessor adds the given SpanProcessor to the list of SpanProcessors. func (p *TracerProvider) RegisterSpanProcessor(sp SpanProcessor) { // This check prevents calls during a shutdown. diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go b/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go index aa7b262d0..689663d48 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go @@ -110,14 +110,14 @@ func TraceIDRatioBased(fraction float64) Sampler { type alwaysOnSampler struct{} -func (as alwaysOnSampler) ShouldSample(p SamplingParameters) SamplingResult { +func (alwaysOnSampler) ShouldSample(p SamplingParameters) SamplingResult { return SamplingResult{ Decision: RecordAndSample, Tracestate: trace.SpanContextFromContext(p.ParentContext).TraceState(), } } -func (as alwaysOnSampler) Description() string { +func (alwaysOnSampler) Description() string { return "AlwaysOnSampler" } @@ -131,14 +131,14 @@ func AlwaysSample() Sampler { type alwaysOffSampler struct{} -func (as alwaysOffSampler) ShouldSample(p SamplingParameters) SamplingResult { +func (alwaysOffSampler) ShouldSample(p SamplingParameters) SamplingResult { return SamplingResult{ Decision: Drop, Tracestate: trace.SpanContextFromContext(p.ParentContext).TraceState(), } } -func (as alwaysOffSampler) Description() string { +func (alwaysOffSampler) Description() string { return "AlwaysOffSampler" } diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go b/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go index 664e13e03..411d9ccdd 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go @@ -39,7 +39,7 @@ func NewSimpleSpanProcessor(exporter SpanExporter) SpanProcessor { } // OnStart does nothing. -func (ssp *simpleSpanProcessor) OnStart(context.Context, ReadWriteSpan) {} +func (*simpleSpanProcessor) OnStart(context.Context, ReadWriteSpan) {} // OnEnd immediately exports a ReadOnlySpan. func (ssp *simpleSpanProcessor) OnEnd(s ReadOnlySpan) { @@ -104,13 +104,13 @@ func (ssp *simpleSpanProcessor) Shutdown(ctx context.Context) error { } // ForceFlush does nothing as there is no data to flush. -func (ssp *simpleSpanProcessor) ForceFlush(context.Context) error { +func (*simpleSpanProcessor) ForceFlush(context.Context) error { return nil } // MarshalLog is the marshaling function used by the logging system to represent // this Span Processor. -func (ssp *simpleSpanProcessor) MarshalLog() interface{} { +func (ssp *simpleSpanProcessor) MarshalLog() any { return struct { Type string Exporter SpanExporter diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/snapshot.go b/vendor/go.opentelemetry.io/otel/sdk/trace/snapshot.go index d511d0f27..63aa33780 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/snapshot.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/snapshot.go @@ -35,7 +35,7 @@ type snapshot struct { var _ ReadOnlySpan = snapshot{} -func (s snapshot) private() {} +func (snapshot) private() {} // Name returns the name of the span. func (s snapshot) Name() string { diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/span.go b/vendor/go.opentelemetry.io/otel/sdk/trace/span.go index 1785a4bbb..b376051fb 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/span.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/span.go @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/otel/internal/global" "go.opentelemetry.io/otel/sdk/instrumentation" "go.opentelemetry.io/otel/sdk/resource" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/otel/trace/embedded" ) @@ -61,6 +61,7 @@ type ReadOnlySpan interface { InstrumentationScope() instrumentation.Scope // InstrumentationLibrary returns information about the instrumentation // library that created the span. + // // Deprecated: please use InstrumentationScope instead. InstrumentationLibrary() instrumentation.Library //nolint:staticcheck // This method needs to be define for backwards compatibility // Resource returns information about the entity that produced the span. @@ -165,7 +166,7 @@ func (s *recordingSpan) SpanContext() trace.SpanContext { return s.spanContext } -// IsRecording returns if this span is being recorded. If this span has ended +// IsRecording reports whether this span is being recorded. If this span has ended // this will return false. func (s *recordingSpan) IsRecording() bool { if s == nil { @@ -177,7 +178,7 @@ func (s *recordingSpan) IsRecording() bool { return s.isRecording() } -// isRecording returns if this span is being recorded. If this span has ended +// isRecording reports whether this span is being recorded. If this span has ended // this will return false. // // This method assumes s.mu.Lock is held by the caller. @@ -495,6 +496,16 @@ func (s *recordingSpan) End(options ...trace.SpanEndOption) { } s.mu.Unlock() + if s.tracer.selfObservabilityEnabled { + defer func() { + // Add the span to the context to ensure the metric is recorded + // with the correct span context. + ctx := trace.ContextWithSpan(context.Background(), s) + set := spanLiveSet(s.spanContext.IsSampled()) + s.tracer.spanLiveMetric.AddSet(ctx, -1, set) + }() + } + sps := s.tracer.provider.getSpanProcessors() if len(sps) == 0 { return @@ -545,7 +556,7 @@ func (s *recordingSpan) RecordError(err error, opts ...trace.EventOption) { s.addEvent(semconv.ExceptionEventName, opts...) } -func typeStr(i interface{}) string { +func typeStr(i any) string { t := reflect.TypeOf(i) if t.PkgPath() == "" && t.Name() == "" { // Likely a builtin type. diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go b/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go index 0b65ae9ab..e965c4cce 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go @@ -7,7 +7,9 @@ import ( "context" "time" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk/instrumentation" + "go.opentelemetry.io/otel/semconv/v1.37.0/otelconv" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/otel/trace/embedded" ) @@ -17,6 +19,10 @@ type tracer struct { provider *TracerProvider instrumentationScope instrumentation.Scope + + selfObservabilityEnabled bool + spanLiveMetric otelconv.SDKSpanLive + spanStartedMetric otelconv.SDKSpanStarted } var _ trace.Tracer = &tracer{} @@ -46,17 +52,25 @@ func (tr *tracer) Start( } s := tr.newSpan(ctx, name, &config) + newCtx := trace.ContextWithSpan(ctx, s) + if tr.selfObservabilityEnabled { + psc := trace.SpanContextFromContext(ctx) + set := spanStartedSet(psc, s) + tr.spanStartedMetric.AddSet(newCtx, 1, set) + } + if rw, ok := s.(ReadWriteSpan); ok && s.IsRecording() { sps := tr.provider.getSpanProcessors() for _, sp := range sps { + // Use original context. sp.sp.OnStart(ctx, rw) } } if rtt, ok := s.(runtimeTracer); ok { - ctx = rtt.runtimeTrace(ctx) + newCtx = rtt.runtimeTrace(newCtx) } - return trace.ContextWithSpan(ctx, s), s + return newCtx, s } type runtimeTracer interface { @@ -112,11 +126,12 @@ func (tr *tracer) newSpan(ctx context.Context, name string, config *trace.SpanCo if !isRecording(samplingResult) { return tr.newNonRecordingSpan(sc) } - return tr.newRecordingSpan(psc, sc, name, samplingResult, config) + return tr.newRecordingSpan(ctx, psc, sc, name, samplingResult, config) } // newRecordingSpan returns a new configured recordingSpan. func (tr *tracer) newRecordingSpan( + ctx context.Context, psc, sc trace.SpanContext, name string, sr SamplingResult, @@ -153,6 +168,14 @@ func (tr *tracer) newRecordingSpan( s.SetAttributes(sr.Attributes...) s.SetAttributes(config.Attributes()...) + if tr.selfObservabilityEnabled { + // Propagate any existing values from the context with the new span to + // the measurement context. + ctx = trace.ContextWithSpan(ctx, s) + set := spanLiveSet(s.spanContext.IsSampled()) + tr.spanLiveMetric.AddSet(ctx, 1, set) + } + return s } @@ -160,3 +183,112 @@ func (tr *tracer) newRecordingSpan( func (tr *tracer) newNonRecordingSpan(sc trace.SpanContext) nonRecordingSpan { return nonRecordingSpan{tracer: tr, sc: sc} } + +type parentState int + +const ( + parentStateNoParent parentState = iota + parentStateLocalParent + parentStateRemoteParent +) + +type samplingState int + +const ( + samplingStateDrop samplingState = iota + samplingStateRecordOnly + samplingStateRecordAndSample +) + +type spanStartedSetKey struct { + parent parentState + sampling samplingState +} + +var spanStartedSetCache = map[spanStartedSetKey]attribute.Set{ + {parentStateNoParent, samplingStateDrop}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginNone), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultDrop), + ), + {parentStateLocalParent, samplingStateDrop}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginLocal), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultDrop), + ), + {parentStateRemoteParent, samplingStateDrop}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginRemote), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultDrop), + ), + + {parentStateNoParent, samplingStateRecordOnly}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginNone), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordOnly), + ), + {parentStateLocalParent, samplingStateRecordOnly}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginLocal), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordOnly), + ), + {parentStateRemoteParent, samplingStateRecordOnly}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginRemote), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordOnly), + ), + + {parentStateNoParent, samplingStateRecordAndSample}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginNone), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordAndSample), + ), + {parentStateLocalParent, samplingStateRecordAndSample}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginLocal), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordAndSample), + ), + {parentStateRemoteParent, samplingStateRecordAndSample}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginRemote), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordAndSample), + ), +} + +func spanStartedSet(psc trace.SpanContext, span trace.Span) attribute.Set { + key := spanStartedSetKey{ + parent: parentStateNoParent, + sampling: samplingStateDrop, + } + + if psc.IsValid() { + if psc.IsRemote() { + key.parent = parentStateRemoteParent + } else { + key.parent = parentStateLocalParent + } + } + + if span.IsRecording() { + if span.SpanContext().IsSampled() { + key.sampling = samplingStateRecordAndSample + } else { + key.sampling = samplingStateRecordOnly + } + } + + return spanStartedSetCache[key] +} + +type spanLiveSetKey struct { + sampled bool +} + +var spanLiveSetCache = map[spanLiveSetKey]attribute.Set{ + {true}: attribute.NewSet( + otelconv.SDKSpanLive{}.AttrSpanSamplingResult( + otelconv.SpanSamplingResultRecordAndSample, + ), + ), + {false}: attribute.NewSet( + otelconv.SDKSpanLive{}.AttrSpanSamplingResult( + otelconv.SpanSamplingResultRecordOnly, + ), + ), +} + +func spanLiveSet(sampled bool) attribute.Set { + key := spanLiveSetKey{sampled: sampled} + return spanLiveSetCache[key] +} diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/version.go b/vendor/go.opentelemetry.io/otel/sdk/trace/version.go deleted file mode 100644 index b84dd2c5e..000000000 --- a/vendor/go.opentelemetry.io/otel/sdk/trace/version.go +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package trace // import "go.opentelemetry.io/otel/sdk/trace" - -// version is the current release version of the metric SDK in use. -func version() string { - return "1.16.0-rc.1" -} diff --git a/vendor/go.opentelemetry.io/otel/sdk/version.go b/vendor/go.opentelemetry.io/otel/sdk/version.go index c0217af6b..7f97cc31e 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/version.go +++ b/vendor/go.opentelemetry.io/otel/sdk/version.go @@ -6,5 +6,5 @@ package sdk // import "go.opentelemetry.io/otel/sdk" // Version is the current release version of the OpenTelemetry SDK in use. func Version() string { - return "1.37.0" + return "1.38.0" } diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md deleted file mode 100644 index 02b56115e..000000000 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md +++ /dev/null @@ -1,4 +0,0 @@ - -# Migration from v1.33.0 to v1.34.0 - -The `go.opentelemetry.io/otel/semconv/v1.34.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.33.0`. diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md b/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md deleted file mode 100644 index fab06c975..000000000 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Semconv v1.34.0 - -[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/semconv/v1.34.0)](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.34.0) diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/MIGRATION.md b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/MIGRATION.md new file mode 100644 index 000000000..248054789 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/MIGRATION.md @@ -0,0 +1,41 @@ + +# Migration from v1.36.0 to v1.37.0 + +The `go.opentelemetry.io/otel/semconv/v1.37.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.36.0` with the following exceptions. + +## Removed + +The following declarations have been removed. +Refer to the [OpenTelemetry Semantic Conventions documentation] for deprecation instructions. + +If the type is not listed in the documentation as deprecated, it has been removed in this version due to lack of applicability or use. +If you use any of these non-deprecated declarations in your Go application, please [open an issue] describing your use-case. + +- `ContainerRuntime` +- `ContainerRuntimeKey` +- `GenAIOpenAIRequestServiceTierAuto` +- `GenAIOpenAIRequestServiceTierDefault` +- `GenAIOpenAIRequestServiceTierKey` +- `GenAIOpenAIResponseServiceTier` +- `GenAIOpenAIResponseServiceTierKey` +- `GenAIOpenAIResponseSystemFingerprint` +- `GenAIOpenAIResponseSystemFingerprintKey` +- `GenAISystemAWSBedrock` +- `GenAISystemAnthropic` +- `GenAISystemAzureAIInference` +- `GenAISystemAzureAIOpenAI` +- `GenAISystemCohere` +- `GenAISystemDeepseek` +- `GenAISystemGCPGemini` +- `GenAISystemGCPGenAI` +- `GenAISystemGCPVertexAI` +- `GenAISystemGroq` +- `GenAISystemIBMWatsonxAI` +- `GenAISystemKey` +- `GenAISystemMistralAI` +- `GenAISystemOpenAI` +- `GenAISystemPerplexity` +- `GenAISystemXai` + +[OpenTelemetry Semantic Conventions documentation]: https://github.com/open-telemetry/semantic-conventions +[open an issue]: https://github.com/open-telemetry/opentelemetry-go/issues/new?template=Blank+issue diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/README.md b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/README.md new file mode 100644 index 000000000..d795247f3 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/README.md @@ -0,0 +1,3 @@ +# Semconv v1.37.0 + +[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/semconv/v1.37.0)](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.37.0) diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go similarity index 89% rename from vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go index 5b5666257..b6b27498f 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go @@ -3,7 +3,7 @@ // Code generated from semantic convention specification. DO NOT EDIT. -package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" import "go.opentelemetry.io/otel/attribute" @@ -28,7 +28,8 @@ const ( // AndroidOSAPILevelKey is the attribute Key conforming to the // "android.os.api_level" semantic conventions. It represents the uniquely // identifies the framework API revision offered by a version (`os.version`) of - // the android operating system. More information can be found [here]. + // the android operating system. More information can be found in the + // [Android API levels documentation]. // // Type: string // RequirementLevel: Recommended @@ -36,16 +37,17 @@ const ( // // Examples: "33", "32" // - // [here]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels + // [Android API levels documentation]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels AndroidOSAPILevelKey = attribute.Key("android.os.api_level") ) // AndroidOSAPILevel returns an attribute KeyValue conforming to the // "android.os.api_level" semantic conventions. It represents the uniquely // identifies the framework API revision offered by a version (`os.version`) of -// the android operating system. More information can be found [here]. +// the android operating system. More information can be found in the +// [Android API levels documentation]. // -// [here]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels +// [Android API levels documentation]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels func AndroidOSAPILevel(val string) attribute.KeyValue { return AndroidOSAPILevelKey.String(val) } @@ -73,6 +75,18 @@ var ( // Namespace: app const ( + // AppBuildIDKey is the attribute Key conforming to the "app.build_id" semantic + // conventions. It represents the unique identifier for a particular build or + // compilation of the application. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "6cff0a7e-cefc-4668-96f5-1273d8b334d0", + // "9f2b833506aa6973a92fde9733e6271f", "my-app-1.0.0-code-123" + AppBuildIDKey = attribute.Key("app.build_id") + // AppInstallationIDKey is the attribute Key conforming to the // "app.installation.id" semantic conventions. It represents a unique identifier // representing the installation of an application on a specific device. @@ -106,16 +120,51 @@ const ( // - [App set ID]. // - [`Settings.getString(Settings.Secure.ANDROID_ID)`]. // - // More information about Android identifier best practices can be found [here] - // . + // More information about Android identifier best practices can be found in the + // [Android user data IDs guide]. // // [vendor identifier]: https://developer.apple.com/documentation/uikit/uidevice/identifierforvendor // [Firebase Installation ID]: https://firebase.google.com/docs/projects/manage-installations // [App set ID]: https://developer.android.com/identity/app-set-id // [`Settings.getString(Settings.Secure.ANDROID_ID)`]: https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID - // [here]: https://developer.android.com/training/articles/user-data-ids + // [Android user data IDs guide]: https://developer.android.com/training/articles/user-data-ids AppInstallationIDKey = attribute.Key("app.installation.id") + // AppJankFrameCountKey is the attribute Key conforming to the + // "app.jank.frame_count" semantic conventions. It represents a number of frame + // renders that experienced jank. + // + // Type: int + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 9, 42 + // Note: Depending on platform limitations, the value provided MAY be + // approximation. + AppJankFrameCountKey = attribute.Key("app.jank.frame_count") + + // AppJankPeriodKey is the attribute Key conforming to the "app.jank.period" + // semantic conventions. It represents the time period, in seconds, for which + // this jank is being reported. + // + // Type: double + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 1.0, 5.0, 10.24 + AppJankPeriodKey = attribute.Key("app.jank.period") + + // AppJankThresholdKey is the attribute Key conforming to the + // "app.jank.threshold" semantic conventions. It represents the minimum + // rendering threshold for this jank, in seconds. + // + // Type: double + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 0.016, 0.7, 1.024 + AppJankThresholdKey = attribute.Key("app.jank.threshold") + // AppScreenCoordinateXKey is the attribute Key conforming to the // "app.screen.coordinate.x" semantic conventions. It represents the x // (horizontal) coordinate of a screen coordinate, in screen pixels. @@ -164,6 +213,13 @@ const ( AppWidgetNameKey = attribute.Key("app.widget.name") ) +// AppBuildID returns an attribute KeyValue conforming to the "app.build_id" +// semantic conventions. It represents the unique identifier for a particular +// build or compilation of the application. +func AppBuildID(val string) attribute.KeyValue { + return AppBuildIDKey.String(val) +} + // AppInstallationID returns an attribute KeyValue conforming to the // "app.installation.id" semantic conventions. It represents a unique identifier // representing the installation of an application on a specific device. @@ -171,6 +227,27 @@ func AppInstallationID(val string) attribute.KeyValue { return AppInstallationIDKey.String(val) } +// AppJankFrameCount returns an attribute KeyValue conforming to the +// "app.jank.frame_count" semantic conventions. It represents a number of frame +// renders that experienced jank. +func AppJankFrameCount(val int) attribute.KeyValue { + return AppJankFrameCountKey.Int(val) +} + +// AppJankPeriod returns an attribute KeyValue conforming to the +// "app.jank.period" semantic conventions. It represents the time period, in +// seconds, for which this jank is being reported. +func AppJankPeriod(val float64) attribute.KeyValue { + return AppJankPeriodKey.Float64(val) +} + +// AppJankThreshold returns an attribute KeyValue conforming to the +// "app.jank.threshold" semantic conventions. It represents the minimum rendering +// threshold for this jank, in seconds. +func AppJankThreshold(val float64) attribute.KeyValue { + return AppJankThresholdKey.Float64(val) +} + // AppScreenCoordinateX returns an attribute KeyValue conforming to the // "app.screen.coordinate.x" semantic conventions. It represents the x // (horizontal) coordinate of a screen coordinate, in screen pixels. @@ -1525,59 +1602,14 @@ func AWSStepFunctionsStateMachineARN(val string) attribute.KeyValue { // Enum values for aws.ecs.launchtype var ( - // ec2 + // Amazon EC2 // Stability: development AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2") - // fargate + // Amazon Fargate // Stability: development AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate") ) -// Namespace: az -const ( - // AzNamespaceKey is the attribute Key conforming to the "az.namespace" semantic - // conventions. It represents the [Azure Resource Provider Namespace] as - // recognized by the client. - // - // Type: string - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: "Microsoft.Storage", "Microsoft.KeyVault", "Microsoft.ServiceBus" - // - // [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers - AzNamespaceKey = attribute.Key("az.namespace") - - // AzServiceRequestIDKey is the attribute Key conforming to the - // "az.service_request_id" semantic conventions. It represents the unique - // identifier of the service request. It's generated by the Azure service and - // returned with the response. - // - // Type: string - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: "00000000-0000-0000-0000-000000000000" - AzServiceRequestIDKey = attribute.Key("az.service_request_id") -) - -// AzNamespace returns an attribute KeyValue conforming to the "az.namespace" -// semantic conventions. It represents the [Azure Resource Provider Namespace] as -// recognized by the client. -// -// [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers -func AzNamespace(val string) attribute.KeyValue { - return AzNamespaceKey.String(val) -} - -// AzServiceRequestID returns an attribute KeyValue conforming to the -// "az.service_request_id" semantic conventions. It represents the unique -// identifier of the service request. It's generated by the Azure service and -// returned with the response. -func AzServiceRequestID(val string) attribute.KeyValue { - return AzServiceRequestIDKey.String(val) -} - // Namespace: azure const ( // AzureClientIDKey is the attribute Key conforming to the "azure.client.id" @@ -1665,6 +1697,31 @@ const ( // // Examples: 1000, 1002 AzureCosmosDBResponseSubStatusCodeKey = attribute.Key("azure.cosmosdb.response.sub_status_code") + + // AzureResourceProviderNamespaceKey is the attribute Key conforming to the + // "azure.resource_provider.namespace" semantic conventions. It represents the + // [Azure Resource Provider Namespace] as recognized by the client. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Microsoft.Storage", "Microsoft.KeyVault", "Microsoft.ServiceBus" + // + // [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers + AzureResourceProviderNamespaceKey = attribute.Key("azure.resource_provider.namespace") + + // AzureServiceRequestIDKey is the attribute Key conforming to the + // "azure.service.request.id" semantic conventions. It represents the unique + // identifier of the service request. It's generated by the Azure service and + // returned with the response. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "00000000-0000-0000-0000-000000000000" + AzureServiceRequestIDKey = attribute.Key("azure.service.request.id") ) // AzureClientID returns an attribute KeyValue conforming to the @@ -1705,6 +1762,23 @@ func AzureCosmosDBResponseSubStatusCode(val int) attribute.KeyValue { return AzureCosmosDBResponseSubStatusCodeKey.Int(val) } +// AzureResourceProviderNamespace returns an attribute KeyValue conforming to the +// "azure.resource_provider.namespace" semantic conventions. It represents the +// [Azure Resource Provider Namespace] as recognized by the client. +// +// [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers +func AzureResourceProviderNamespace(val string) attribute.KeyValue { + return AzureResourceProviderNamespaceKey.String(val) +} + +// AzureServiceRequestID returns an attribute KeyValue conforming to the +// "azure.service.request.id" semantic conventions. It represents the unique +// identifier of the service request. It's generated by the Azure service and +// returned with the response. +func AzureServiceRequestID(val string) attribute.KeyValue { + return AzureServiceRequestIDKey.String(val) +} + // Enum values for azure.cosmosdb.connection.mode var ( // Gateway (HTTP) connection. @@ -1717,19 +1791,19 @@ var ( // Enum values for azure.cosmosdb.consistency.level var ( - // strong + // Strong // Stability: development AzureCosmosDBConsistencyLevelStrong = AzureCosmosDBConsistencyLevelKey.String("Strong") - // bounded_staleness + // Bounded Staleness // Stability: development AzureCosmosDBConsistencyLevelBoundedStaleness = AzureCosmosDBConsistencyLevelKey.String("BoundedStaleness") - // session + // Session // Stability: development AzureCosmosDBConsistencyLevelSession = AzureCosmosDBConsistencyLevelKey.String("Session") - // eventual + // Eventual // Stability: development AzureCosmosDBConsistencyLevelEventual = AzureCosmosDBConsistencyLevelKey.String("Eventual") - // consistent_prefix + // Consistent Prefix // Stability: development AzureCosmosDBConsistencyLevelConsistentPrefix = AzureCosmosDBConsistencyLevelKey.String("ConsistentPrefix") ) @@ -1944,37 +2018,37 @@ func CassandraSpeculativeExecutionCount(val int) attribute.KeyValue { // Enum values for cassandra.consistency.level var ( - // all + // All // Stability: development CassandraConsistencyLevelAll = CassandraConsistencyLevelKey.String("all") - // each_quorum + // Each Quorum // Stability: development CassandraConsistencyLevelEachQuorum = CassandraConsistencyLevelKey.String("each_quorum") - // quorum + // Quorum // Stability: development CassandraConsistencyLevelQuorum = CassandraConsistencyLevelKey.String("quorum") - // local_quorum + // Local Quorum // Stability: development CassandraConsistencyLevelLocalQuorum = CassandraConsistencyLevelKey.String("local_quorum") - // one + // One // Stability: development CassandraConsistencyLevelOne = CassandraConsistencyLevelKey.String("one") - // two + // Two // Stability: development CassandraConsistencyLevelTwo = CassandraConsistencyLevelKey.String("two") - // three + // Three // Stability: development CassandraConsistencyLevelThree = CassandraConsistencyLevelKey.String("three") - // local_one + // Local One // Stability: development CassandraConsistencyLevelLocalOne = CassandraConsistencyLevelKey.String("local_one") - // any + // Any // Stability: development CassandraConsistencyLevelAny = CassandraConsistencyLevelKey.String("any") - // serial + // Serial // Stability: development CassandraConsistencyLevelSerial = CassandraConsistencyLevelKey.String("serial") - // local_serial + // Local Serial // Stability: development CassandraConsistencyLevelLocalSerial = CassandraConsistencyLevelKey.String("local_serial") ) @@ -2527,7 +2601,7 @@ const ( // [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html // [alias suffix]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html // [URI of the resource]: https://cloud.google.com/iam/docs/full-resource-names - // [Fully Qualified Resource ID]: https://docs.microsoft.com/rest/api/resources/resources/get-by-id + // [Fully Qualified Resource ID]: https://learn.microsoft.com/rest/api/resources/resources/get-by-id CloudResourceIDKey = attribute.Key("cloud.resource_id") ) @@ -2604,25 +2678,25 @@ var ( CloudPlatformAWSOpenShift = CloudPlatformKey.String("aws_openshift") // Azure Virtual Machines // Stability: development - CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm") + CloudPlatformAzureVM = CloudPlatformKey.String("azure.vm") // Azure Container Apps // Stability: development - CloudPlatformAzureContainerApps = CloudPlatformKey.String("azure_container_apps") + CloudPlatformAzureContainerApps = CloudPlatformKey.String("azure.container_apps") // Azure Container Instances // Stability: development - CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances") + CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure.container_instances") // Azure Kubernetes Service // Stability: development - CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks") + CloudPlatformAzureAKS = CloudPlatformKey.String("azure.aks") // Azure Functions // Stability: development - CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions") + CloudPlatformAzureFunctions = CloudPlatformKey.String("azure.functions") // Azure App Service // Stability: development - CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service") + CloudPlatformAzureAppService = CloudPlatformKey.String("azure.app_service") // Azure Red Hat OpenShift // Stability: development - CloudPlatformAzureOpenShift = CloudPlatformKey.String("azure_openshift") + CloudPlatformAzureOpenShift = CloudPlatformKey.String("azure.openshift") // Google Bare Metal Solution (BMS) // Stability: development CloudPlatformGCPBareMetalSolution = CloudPlatformKey.String("gcp_bare_metal_solution") @@ -3374,16 +3448,40 @@ const ( // Examples: "opentelemetry-autoconf" ContainerNameKey = attribute.Key("container.name") - // ContainerRuntimeKey is the attribute Key conforming to the - // "container.runtime" semantic conventions. It represents the container runtime - // managing this container. + // ContainerRuntimeDescriptionKey is the attribute Key conforming to the + // "container.runtime.description" semantic conventions. It represents a + // description about the runtime which could include, for example details about + // the CRI/API version being used or other customisations. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "docker://19.3.1 - CRI: 1.22.0" + ContainerRuntimeDescriptionKey = attribute.Key("container.runtime.description") + + // ContainerRuntimeNameKey is the attribute Key conforming to the + // "container.runtime.name" semantic conventions. It represents the container + // runtime managing this container. // // Type: string // RequirementLevel: Recommended // Stability: Development // // Examples: "docker", "containerd", "rkt" - ContainerRuntimeKey = attribute.Key("container.runtime") + ContainerRuntimeNameKey = attribute.Key("container.runtime.name") + + // ContainerRuntimeVersionKey is the attribute Key conforming to the + // "container.runtime.version" semantic conventions. It represents the version + // of the runtime of this process, as returned by the runtime without + // modification. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 1.0.0 + ContainerRuntimeVersionKey = attribute.Key("container.runtime.version") ) // ContainerCommand returns an attribute KeyValue conforming to the @@ -3467,6 +3565,13 @@ func ContainerImageTags(val ...string) attribute.KeyValue { return ContainerImageTagsKey.StringSlice(val) } +// ContainerLabel returns an attribute KeyValue conforming to the +// "container.label" semantic conventions. It represents the container labels, +// `` being the label name, the value being the label value. +func ContainerLabel(key string, val string) attribute.KeyValue { + return attribute.String("container.label."+key, val) +} + // ContainerName returns an attribute KeyValue conforming to the "container.name" // semantic conventions. It represents the container name used by container // runtime. @@ -3474,11 +3579,26 @@ func ContainerName(val string) attribute.KeyValue { return ContainerNameKey.String(val) } -// ContainerRuntime returns an attribute KeyValue conforming to the -// "container.runtime" semantic conventions. It represents the container runtime -// managing this container. -func ContainerRuntime(val string) attribute.KeyValue { - return ContainerRuntimeKey.String(val) +// ContainerRuntimeDescription returns an attribute KeyValue conforming to the +// "container.runtime.description" semantic conventions. It represents a +// description about the runtime which could include, for example details about +// the CRI/API version being used or other customisations. +func ContainerRuntimeDescription(val string) attribute.KeyValue { + return ContainerRuntimeDescriptionKey.String(val) +} + +// ContainerRuntimeName returns an attribute KeyValue conforming to the +// "container.runtime.name" semantic conventions. It represents the container +// runtime managing this container. +func ContainerRuntimeName(val string) attribute.KeyValue { + return ContainerRuntimeNameKey.String(val) +} + +// ContainerRuntimeVersion returns an attribute KeyValue conforming to the +// "container.runtime.version" semantic conventions. It represents the version of +// the runtime of this process, as returned by the runtime without modification. +func ContainerRuntimeVersion(val string) attribute.KeyValue { + return ContainerRuntimeVersionKey.String(val) } // Namespace: cpu @@ -3514,28 +3634,28 @@ func CPULogicalNumber(val int) attribute.KeyValue { // Enum values for cpu.mode var ( - // user + // User // Stability: development CPUModeUser = CPUModeKey.String("user") - // system + // System // Stability: development CPUModeSystem = CPUModeKey.String("system") - // nice + // Nice // Stability: development CPUModeNice = CPUModeKey.String("nice") - // idle + // Idle // Stability: development CPUModeIdle = CPUModeKey.String("idle") - // iowait + // IO Wait // Stability: development CPUModeIOWait = CPUModeKey.String("iowait") - // interrupt + // Interrupt // Stability: development CPUModeInterrupt = CPUModeKey.String("interrupt") - // steal + // Steal // Stability: development CPUModeSteal = CPUModeKey.String("steal") - // kernel + // Kernel // Stability: development CPUModeKernel = CPUModeKey.String("kernel") ) @@ -3794,6 +3914,22 @@ func DBOperationName(val string) attribute.KeyValue { return DBOperationNameKey.String(val) } +// DBOperationParameter returns an attribute KeyValue conforming to the +// "db.operation.parameter" semantic conventions. It represents a database +// operation parameter, with `` being the parameter name, and the attribute +// value being a string representation of the parameter value. +func DBOperationParameter(key string, val string) attribute.KeyValue { + return attribute.String("db.operation.parameter."+key, val) +} + +// DBQueryParameter returns an attribute KeyValue conforming to the +// "db.query.parameter" semantic conventions. It represents a database query +// parameter, with `` being the parameter name, and the attribute value +// being a string representation of the parameter value. +func DBQueryParameter(key string, val string) attribute.KeyValue { + return attribute.String("db.query.parameter."+key, val) +} + // DBQuerySummary returns an attribute KeyValue conforming to the // "db.query.summary" semantic conventions. It represents the low cardinality // summary of a database query. @@ -4194,8 +4330,8 @@ const ( // Hardware IDs (e.g. vendor-specific serial number, IMEI or MAC address) MAY be // used as values. // - // More information about Android identifier best practices can be found [here] - // . + // More information about Android identifier best practices can be found in the + // [Android user data IDs guide]. // // > [!WARNING]> This attribute may contain sensitive (PII) information. Caution // > should be taken when storing personal data or anything which can identify a @@ -4210,7 +4346,7 @@ const ( // > opt-in feature.> See [`app.installation.id`]> for a more // > privacy-preserving alternative. // - // [here]: https://developer.android.com/training/articles/user-data-ids + // [Android user data IDs guide]: https://developer.android.com/training/articles/user-data-ids // [`app.installation.id`]: /docs/registry/attributes/app.md#app-installation-id DeviceIDKey = attribute.Key("device.id") @@ -4308,6 +4444,17 @@ var ( // Namespace: dns const ( + // DNSAnswersKey is the attribute Key conforming to the "dns.answers" semantic + // conventions. It represents the list of IPv4 or IPv6 addresses resolved during + // DNS lookup. + // + // Type: string[] + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334" + DNSAnswersKey = attribute.Key("dns.answers") + // DNSQuestionNameKey is the attribute Key conforming to the "dns.question.name" // semantic conventions. It represents the name being queried. // @@ -4323,6 +4470,13 @@ const ( DNSQuestionNameKey = attribute.Key("dns.question.name") ) +// DNSAnswers returns an attribute KeyValue conforming to the "dns.answers" +// semantic conventions. It represents the list of IPv4 or IPv6 addresses +// resolved during DNS lookup. +func DNSAnswers(val ...string) attribute.KeyValue { + return DNSAnswersKey.StringSlice(val) +} + // DNSQuestionName returns an attribute KeyValue conforming to the // "dns.question.name" semantic conventions. It represents the name being // queried. @@ -4941,7 +5095,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "5157782b-2203-4c80-a857-dbbd5e7761db" FeatureFlagContextIDKey = attribute.Key("feature_flag.context.id") @@ -4951,7 +5105,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "logo-color" FeatureFlagKeyKey = attribute.Key("feature_flag.key") @@ -4962,7 +5116,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "Flag Manager" FeatureFlagProviderNameKey = attribute.Key("feature_flag.provider.name") @@ -4973,7 +5127,7 @@ const ( // // Type: Enum // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "static", "targeting_match", "error", "default" FeatureFlagResultReasonKey = attribute.Key("feature_flag.result.reason") @@ -4984,7 +5138,7 @@ const ( // // Type: any // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "#ff0000", true, 3 // Note: With some feature flag providers, feature flag results can be quite @@ -5004,7 +5158,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "red", "true", "on" // Note: A semantic identifier, commonly referred to as a variant, provides a @@ -5020,7 +5174,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "proj-1", "ab98sgs", "service1/dev" // @@ -5034,7 +5188,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "1", "01ABCDEF" FeatureFlagVersionKey = attribute.Key("feature_flag.version") @@ -5088,34 +5242,34 @@ func FeatureFlagVersion(val string) attribute.KeyValue { // Enum values for feature_flag.result.reason var ( // The resolved value is static (no dynamic evaluation). - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonStatic = FeatureFlagResultReasonKey.String("static") // The resolved value fell back to a pre-configured value (no dynamic evaluation // occurred or dynamic evaluation yielded no result). - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonDefault = FeatureFlagResultReasonKey.String("default") // The resolved value was the result of a dynamic evaluation, such as a rule or // specific user-targeting. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonTargetingMatch = FeatureFlagResultReasonKey.String("targeting_match") // The resolved value was the result of pseudorandom assignment. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonSplit = FeatureFlagResultReasonKey.String("split") // The resolved value was retrieved from cache. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonCached = FeatureFlagResultReasonKey.String("cached") // The resolved value was the result of the flag being disabled in the // management system. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonDisabled = FeatureFlagResultReasonKey.String("disabled") // The reason for the resolved value could not be determined. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonUnknown = FeatureFlagResultReasonKey.String("unknown") // The resolved value is non-authoritative or possibly out of date - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonStale = FeatureFlagResultReasonKey.String("stale") // The resolved value was the result of an error. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonError = FeatureFlagResultReasonKey.String("error") ) @@ -5208,7 +5362,7 @@ const ( // RequirementLevel: Recommended // Stability: Development // - // Examples: "Zone.Identifer" + // Examples: "Zone.Identifier" // Note: On Linux, a resource fork is used to store additional data with a // filesystem object. A file always has at least one fork for the data portion, // and additional forks may exist. @@ -5863,39 +6017,41 @@ const ( // `db.*`, to further identify and describe the data source. GenAIDataSourceIDKey = attribute.Key("gen_ai.data_source.id") - // GenAIOpenAIRequestServiceTierKey is the attribute Key conforming to the - // "gen_ai.openai.request.service_tier" semantic conventions. It represents the - // service tier requested. May be a specific tier, default, or auto. + // GenAIInputMessagesKey is the attribute Key conforming to the + // "gen_ai.input.messages" semantic conventions. It represents the chat history + // provided to the model as an input. // - // Type: Enum + // Type: any // RequirementLevel: Recommended // Stability: Development // - // Examples: "auto", "default" - GenAIOpenAIRequestServiceTierKey = attribute.Key("gen_ai.openai.request.service_tier") - - // GenAIOpenAIResponseServiceTierKey is the attribute Key conforming to the - // "gen_ai.openai.response.service_tier" semantic conventions. It represents the - // service tier used for the response. + // Examples: "[\n {\n "role": "user",\n "parts": [\n {\n "type": "text",\n + // "content": "Weather in Paris?"\n }\n ]\n },\n {\n "role": "assistant",\n + // "parts": [\n {\n "type": "tool_call",\n "id": + // "call_VSPygqKTWdrhaFErNvMV18Yl",\n "name": "get_weather",\n "arguments": {\n + // "location": "Paris"\n }\n }\n ]\n },\n {\n "role": "tool",\n "parts": [\n {\n + // "type": "tool_call_response",\n "id": " call_VSPygqKTWdrhaFErNvMV18Yl",\n + // "result": "rainy, 57°F"\n }\n ]\n }\n]\n" + // Note: Instrumentations MUST follow [Input messages JSON schema]. + // When the attribute is recorded on events, it MUST be recorded in structured + // form. When recorded on spans, it MAY be recorded as a JSON string if + // structured + // format is not supported and SHOULD be recorded in structured form otherwise. // - // Type: string - // RequirementLevel: Recommended - // Stability: Development + // Messages MUST be provided in the order they were sent to the model. + // Instrumentations MAY provide a way for users to filter or truncate + // input messages. // - // Examples: "scale", "default" - GenAIOpenAIResponseServiceTierKey = attribute.Key("gen_ai.openai.response.service_tier") - - // GenAIOpenAIResponseSystemFingerprintKey is the attribute Key conforming to - // the "gen_ai.openai.response.system_fingerprint" semantic conventions. It - // represents a fingerprint to track any eventual change in the Generative AI - // environment. + // > [!Warning] + // > This attribute is likely to contain sensitive information including + // > user/PII data. // - // Type: string - // RequirementLevel: Recommended - // Stability: Development + // See [Recording content on attributes] + // section for more details. // - // Examples: "fp_44709d6fcb" - GenAIOpenAIResponseSystemFingerprintKey = attribute.Key("gen_ai.openai.response.system_fingerprint") + // [Input messages JSON schema]: /docs/gen-ai/gen-ai-input-messages.json + // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes + GenAIInputMessagesKey = attribute.Key("gen_ai.input.messages") // GenAIOperationNameKey is the attribute Key conforming to the // "gen_ai.operation.name" semantic conventions. It represents the name of the @@ -5913,6 +6069,44 @@ const ( // libraries SHOULD use applicable predefined value. GenAIOperationNameKey = attribute.Key("gen_ai.operation.name") + // GenAIOutputMessagesKey is the attribute Key conforming to the + // "gen_ai.output.messages" semantic conventions. It represents the messages + // returned by the model where each message represents a specific model response + // (choice, candidate). + // + // Type: any + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "[\n {\n "role": "assistant",\n "parts": [\n {\n "type": "text",\n + // "content": "The weather in Paris is currently rainy with a temperature of + // 57°F."\n }\n ],\n "finish_reason": "stop"\n }\n]\n" + // Note: Instrumentations MUST follow [Output messages JSON schema] + // + // Each message represents a single output choice/candidate generated by + // the model. Each message corresponds to exactly one generation + // (choice/candidate) and vice versa - one choice cannot be split across + // multiple messages or one message cannot contain parts from multiple choices. + // + // When the attribute is recorded on events, it MUST be recorded in structured + // form. When recorded on spans, it MAY be recorded as a JSON string if + // structured + // format is not supported and SHOULD be recorded in structured form otherwise. + // + // Instrumentations MAY provide a way for users to filter or truncate + // output messages. + // + // > [!Warning] + // > This attribute is likely to contain sensitive information including + // > user/PII data. + // + // See [Recording content on attributes] + // section for more details. + // + // [Output messages JSON schema]: /docs/gen-ai/gen-ai-output-messages.json + // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes + GenAIOutputMessagesKey = attribute.Key("gen_ai.output.messages") + // GenAIOutputTypeKey is the attribute Key conforming to the // "gen_ai.output.type" semantic conventions. It represents the represents the // content type requested by the client. @@ -5931,6 +6125,35 @@ const ( // `gen_ai.output.{type}.*` attributes. GenAIOutputTypeKey = attribute.Key("gen_ai.output.type") + // GenAIProviderNameKey is the attribute Key conforming to the + // "gen_ai.provider.name" semantic conventions. It represents the Generative AI + // provider as identified by the client or server instrumentation. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + // Note: The attribute SHOULD be set based on the instrumentation's best + // knowledge and may differ from the actual model provider. + // + // Multiple providers, including Azure OpenAI, Gemini, and AI hosting platforms + // are accessible using the OpenAI REST API and corresponding client libraries, + // but may proxy or host models from different providers. + // + // The `gen_ai.request.model`, `gen_ai.response.model`, and `server.address` + // attributes may help identify the actual system in use. + // + // The `gen_ai.provider.name` attribute acts as a discriminator that + // identifies the GenAI telemetry format flavor specific to that provider + // within GenAI semantic conventions. + // It SHOULD be set consistently with provider-specific attributes and signals. + // For example, GenAI spans, metrics, and events related to AWS Bedrock + // should have the `gen_ai.provider.name` set to `aws.bedrock` and include + // applicable `aws.bedrock.*` attributes and are not expected to include + // `openai.*` attributes. + GenAIProviderNameKey = attribute.Key("gen_ai.provider.name") + // GenAIRequestChoiceCountKey is the attribute Key conforming to the // "gen_ai.request.choice.count" semantic conventions. It represents the target // number of candidate completions to return. @@ -6088,31 +6311,44 @@ const ( // Examples: "gpt-4-0613" GenAIResponseModelKey = attribute.Key("gen_ai.response.model") - // GenAISystemKey is the attribute Key conforming to the "gen_ai.system" - // semantic conventions. It represents the Generative AI product as identified - // by the client or server instrumentation. + // GenAISystemInstructionsKey is the attribute Key conforming to the + // "gen_ai.system_instructions" semantic conventions. It represents the system + // message or instructions provided to the GenAI model separately from the chat + // history. // - // Type: Enum + // Type: any // RequirementLevel: Recommended // Stability: Development // - // Examples: openai - // Note: The `gen_ai.system` describes a family of GenAI models with specific - // model identified - // by `gen_ai.request.model` and `gen_ai.response.model` attributes. + // Examples: "[\n {\n "type": "text",\n "content": "You are an Agent that greet + // users, always use greetings tool to respond"\n }\n]\n", "[\n {\n "type": + // "text",\n "content": "You are a language translator."\n },\n {\n "type": + // "text",\n "content": "Your mission is to translate text in English to + // French."\n }\n]\n" + // Note: This attribute SHOULD be used when the corresponding provider or API + // allows to provide system instructions or messages separately from the + // chat history. // - // The actual GenAI product may differ from the one identified by the client. - // Multiple systems, including Azure OpenAI and Gemini, are accessible by OpenAI - // client - // libraries. In such cases, the `gen_ai.system` is set to `openai` based on the - // instrumentation's best knowledge, instead of the actual system. The - // `server.address` - // attribute may help identify the actual system in use for `openai`. + // Instructions that are part of the chat history SHOULD be recorded in + // `gen_ai.input.messages` attribute instead. // - // For custom model, a custom friendly name SHOULD be used. - // If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER` - // . - GenAISystemKey = attribute.Key("gen_ai.system") + // Instrumentations MUST follow [System instructions JSON schema]. + // + // When recorded on spans, it MAY be recorded as a JSON string if structured + // format is not supported and SHOULD be recorded in structured form otherwise. + // + // Instrumentations MAY provide a way for users to filter or truncate + // system instructions. + // + // > [!Warning] + // > This attribute may contain sensitive information. + // + // See [Recording content on attributes] + // section for more details. + // + // [System instructions JSON schema]: /docs/gen-ai/gen-ai-system-instructions.json + // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes + GenAISystemInstructionsKey = attribute.Key("gen_ai.system_instructions") // GenAITokenTypeKey is the attribute Key conforming to the "gen_ai.token.type" // semantic conventions. It represents the type of token being counted. @@ -6237,21 +6473,6 @@ func GenAIDataSourceID(val string) attribute.KeyValue { return GenAIDataSourceIDKey.String(val) } -// GenAIOpenAIResponseServiceTier returns an attribute KeyValue conforming to the -// "gen_ai.openai.response.service_tier" semantic conventions. It represents the -// service tier used for the response. -func GenAIOpenAIResponseServiceTier(val string) attribute.KeyValue { - return GenAIOpenAIResponseServiceTierKey.String(val) -} - -// GenAIOpenAIResponseSystemFingerprint returns an attribute KeyValue conforming -// to the "gen_ai.openai.response.system_fingerprint" semantic conventions. It -// represents a fingerprint to track any eventual change in the Generative AI -// environment. -func GenAIOpenAIResponseSystemFingerprint(val string) attribute.KeyValue { - return GenAIOpenAIResponseSystemFingerprintKey.String(val) -} - // GenAIRequestChoiceCount returns an attribute KeyValue conforming to the // "gen_ai.request.choice.count" semantic conventions. It represents the target // number of candidate completions to return. @@ -6393,16 +6614,6 @@ func GenAIUsageOutputTokens(val int) attribute.KeyValue { return GenAIUsageOutputTokensKey.Int(val) } -// Enum values for gen_ai.openai.request.service_tier -var ( - // The system will utilize scale tier credits until they are exhausted. - // Stability: development - GenAIOpenAIRequestServiceTierAuto = GenAIOpenAIRequestServiceTierKey.String("auto") - // The system will utilize the default scale tier. - // Stability: development - GenAIOpenAIRequestServiceTierDefault = GenAIOpenAIRequestServiceTierKey.String("default") -) - // Enum values for gen_ai.operation.name var ( // Chat completion operation such as [OpenAI Chat API] @@ -6452,57 +6663,79 @@ var ( GenAIOutputTypeSpeech = GenAIOutputTypeKey.String("speech") ) -// Enum values for gen_ai.system +// Enum values for gen_ai.provider.name var ( - // OpenAI + // [OpenAI] // Stability: development - GenAISystemOpenAI = GenAISystemKey.String("openai") + // + // [OpenAI]: https://openai.com/ + GenAIProviderNameOpenAI = GenAIProviderNameKey.String("openai") // Any Google generative AI endpoint // Stability: development - GenAISystemGCPGenAI = GenAISystemKey.String("gcp.gen_ai") - // Vertex AI + GenAIProviderNameGCPGenAI = GenAIProviderNameKey.String("gcp.gen_ai") + // [Vertex AI] // Stability: development - GenAISystemGCPVertexAI = GenAISystemKey.String("gcp.vertex_ai") - // Gemini + // + // [Vertex AI]: https://cloud.google.com/vertex-ai + GenAIProviderNameGCPVertexAI = GenAIProviderNameKey.String("gcp.vertex_ai") + // [Gemini] // Stability: development - GenAISystemGCPGemini = GenAISystemKey.String("gcp.gemini") - // Deprecated: Use 'gcp.vertex_ai' instead. - GenAISystemVertexAI = GenAISystemKey.String("vertex_ai") - // Deprecated: Use 'gcp.gemini' instead. - GenAISystemGemini = GenAISystemKey.String("gemini") - // Anthropic + // + // [Gemini]: https://cloud.google.com/products/gemini + GenAIProviderNameGCPGemini = GenAIProviderNameKey.String("gcp.gemini") + // [Anthropic] // Stability: development - GenAISystemAnthropic = GenAISystemKey.String("anthropic") - // Cohere + // + // [Anthropic]: https://www.anthropic.com/ + GenAIProviderNameAnthropic = GenAIProviderNameKey.String("anthropic") + // [Cohere] // Stability: development - GenAISystemCohere = GenAISystemKey.String("cohere") + // + // [Cohere]: https://cohere.com/ + GenAIProviderNameCohere = GenAIProviderNameKey.String("cohere") // Azure AI Inference // Stability: development - GenAISystemAzAIInference = GenAISystemKey.String("az.ai.inference") - // Azure OpenAI + GenAIProviderNameAzureAIInference = GenAIProviderNameKey.String("azure.ai.inference") + // [Azure OpenAI] // Stability: development - GenAISystemAzAIOpenAI = GenAISystemKey.String("az.ai.openai") - // IBM Watsonx AI + // + // [Azure OpenAI]: https://azure.microsoft.com/products/ai-services/openai-service/ + GenAIProviderNameAzureAIOpenAI = GenAIProviderNameKey.String("azure.ai.openai") + // [IBM Watsonx AI] // Stability: development - GenAISystemIBMWatsonxAI = GenAISystemKey.String("ibm.watsonx.ai") - // AWS Bedrock + // + // [IBM Watsonx AI]: https://www.ibm.com/products/watsonx-ai + GenAIProviderNameIBMWatsonxAI = GenAIProviderNameKey.String("ibm.watsonx.ai") + // [AWS Bedrock] // Stability: development - GenAISystemAWSBedrock = GenAISystemKey.String("aws.bedrock") - // Perplexity + // + // [AWS Bedrock]: https://aws.amazon.com/bedrock + GenAIProviderNameAWSBedrock = GenAIProviderNameKey.String("aws.bedrock") + // [Perplexity] // Stability: development - GenAISystemPerplexity = GenAISystemKey.String("perplexity") - // xAI + // + // [Perplexity]: https://www.perplexity.ai/ + GenAIProviderNamePerplexity = GenAIProviderNameKey.String("perplexity") + // [xAI] // Stability: development - GenAISystemXai = GenAISystemKey.String("xai") - // DeepSeek + // + // [xAI]: https://x.ai/ + GenAIProviderNameXAI = GenAIProviderNameKey.String("x_ai") + // [DeepSeek] // Stability: development - GenAISystemDeepseek = GenAISystemKey.String("deepseek") - // Groq + // + // [DeepSeek]: https://www.deepseek.com/ + GenAIProviderNameDeepseek = GenAIProviderNameKey.String("deepseek") + // [Groq] // Stability: development - GenAISystemGroq = GenAISystemKey.String("groq") - // Mistral AI + // + // [Groq]: https://groq.com/ + GenAIProviderNameGroq = GenAIProviderNameKey.String("groq") + // [Mistral AI] // Stability: development - GenAISystemMistralAI = GenAISystemKey.String("mistral_ai") + // + // [Mistral AI]: https://mistral.ai/ + GenAIProviderNameMistralAI = GenAIProviderNameKey.String("mistral_ai") ) // Enum values for gen_ai.token.type @@ -6510,8 +6743,6 @@ var ( // Input tokens (prompt, input, etc.) // Stability: development GenAITokenTypeInput = GenAITokenTypeKey.String("input") - // Deprecated: Replaced by `output`. - GenAITokenTypeCompletion = GenAITokenTypeKey.String("output") // Output tokens (completion, response, etc.) // Stability: development GenAITokenTypeOutput = GenAITokenTypeKey.String("output") @@ -7312,6 +7543,14 @@ func HTTPRequestBodySize(val int) attribute.KeyValue { return HTTPRequestBodySizeKey.Int(val) } +// HTTPRequestHeader returns an attribute KeyValue conforming to the +// "http.request.header" semantic conventions. It represents the HTTP request +// headers, `` being the normalized HTTP Header name (lowercase), the value +// being the header values. +func HTTPRequestHeader(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("http.request.header."+key, val) +} + // HTTPRequestMethodOriginal returns an attribute KeyValue conforming to the // "http.request.method_original" semantic conventions. It represents the // original HTTP method sent by the client in the request line. @@ -7347,6 +7586,14 @@ func HTTPResponseBodySize(val int) attribute.KeyValue { return HTTPResponseBodySizeKey.Int(val) } +// HTTPResponseHeader returns an attribute KeyValue conforming to the +// "http.response.header" semantic conventions. It represents the HTTP response +// headers, `` being the normalized HTTP Header name (lowercase), the value +// being the header values. +func HTTPResponseHeader(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("http.response.header."+key, val) +} + // HTTPResponseSize returns an attribute KeyValue conforming to the // "http.response.size" semantic conventions. It represents the total size of the // response in bytes. This should be the total number of bytes sent over the @@ -7418,64 +7665,352 @@ var ( // Namespace: hw const ( - // HwIDKey is the attribute Key conforming to the "hw.id" semantic conventions. - // It represents an identifier for the hardware component, unique within the - // monitored host. + // HwBatteryCapacityKey is the attribute Key conforming to the + // "hw.battery.capacity" semantic conventions. It represents the design capacity + // in Watts-hours or Amper-hours. // // Type: string // RequirementLevel: Recommended // Stability: Development // - // Examples: "win32battery_battery_testsysa33_1" - HwIDKey = attribute.Key("hw.id") + // Examples: "9.3Ah", "50Wh" + HwBatteryCapacityKey = attribute.Key("hw.battery.capacity") - // HwNameKey is the attribute Key conforming to the "hw.name" semantic - // conventions. It represents an easily-recognizable name for the hardware + // HwBatteryChemistryKey is the attribute Key conforming to the + // "hw.battery.chemistry" semantic conventions. It represents the battery + // [chemistry], e.g. Lithium-Ion, Nickel-Cadmium, etc. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Li-ion", "NiMH" + // + // [chemistry]: https://schemas.dmtf.org/wbem/cim-html/2.31.0/CIM_Battery.html + HwBatteryChemistryKey = attribute.Key("hw.battery.chemistry") + + // HwBatteryStateKey is the attribute Key conforming to the "hw.battery.state" + // semantic conventions. It represents the current state of the battery. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwBatteryStateKey = attribute.Key("hw.battery.state") + + // HwBiosVersionKey is the attribute Key conforming to the "hw.bios_version" + // semantic conventions. It represents the BIOS version of the hardware // component. // // Type: string // RequirementLevel: Recommended // Stability: Development // - // Examples: "eth0" - HwNameKey = attribute.Key("hw.name") + // Examples: "1.2.3" + HwBiosVersionKey = attribute.Key("hw.bios_version") - // HwParentKey is the attribute Key conforming to the "hw.parent" semantic - // conventions. It represents the unique identifier of the parent component - // (typically the `hw.id` attribute of the enclosure, or disk controller). + // HwDriverVersionKey is the attribute Key conforming to the "hw.driver_version" + // semantic conventions. It represents the driver version for the hardware + // component. // // Type: string // RequirementLevel: Recommended // Stability: Development // - // Examples: "dellStorage_perc_0" - HwParentKey = attribute.Key("hw.parent") + // Examples: "10.2.1-3" + HwDriverVersionKey = attribute.Key("hw.driver_version") - // HwStateKey is the attribute Key conforming to the "hw.state" semantic - // conventions. It represents the current state of the component. + // HwEnclosureTypeKey is the attribute Key conforming to the "hw.enclosure.type" + // semantic conventions. It represents the type of the enclosure (useful for + // modular systems). // - // Type: Enum + // Type: string // RequirementLevel: Recommended // Stability: Development // - // Examples: - HwStateKey = attribute.Key("hw.state") + // Examples: "Computer", "Storage", "Switch" + HwEnclosureTypeKey = attribute.Key("hw.enclosure.type") - // HwTypeKey is the attribute Key conforming to the "hw.type" semantic - // conventions. It represents the type of the component. + // HwFirmwareVersionKey is the attribute Key conforming to the + // "hw.firmware_version" semantic conventions. It represents the firmware + // version of the hardware component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "2.0.1" + HwFirmwareVersionKey = attribute.Key("hw.firmware_version") + + // HwGpuTaskKey is the attribute Key conforming to the "hw.gpu.task" semantic + // conventions. It represents the type of task the GPU is performing. // // Type: Enum // RequirementLevel: Recommended // Stability: Development // // Examples: - // Note: Describes the category of the hardware component for which `hw.state` + HwGpuTaskKey = attribute.Key("hw.gpu.task") + + // HwIDKey is the attribute Key conforming to the "hw.id" semantic conventions. + // It represents an identifier for the hardware component, unique within the + // monitored host. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "win32battery_battery_testsysa33_1" + HwIDKey = attribute.Key("hw.id") + + // HwLimitTypeKey is the attribute Key conforming to the "hw.limit_type" + // semantic conventions. It represents the type of limit for hardware + // components. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwLimitTypeKey = attribute.Key("hw.limit_type") + + // HwLogicalDiskRaidLevelKey is the attribute Key conforming to the + // "hw.logical_disk.raid_level" semantic conventions. It represents the RAID + // Level of the logical disk. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "RAID0+1", "RAID5", "RAID10" + HwLogicalDiskRaidLevelKey = attribute.Key("hw.logical_disk.raid_level") + + // HwLogicalDiskStateKey is the attribute Key conforming to the + // "hw.logical_disk.state" semantic conventions. It represents the state of the + // logical disk space usage. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwLogicalDiskStateKey = attribute.Key("hw.logical_disk.state") + + // HwMemoryTypeKey is the attribute Key conforming to the "hw.memory.type" + // semantic conventions. It represents the type of the memory module. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "DDR4", "DDR5", "LPDDR5" + HwMemoryTypeKey = attribute.Key("hw.memory.type") + + // HwModelKey is the attribute Key conforming to the "hw.model" semantic + // conventions. It represents the descriptive model name of the hardware + // component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "PERC H740P", "Intel(R) Core(TM) i7-10700K", "Dell XPS 15 Battery" + HwModelKey = attribute.Key("hw.model") + + // HwNameKey is the attribute Key conforming to the "hw.name" semantic + // conventions. It represents an easily-recognizable name for the hardware + // component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "eth0" + HwNameKey = attribute.Key("hw.name") + + // HwNetworkLogicalAddressesKey is the attribute Key conforming to the + // "hw.network.logical_addresses" semantic conventions. It represents the + // logical addresses of the adapter (e.g. IP address, or WWPN). + // + // Type: string[] + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "172.16.8.21", "57.11.193.42" + HwNetworkLogicalAddressesKey = attribute.Key("hw.network.logical_addresses") + + // HwNetworkPhysicalAddressKey is the attribute Key conforming to the + // "hw.network.physical_address" semantic conventions. It represents the + // physical address of the adapter (e.g. MAC address, or WWNN). + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "00-90-F5-E9-7B-36" + HwNetworkPhysicalAddressKey = attribute.Key("hw.network.physical_address") + + // HwParentKey is the attribute Key conforming to the "hw.parent" semantic + // conventions. It represents the unique identifier of the parent component + // (typically the `hw.id` attribute of the enclosure, or disk controller). + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "dellStorage_perc_0" + HwParentKey = attribute.Key("hw.parent") + + // HwPhysicalDiskSmartAttributeKey is the attribute Key conforming to the + // "hw.physical_disk.smart_attribute" semantic conventions. It represents the + // [S.M.A.R.T.] (Self-Monitoring, Analysis, and Reporting Technology) attribute + // of the physical disk. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Spin Retry Count", "Seek Error Rate", "Raw Read Error Rate" + // + // [S.M.A.R.T.]: https://wikipedia.org/wiki/S.M.A.R.T. + HwPhysicalDiskSmartAttributeKey = attribute.Key("hw.physical_disk.smart_attribute") + + // HwPhysicalDiskStateKey is the attribute Key conforming to the + // "hw.physical_disk.state" semantic conventions. It represents the state of the + // physical disk endurance utilization. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwPhysicalDiskStateKey = attribute.Key("hw.physical_disk.state") + + // HwPhysicalDiskTypeKey is the attribute Key conforming to the + // "hw.physical_disk.type" semantic conventions. It represents the type of the + // physical disk. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "HDD", "SSD", "10K" + HwPhysicalDiskTypeKey = attribute.Key("hw.physical_disk.type") + + // HwSensorLocationKey is the attribute Key conforming to the + // "hw.sensor_location" semantic conventions. It represents the location of the + // sensor. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "cpu0", "ps1", "INLET", "CPU0_DIE", "AMBIENT", "MOTHERBOARD", "PS0 + // V3_3", "MAIN_12V", "CPU_VCORE" + HwSensorLocationKey = attribute.Key("hw.sensor_location") + + // HwSerialNumberKey is the attribute Key conforming to the "hw.serial_number" + // semantic conventions. It represents the serial number of the hardware + // component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "CNFCP0123456789" + HwSerialNumberKey = attribute.Key("hw.serial_number") + + // HwStateKey is the attribute Key conforming to the "hw.state" semantic + // conventions. It represents the current state of the component. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwStateKey = attribute.Key("hw.state") + + // HwTapeDriveOperationTypeKey is the attribute Key conforming to the + // "hw.tape_drive.operation_type" semantic conventions. It represents the type + // of tape drive operation. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwTapeDriveOperationTypeKey = attribute.Key("hw.tape_drive.operation_type") + + // HwTypeKey is the attribute Key conforming to the "hw.type" semantic + // conventions. It represents the type of the component. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + // Note: Describes the category of the hardware component for which `hw.state` // is being reported. For example, `hw.type=temperature` along with // `hw.state=degraded` would indicate that the temperature of the hardware // component has been reported as `degraded`. HwTypeKey = attribute.Key("hw.type") + + // HwVendorKey is the attribute Key conforming to the "hw.vendor" semantic + // conventions. It represents the vendor name of the hardware component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Dell", "HP", "Intel", "AMD", "LSI", "Lenovo" + HwVendorKey = attribute.Key("hw.vendor") ) +// HwBatteryCapacity returns an attribute KeyValue conforming to the +// "hw.battery.capacity" semantic conventions. It represents the design capacity +// in Watts-hours or Amper-hours. +func HwBatteryCapacity(val string) attribute.KeyValue { + return HwBatteryCapacityKey.String(val) +} + +// HwBatteryChemistry returns an attribute KeyValue conforming to the +// "hw.battery.chemistry" semantic conventions. It represents the battery +// [chemistry], e.g. Lithium-Ion, Nickel-Cadmium, etc. +// +// [chemistry]: https://schemas.dmtf.org/wbem/cim-html/2.31.0/CIM_Battery.html +func HwBatteryChemistry(val string) attribute.KeyValue { + return HwBatteryChemistryKey.String(val) +} + +// HwBiosVersion returns an attribute KeyValue conforming to the +// "hw.bios_version" semantic conventions. It represents the BIOS version of the +// hardware component. +func HwBiosVersion(val string) attribute.KeyValue { + return HwBiosVersionKey.String(val) +} + +// HwDriverVersion returns an attribute KeyValue conforming to the +// "hw.driver_version" semantic conventions. It represents the driver version for +// the hardware component. +func HwDriverVersion(val string) attribute.KeyValue { + return HwDriverVersionKey.String(val) +} + +// HwEnclosureType returns an attribute KeyValue conforming to the +// "hw.enclosure.type" semantic conventions. It represents the type of the +// enclosure (useful for modular systems). +func HwEnclosureType(val string) attribute.KeyValue { + return HwEnclosureTypeKey.String(val) +} + +// HwFirmwareVersion returns an attribute KeyValue conforming to the +// "hw.firmware_version" semantic conventions. It represents the firmware version +// of the hardware component. +func HwFirmwareVersion(val string) attribute.KeyValue { + return HwFirmwareVersionKey.String(val) +} + // HwID returns an attribute KeyValue conforming to the "hw.id" semantic // conventions. It represents an identifier for the hardware component, unique // within the monitored host. @@ -7483,6 +8018,26 @@ func HwID(val string) attribute.KeyValue { return HwIDKey.String(val) } +// HwLogicalDiskRaidLevel returns an attribute KeyValue conforming to the +// "hw.logical_disk.raid_level" semantic conventions. It represents the RAID +// Level of the logical disk. +func HwLogicalDiskRaidLevel(val string) attribute.KeyValue { + return HwLogicalDiskRaidLevelKey.String(val) +} + +// HwMemoryType returns an attribute KeyValue conforming to the "hw.memory.type" +// semantic conventions. It represents the type of the memory module. +func HwMemoryType(val string) attribute.KeyValue { + return HwMemoryTypeKey.String(val) +} + +// HwModel returns an attribute KeyValue conforming to the "hw.model" semantic +// conventions. It represents the descriptive model name of the hardware +// component. +func HwModel(val string) attribute.KeyValue { + return HwModelKey.String(val) +} + // HwName returns an attribute KeyValue conforming to the "hw.name" semantic // conventions. It represents an easily-recognizable name for the hardware // component. @@ -7490,6 +8045,20 @@ func HwName(val string) attribute.KeyValue { return HwNameKey.String(val) } +// HwNetworkLogicalAddresses returns an attribute KeyValue conforming to the +// "hw.network.logical_addresses" semantic conventions. It represents the logical +// addresses of the adapter (e.g. IP address, or WWPN). +func HwNetworkLogicalAddresses(val ...string) attribute.KeyValue { + return HwNetworkLogicalAddressesKey.StringSlice(val) +} + +// HwNetworkPhysicalAddress returns an attribute KeyValue conforming to the +// "hw.network.physical_address" semantic conventions. It represents the physical +// address of the adapter (e.g. MAC address, or WWNN). +func HwNetworkPhysicalAddress(val string) attribute.KeyValue { + return HwNetworkPhysicalAddressKey.String(val) +} + // HwParent returns an attribute KeyValue conforming to the "hw.parent" semantic // conventions. It represents the unique identifier of the parent component // (typically the `hw.id` attribute of the enclosure, or disk controller). @@ -7497,17 +8066,144 @@ func HwParent(val string) attribute.KeyValue { return HwParentKey.String(val) } -// Enum values for hw.state +// HwPhysicalDiskSmartAttribute returns an attribute KeyValue conforming to the +// "hw.physical_disk.smart_attribute" semantic conventions. It represents the +// [S.M.A.R.T.] (Self-Monitoring, Analysis, and Reporting Technology) attribute +// of the physical disk. +// +// [S.M.A.R.T.]: https://wikipedia.org/wiki/S.M.A.R.T. +func HwPhysicalDiskSmartAttribute(val string) attribute.KeyValue { + return HwPhysicalDiskSmartAttributeKey.String(val) +} + +// HwPhysicalDiskType returns an attribute KeyValue conforming to the +// "hw.physical_disk.type" semantic conventions. It represents the type of the +// physical disk. +func HwPhysicalDiskType(val string) attribute.KeyValue { + return HwPhysicalDiskTypeKey.String(val) +} + +// HwSensorLocation returns an attribute KeyValue conforming to the +// "hw.sensor_location" semantic conventions. It represents the location of the +// sensor. +func HwSensorLocation(val string) attribute.KeyValue { + return HwSensorLocationKey.String(val) +} + +// HwSerialNumber returns an attribute KeyValue conforming to the +// "hw.serial_number" semantic conventions. It represents the serial number of +// the hardware component. +func HwSerialNumber(val string) attribute.KeyValue { + return HwSerialNumberKey.String(val) +} + +// HwVendor returns an attribute KeyValue conforming to the "hw.vendor" semantic +// conventions. It represents the vendor name of the hardware component. +func HwVendor(val string) attribute.KeyValue { + return HwVendorKey.String(val) +} + +// Enum values for hw.battery.state var ( - // Ok + // Charging // Stability: development - HwStateOk = HwStateKey.String("ok") + HwBatteryStateCharging = HwBatteryStateKey.String("charging") + // Discharging + // Stability: development + HwBatteryStateDischarging = HwBatteryStateKey.String("discharging") +) + +// Enum values for hw.gpu.task +var ( + // Decoder + // Stability: development + HwGpuTaskDecoder = HwGpuTaskKey.String("decoder") + // Encoder + // Stability: development + HwGpuTaskEncoder = HwGpuTaskKey.String("encoder") + // General + // Stability: development + HwGpuTaskGeneral = HwGpuTaskKey.String("general") +) + +// Enum values for hw.limit_type +var ( + // Critical + // Stability: development + HwLimitTypeCritical = HwLimitTypeKey.String("critical") + // Degraded + // Stability: development + HwLimitTypeDegraded = HwLimitTypeKey.String("degraded") + // High Critical + // Stability: development + HwLimitTypeHighCritical = HwLimitTypeKey.String("high.critical") + // High Degraded + // Stability: development + HwLimitTypeHighDegraded = HwLimitTypeKey.String("high.degraded") + // Low Critical + // Stability: development + HwLimitTypeLowCritical = HwLimitTypeKey.String("low.critical") + // Low Degraded + // Stability: development + HwLimitTypeLowDegraded = HwLimitTypeKey.String("low.degraded") + // Maximum + // Stability: development + HwLimitTypeMax = HwLimitTypeKey.String("max") + // Throttled + // Stability: development + HwLimitTypeThrottled = HwLimitTypeKey.String("throttled") + // Turbo + // Stability: development + HwLimitTypeTurbo = HwLimitTypeKey.String("turbo") +) + +// Enum values for hw.logical_disk.state +var ( + // Used + // Stability: development + HwLogicalDiskStateUsed = HwLogicalDiskStateKey.String("used") + // Free + // Stability: development + HwLogicalDiskStateFree = HwLogicalDiskStateKey.String("free") +) + +// Enum values for hw.physical_disk.state +var ( + // Remaining + // Stability: development + HwPhysicalDiskStateRemaining = HwPhysicalDiskStateKey.String("remaining") +) + +// Enum values for hw.state +var ( // Degraded // Stability: development HwStateDegraded = HwStateKey.String("degraded") // Failed // Stability: development HwStateFailed = HwStateKey.String("failed") + // Needs Cleaning + // Stability: development + HwStateNeedsCleaning = HwStateKey.String("needs_cleaning") + // OK + // Stability: development + HwStateOk = HwStateKey.String("ok") + // Predicted Failure + // Stability: development + HwStatePredictedFailure = HwStateKey.String("predicted_failure") +) + +// Enum values for hw.tape_drive.operation_type +var ( + // Mount + // Stability: development + HwTapeDriveOperationTypeMount = HwTapeDriveOperationTypeKey.String("mount") + // Unmount + // Stability: development + HwTapeDriveOperationTypeUnmount = HwTapeDriveOperationTypeKey.String("unmount") + // Clean + // Stability: development + HwTapeDriveOperationTypeClean = HwTapeDriveOperationTypeKey.String("clean") ) // Enum values for hw.type @@ -7686,6 +8382,36 @@ const ( // Examples: "Evicted", "Error" K8SContainerStatusLastTerminatedReasonKey = attribute.Key("k8s.container.status.last_terminated_reason") + // K8SContainerStatusReasonKey is the attribute Key conforming to the + // "k8s.container.status.reason" semantic conventions. It represents the reason + // for the container state. Corresponds to the `reason` field of the: + // [K8s ContainerStateWaiting] or [K8s ContainerStateTerminated]. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "ContainerCreating", "CrashLoopBackOff", + // "CreateContainerConfigError", "ErrImagePull", "ImagePullBackOff", + // "OOMKilled", "Completed", "Error", "ContainerCannotRun" + // + // [K8s ContainerStateWaiting]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstatewaiting-v1-core + // [K8s ContainerStateTerminated]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstateterminated-v1-core + K8SContainerStatusReasonKey = attribute.Key("k8s.container.status.reason") + + // K8SContainerStatusStateKey is the attribute Key conforming to the + // "k8s.container.status.state" semantic conventions. It represents the state of + // the container. [K8s ContainerState]. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "terminated", "running", "waiting" + // + // [K8s ContainerState]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstate-v1-core + K8SContainerStatusStateKey = attribute.Key("k8s.container.status.state") + // K8SCronJobNameKey is the attribute Key conforming to the "k8s.cronjob.name" // semantic conventions. It represents the name of the CronJob. // @@ -7749,6 +8475,18 @@ const ( // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid") + // K8SHPAMetricTypeKey is the attribute Key conforming to the + // "k8s.hpa.metric.type" semantic conventions. It represents the type of metric + // source for the horizontal pod autoscaler. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Resource", "ContainerResource" + // Note: This attribute reflects the `type` field of spec.metrics[] in the HPA. + K8SHPAMetricTypeKey = attribute.Key("k8s.hpa.metric.type") + // K8SHPANameKey is the attribute Key conforming to the "k8s.hpa.name" semantic // conventions. It represents the name of the horizontal pod autoscaler. // @@ -7759,6 +8497,43 @@ const ( // Examples: "opentelemetry" K8SHPANameKey = attribute.Key("k8s.hpa.name") + // K8SHPAScaletargetrefAPIVersionKey is the attribute Key conforming to the + // "k8s.hpa.scaletargetref.api_version" semantic conventions. It represents the + // API version of the target resource to scale for the HorizontalPodAutoscaler. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "apps/v1", "autoscaling/v2" + // Note: This maps to the `apiVersion` field in the `scaleTargetRef` of the HPA + // spec. + K8SHPAScaletargetrefAPIVersionKey = attribute.Key("k8s.hpa.scaletargetref.api_version") + + // K8SHPAScaletargetrefKindKey is the attribute Key conforming to the + // "k8s.hpa.scaletargetref.kind" semantic conventions. It represents the kind of + // the target resource to scale for the HorizontalPodAutoscaler. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Deployment", "StatefulSet" + // Note: This maps to the `kind` field in the `scaleTargetRef` of the HPA spec. + K8SHPAScaletargetrefKindKey = attribute.Key("k8s.hpa.scaletargetref.kind") + + // K8SHPAScaletargetrefNameKey is the attribute Key conforming to the + // "k8s.hpa.scaletargetref.name" semantic conventions. It represents the name of + // the target resource to scale for the HorizontalPodAutoscaler. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "my-deployment", "my-statefulset" + // Note: This maps to the `name` field in the `scaleTargetRef` of the HPA spec. + K8SHPAScaletargetrefNameKey = attribute.Key("k8s.hpa.scaletargetref.name") + // K8SHPAUIDKey is the attribute Key conforming to the "k8s.hpa.uid" semantic // conventions. It represents the UID of the horizontal pod autoscaler. // @@ -7769,6 +8544,17 @@ const ( // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SHPAUIDKey = attribute.Key("k8s.hpa.uid") + // K8SHugepageSizeKey is the attribute Key conforming to the "k8s.hugepage.size" + // semantic conventions. It represents the size (identifier) of the K8s huge + // page. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "2Mi" + K8SHugepageSizeKey = attribute.Key("k8s.hugepage.size") + // K8SJobNameKey is the attribute Key conforming to the "k8s.job.name" semantic // conventions. It represents the name of the Job. // @@ -7815,6 +8601,46 @@ const ( // [K8s NamespaceStatus]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#namespacestatus-v1-core K8SNamespacePhaseKey = attribute.Key("k8s.namespace.phase") + // K8SNodeConditionStatusKey is the attribute Key conforming to the + // "k8s.node.condition.status" semantic conventions. It represents the status of + // the condition, one of True, False, Unknown. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "true", "false", "unknown" + // Note: This attribute aligns with the `status` field of the + // [NodeCondition] + // + // [NodeCondition]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#nodecondition-v1-core + K8SNodeConditionStatusKey = attribute.Key("k8s.node.condition.status") + + // K8SNodeConditionTypeKey is the attribute Key conforming to the + // "k8s.node.condition.type" semantic conventions. It represents the condition + // type of a K8s Node. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Ready", "DiskPressure" + // Note: K8s Node conditions as described + // by [K8s documentation]. + // + // This attribute aligns with the `type` field of the + // [NodeCondition] + // + // The set of possible values is not limited to those listed here. Managed + // Kubernetes environments, + // or custom controllers MAY introduce additional node condition types. + // When this occurs, the exact value as reported by the Kubernetes API SHOULD be + // used. + // + // [K8s documentation]: https://v1-32.docs.kubernetes.io/docs/reference/node/node-status/#condition + // [NodeCondition]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#nodecondition-v1-core + K8SNodeConditionTypeKey = attribute.Key("k8s.node.condition.type") + // K8SNodeNameKey is the attribute Key conforming to the "k8s.node.name" // semantic conventions. It represents the name of the Node. // @@ -7910,6 +8736,25 @@ const ( // Examples: "opentelemetry" K8SResourceQuotaNameKey = attribute.Key("k8s.resourcequota.name") + // K8SResourceQuotaResourceNameKey is the attribute Key conforming to the + // "k8s.resourcequota.resource_name" semantic conventions. It represents the + // name of the K8s resource a resource quota defines. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "count/replicationcontrollers" + // Note: The value for this attribute can be either the full + // `count/[.]` string (e.g., count/deployments.apps, + // count/pods), or, for certain core Kubernetes resources, just the resource + // name (e.g., pods, services, configmaps). Both forms are supported by + // Kubernetes for object count quotas. See + // [Kubernetes Resource Quotas documentation] for more details. + // + // [Kubernetes Resource Quotas documentation]: https://kubernetes.io/docs/concepts/policy/resource-quotas/#object-count-quota + K8SResourceQuotaResourceNameKey = attribute.Key("k8s.resourcequota.resource_name") + // K8SResourceQuotaUIDKey is the attribute Key conforming to the // "k8s.resourcequota.uid" semantic conventions. It represents the UID of the // resource quota. @@ -7943,6 +8788,19 @@ const ( // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid") + // K8SStorageclassNameKey is the attribute Key conforming to the + // "k8s.storageclass.name" semantic conventions. It represents the name of K8s + // [StorageClass] object. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "gold.storageclass.storage.k8s.io" + // + // [StorageClass]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#storageclass-v1-storage-k8s-io + K8SStorageclassNameKey = attribute.Key("k8s.storageclass.name") + // K8SVolumeNameKey is the attribute Key conforming to the "k8s.volume.name" // semantic conventions. It represents the name of the K8s volume. // @@ -8001,6 +8859,22 @@ func K8SContainerStatusLastTerminatedReason(val string) attribute.KeyValue { return K8SContainerStatusLastTerminatedReasonKey.String(val) } +// K8SCronJobAnnotation returns an attribute KeyValue conforming to the +// "k8s.cronjob.annotation" semantic conventions. It represents the cronjob +// annotation placed on the CronJob, the `` being the annotation name, the +// value being the annotation value. +func K8SCronJobAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.cronjob.annotation."+key, val) +} + +// K8SCronJobLabel returns an attribute KeyValue conforming to the +// "k8s.cronjob.label" semantic conventions. It represents the label placed on +// the CronJob, the `` being the label name, the value being the label +// value. +func K8SCronJobLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.cronjob.label."+key, val) +} + // K8SCronJobName returns an attribute KeyValue conforming to the // "k8s.cronjob.name" semantic conventions. It represents the name of the // CronJob. @@ -8014,6 +8888,22 @@ func K8SCronJobUID(val string) attribute.KeyValue { return K8SCronJobUIDKey.String(val) } +// K8SDaemonSetAnnotation returns an attribute KeyValue conforming to the +// "k8s.daemonset.annotation" semantic conventions. It represents the annotation +// placed on the DaemonSet, the `` being the annotation name, the value +// being the annotation value, even if the value is empty. +func K8SDaemonSetAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.daemonset.annotation."+key, val) +} + +// K8SDaemonSetLabel returns an attribute KeyValue conforming to the +// "k8s.daemonset.label" semantic conventions. It represents the label placed on +// the DaemonSet, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SDaemonSetLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.daemonset.label."+key, val) +} + // K8SDaemonSetName returns an attribute KeyValue conforming to the // "k8s.daemonset.name" semantic conventions. It represents the name of the // DaemonSet. @@ -8028,6 +8918,22 @@ func K8SDaemonSetUID(val string) attribute.KeyValue { return K8SDaemonSetUIDKey.String(val) } +// K8SDeploymentAnnotation returns an attribute KeyValue conforming to the +// "k8s.deployment.annotation" semantic conventions. It represents the annotation +// placed on the Deployment, the `` being the annotation name, the value +// being the annotation value, even if the value is empty. +func K8SDeploymentAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.deployment.annotation."+key, val) +} + +// K8SDeploymentLabel returns an attribute KeyValue conforming to the +// "k8s.deployment.label" semantic conventions. It represents the label placed on +// the Deployment, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SDeploymentLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.deployment.label."+key, val) +} + // K8SDeploymentName returns an attribute KeyValue conforming to the // "k8s.deployment.name" semantic conventions. It represents the name of the // Deployment. @@ -8042,18 +8948,69 @@ func K8SDeploymentUID(val string) attribute.KeyValue { return K8SDeploymentUIDKey.String(val) } +// K8SHPAMetricType returns an attribute KeyValue conforming to the +// "k8s.hpa.metric.type" semantic conventions. It represents the type of metric +// source for the horizontal pod autoscaler. +func K8SHPAMetricType(val string) attribute.KeyValue { + return K8SHPAMetricTypeKey.String(val) +} + // K8SHPAName returns an attribute KeyValue conforming to the "k8s.hpa.name" // semantic conventions. It represents the name of the horizontal pod autoscaler. func K8SHPAName(val string) attribute.KeyValue { return K8SHPANameKey.String(val) } +// K8SHPAScaletargetrefAPIVersion returns an attribute KeyValue conforming to the +// "k8s.hpa.scaletargetref.api_version" semantic conventions. It represents the +// API version of the target resource to scale for the HorizontalPodAutoscaler. +func K8SHPAScaletargetrefAPIVersion(val string) attribute.KeyValue { + return K8SHPAScaletargetrefAPIVersionKey.String(val) +} + +// K8SHPAScaletargetrefKind returns an attribute KeyValue conforming to the +// "k8s.hpa.scaletargetref.kind" semantic conventions. It represents the kind of +// the target resource to scale for the HorizontalPodAutoscaler. +func K8SHPAScaletargetrefKind(val string) attribute.KeyValue { + return K8SHPAScaletargetrefKindKey.String(val) +} + +// K8SHPAScaletargetrefName returns an attribute KeyValue conforming to the +// "k8s.hpa.scaletargetref.name" semantic conventions. It represents the name of +// the target resource to scale for the HorizontalPodAutoscaler. +func K8SHPAScaletargetrefName(val string) attribute.KeyValue { + return K8SHPAScaletargetrefNameKey.String(val) +} + // K8SHPAUID returns an attribute KeyValue conforming to the "k8s.hpa.uid" // semantic conventions. It represents the UID of the horizontal pod autoscaler. func K8SHPAUID(val string) attribute.KeyValue { return K8SHPAUIDKey.String(val) } +// K8SHugepageSize returns an attribute KeyValue conforming to the +// "k8s.hugepage.size" semantic conventions. It represents the size (identifier) +// of the K8s huge page. +func K8SHugepageSize(val string) attribute.KeyValue { + return K8SHugepageSizeKey.String(val) +} + +// K8SJobAnnotation returns an attribute KeyValue conforming to the +// "k8s.job.annotation" semantic conventions. It represents the annotation placed +// on the Job, the `` being the annotation name, the value being the +// annotation value, even if the value is empty. +func K8SJobAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.job.annotation."+key, val) +} + +// K8SJobLabel returns an attribute KeyValue conforming to the "k8s.job.label" +// semantic conventions. It represents the label placed on the Job, the `` +// being the label name, the value being the label value, even if the value is +// empty. +func K8SJobLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.job.label."+key, val) +} + // K8SJobName returns an attribute KeyValue conforming to the "k8s.job.name" // semantic conventions. It represents the name of the Job. func K8SJobName(val string) attribute.KeyValue { @@ -8066,6 +9023,22 @@ func K8SJobUID(val string) attribute.KeyValue { return K8SJobUIDKey.String(val) } +// K8SNamespaceAnnotation returns an attribute KeyValue conforming to the +// "k8s.namespace.annotation" semantic conventions. It represents the annotation +// placed on the Namespace, the `` being the annotation name, the value +// being the annotation value, even if the value is empty. +func K8SNamespaceAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.namespace.annotation."+key, val) +} + +// K8SNamespaceLabel returns an attribute KeyValue conforming to the +// "k8s.namespace.label" semantic conventions. It represents the label placed on +// the Namespace, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SNamespaceLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.namespace.label."+key, val) +} + // K8SNamespaceName returns an attribute KeyValue conforming to the // "k8s.namespace.name" semantic conventions. It represents the name of the // namespace that the pod is running in. @@ -8073,6 +9046,22 @@ func K8SNamespaceName(val string) attribute.KeyValue { return K8SNamespaceNameKey.String(val) } +// K8SNodeAnnotation returns an attribute KeyValue conforming to the +// "k8s.node.annotation" semantic conventions. It represents the annotation +// placed on the Node, the `` being the annotation name, the value being the +// annotation value, even if the value is empty. +func K8SNodeAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.node.annotation."+key, val) +} + +// K8SNodeLabel returns an attribute KeyValue conforming to the "k8s.node.label" +// semantic conventions. It represents the label placed on the Node, the `` +// being the label name, the value being the label value, even if the value is +// empty. +func K8SNodeLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.node.label."+key, val) +} + // K8SNodeName returns an attribute KeyValue conforming to the "k8s.node.name" // semantic conventions. It represents the name of the Node. func K8SNodeName(val string) attribute.KeyValue { @@ -8085,6 +9074,21 @@ func K8SNodeUID(val string) attribute.KeyValue { return K8SNodeUIDKey.String(val) } +// K8SPodAnnotation returns an attribute KeyValue conforming to the +// "k8s.pod.annotation" semantic conventions. It represents the annotation placed +// on the Pod, the `` being the annotation name, the value being the +// annotation value. +func K8SPodAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.pod.annotation."+key, val) +} + +// K8SPodLabel returns an attribute KeyValue conforming to the "k8s.pod.label" +// semantic conventions. It represents the label placed on the Pod, the `` +// being the label name, the value being the label value. +func K8SPodLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.pod.label."+key, val) +} + // K8SPodName returns an attribute KeyValue conforming to the "k8s.pod.name" // semantic conventions. It represents the name of the Pod. func K8SPodName(val string) attribute.KeyValue { @@ -8097,6 +9101,22 @@ func K8SPodUID(val string) attribute.KeyValue { return K8SPodUIDKey.String(val) } +// K8SReplicaSetAnnotation returns an attribute KeyValue conforming to the +// "k8s.replicaset.annotation" semantic conventions. It represents the annotation +// placed on the ReplicaSet, the `` being the annotation name, the value +// being the annotation value, even if the value is empty. +func K8SReplicaSetAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.replicaset.annotation."+key, val) +} + +// K8SReplicaSetLabel returns an attribute KeyValue conforming to the +// "k8s.replicaset.label" semantic conventions. It represents the label placed on +// the ReplicaSet, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SReplicaSetLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.replicaset.label."+key, val) +} + // K8SReplicaSetName returns an attribute KeyValue conforming to the // "k8s.replicaset.name" semantic conventions. It represents the name of the // ReplicaSet. @@ -8132,6 +9152,13 @@ func K8SResourceQuotaName(val string) attribute.KeyValue { return K8SResourceQuotaNameKey.String(val) } +// K8SResourceQuotaResourceName returns an attribute KeyValue conforming to the +// "k8s.resourcequota.resource_name" semantic conventions. It represents the name +// of the K8s resource a resource quota defines. +func K8SResourceQuotaResourceName(val string) attribute.KeyValue { + return K8SResourceQuotaResourceNameKey.String(val) +} + // K8SResourceQuotaUID returns an attribute KeyValue conforming to the // "k8s.resourcequota.uid" semantic conventions. It represents the UID of the // resource quota. @@ -8139,6 +9166,22 @@ func K8SResourceQuotaUID(val string) attribute.KeyValue { return K8SResourceQuotaUIDKey.String(val) } +// K8SStatefulSetAnnotation returns an attribute KeyValue conforming to the +// "k8s.statefulset.annotation" semantic conventions. It represents the +// annotation placed on the StatefulSet, the `` being the annotation name, +// the value being the annotation value, even if the value is empty. +func K8SStatefulSetAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.statefulset.annotation."+key, val) +} + +// K8SStatefulSetLabel returns an attribute KeyValue conforming to the +// "k8s.statefulset.label" semantic conventions. It represents the label placed +// on the StatefulSet, the `` being the label name, the value being the +// label value, even if the value is empty. +func K8SStatefulSetLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.statefulset.label."+key, val) +} + // K8SStatefulSetName returns an attribute KeyValue conforming to the // "k8s.statefulset.name" semantic conventions. It represents the name of the // StatefulSet. @@ -8153,6 +9196,15 @@ func K8SStatefulSetUID(val string) attribute.KeyValue { return K8SStatefulSetUIDKey.String(val) } +// K8SStorageclassName returns an attribute KeyValue conforming to the +// "k8s.storageclass.name" semantic conventions. It represents the name of K8s +// [StorageClass] object. +// +// [StorageClass]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#storageclass-v1-storage-k8s-io +func K8SStorageclassName(val string) attribute.KeyValue { + return K8SStorageclassNameKey.String(val) +} + // K8SVolumeName returns an attribute KeyValue conforming to the // "k8s.volume.name" semantic conventions. It represents the name of the K8s // volume. @@ -8160,6 +9212,50 @@ func K8SVolumeName(val string) attribute.KeyValue { return K8SVolumeNameKey.String(val) } +// Enum values for k8s.container.status.reason +var ( + // The container is being created. + // Stability: development + K8SContainerStatusReasonContainerCreating = K8SContainerStatusReasonKey.String("ContainerCreating") + // The container is in a crash loop back off state. + // Stability: development + K8SContainerStatusReasonCrashLoopBackOff = K8SContainerStatusReasonKey.String("CrashLoopBackOff") + // There was an error creating the container configuration. + // Stability: development + K8SContainerStatusReasonCreateContainerConfigError = K8SContainerStatusReasonKey.String("CreateContainerConfigError") + // There was an error pulling the container image. + // Stability: development + K8SContainerStatusReasonErrImagePull = K8SContainerStatusReasonKey.String("ErrImagePull") + // The container image pull is in back off state. + // Stability: development + K8SContainerStatusReasonImagePullBackOff = K8SContainerStatusReasonKey.String("ImagePullBackOff") + // The container was killed due to out of memory. + // Stability: development + K8SContainerStatusReasonOomKilled = K8SContainerStatusReasonKey.String("OOMKilled") + // The container has completed execution. + // Stability: development + K8SContainerStatusReasonCompleted = K8SContainerStatusReasonKey.String("Completed") + // There was an error with the container. + // Stability: development + K8SContainerStatusReasonError = K8SContainerStatusReasonKey.String("Error") + // The container cannot run. + // Stability: development + K8SContainerStatusReasonContainerCannotRun = K8SContainerStatusReasonKey.String("ContainerCannotRun") +) + +// Enum values for k8s.container.status.state +var ( + // The container has terminated. + // Stability: development + K8SContainerStatusStateTerminated = K8SContainerStatusStateKey.String("terminated") + // The container is running. + // Stability: development + K8SContainerStatusStateRunning = K8SContainerStatusStateKey.String("running") + // The container is waiting. + // Stability: development + K8SContainerStatusStateWaiting = K8SContainerStatusStateKey.String("waiting") +) + // Enum values for k8s.namespace.phase var ( // Active namespace phase as described by [K8s API] @@ -8174,6 +9270,39 @@ var ( K8SNamespacePhaseTerminating = K8SNamespacePhaseKey.String("terminating") ) +// Enum values for k8s.node.condition.status +var ( + // condition_true + // Stability: development + K8SNodeConditionStatusConditionTrue = K8SNodeConditionStatusKey.String("true") + // condition_false + // Stability: development + K8SNodeConditionStatusConditionFalse = K8SNodeConditionStatusKey.String("false") + // condition_unknown + // Stability: development + K8SNodeConditionStatusConditionUnknown = K8SNodeConditionStatusKey.String("unknown") +) + +// Enum values for k8s.node.condition.type +var ( + // The node is healthy and ready to accept pods + // Stability: development + K8SNodeConditionTypeReady = K8SNodeConditionTypeKey.String("Ready") + // Pressure exists on the disk size—that is, if the disk capacity is low + // Stability: development + K8SNodeConditionTypeDiskPressure = K8SNodeConditionTypeKey.String("DiskPressure") + // Pressure exists on the node memory—that is, if the node memory is low + // Stability: development + K8SNodeConditionTypeMemoryPressure = K8SNodeConditionTypeKey.String("MemoryPressure") + // Pressure exists on the processes—that is, if there are too many processes + // on the node + // Stability: development + K8SNodeConditionTypePIDPressure = K8SNodeConditionTypeKey.String("PIDPressure") + // The network for the node is not correctly configured + // Stability: development + K8SNodeConditionTypeNetworkUnavailable = K8SNodeConditionTypeKey.String("NetworkUnavailable") +) + // Enum values for k8s.volume.type var ( // A [persistentVolumeClaim] volume @@ -8371,6 +9500,27 @@ var ( LogIostreamStderr = LogIostreamKey.String("stderr") ) +// Namespace: mainframe +const ( + // MainframeLparNameKey is the attribute Key conforming to the + // "mainframe.lpar.name" semantic conventions. It represents the name of the + // logical partition that hosts a systems with a mainframe operating system. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "LPAR01" + MainframeLparNameKey = attribute.Key("mainframe.lpar.name") +) + +// MainframeLparName returns an attribute KeyValue conforming to the +// "mainframe.lpar.name" semantic conventions. It represents the name of the +// logical partition that hosts a systems with a mainframe operating system. +func MainframeLparName(val string) attribute.KeyValue { + return MainframeLparNameKey.String(val) +} + // Namespace: messaging const ( // MessagingBatchMessageCountKey is the attribute Key conforming to the @@ -9084,10 +10234,6 @@ var ( // // Stability: development MessagingOperationTypeSettle = MessagingOperationTypeKey.String("settle") - // Deprecated: Replaced by `process`. - MessagingOperationTypeDeliver = MessagingOperationTypeKey.String("deliver") - // Deprecated: Replaced by `send`. - MessagingOperationTypePublish = MessagingOperationTypeKey.String("publish") ) // Enum values for messaging.rocketmq.consumption_model @@ -9137,6 +10283,9 @@ var ( // Apache ActiveMQ // Stability: development MessagingSystemActiveMQ = MessagingSystemKey.String("activemq") + // Amazon Simple Notification Service (SNS) + // Stability: development + MessagingSystemAWSSNS = MessagingSystemKey.String("aws.sns") // Amazon Simple Queue Service (SQS) // Stability: development MessagingSystemAWSSQS = MessagingSystemKey.String("aws_sqs") @@ -9654,6 +10803,66 @@ func OCIManifestDigest(val string) attribute.KeyValue { return OCIManifestDigestKey.String(val) } +// Namespace: openai +const ( + // OpenAIRequestServiceTierKey is the attribute Key conforming to the + // "openai.request.service_tier" semantic conventions. It represents the service + // tier requested. May be a specific tier, default, or auto. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "auto", "default" + OpenAIRequestServiceTierKey = attribute.Key("openai.request.service_tier") + + // OpenAIResponseServiceTierKey is the attribute Key conforming to the + // "openai.response.service_tier" semantic conventions. It represents the + // service tier used for the response. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "scale", "default" + OpenAIResponseServiceTierKey = attribute.Key("openai.response.service_tier") + + // OpenAIResponseSystemFingerprintKey is the attribute Key conforming to the + // "openai.response.system_fingerprint" semantic conventions. It represents a + // fingerprint to track any eventual change in the Generative AI environment. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "fp_44709d6fcb" + OpenAIResponseSystemFingerprintKey = attribute.Key("openai.response.system_fingerprint") +) + +// OpenAIResponseServiceTier returns an attribute KeyValue conforming to the +// "openai.response.service_tier" semantic conventions. It represents the service +// tier used for the response. +func OpenAIResponseServiceTier(val string) attribute.KeyValue { + return OpenAIResponseServiceTierKey.String(val) +} + +// OpenAIResponseSystemFingerprint returns an attribute KeyValue conforming to +// the "openai.response.system_fingerprint" semantic conventions. It represents a +// fingerprint to track any eventual change in the Generative AI environment. +func OpenAIResponseSystemFingerprint(val string) attribute.KeyValue { + return OpenAIResponseSystemFingerprintKey.String(val) +} + +// Enum values for openai.request.service_tier +var ( + // The system will utilize scale tier credits until they are exhausted. + // Stability: development + OpenAIRequestServiceTierAuto = OpenAIRequestServiceTierKey.String("auto") + // The system will utilize the default scale tier. + // Stability: development + OpenAIRequestServiceTierDefault = OpenAIRequestServiceTierKey.String("default") +) + // Namespace: opentracing const ( // OpenTracingRefTypeKey is the attribute Key conforming to the @@ -9802,7 +11011,7 @@ var ( OSTypeSolaris = OSTypeKey.String("solaris") // IBM z/OS // Stability: development - OSTypeZOS = OSTypeKey.String("z_os") + OSTypeZOS = OSTypeKey.String("zos") ) // Namespace: otel @@ -9866,6 +11075,17 @@ const ( // Examples: "io.opentelemetry.contrib.mongodb" OTelScopeNameKey = attribute.Key("otel.scope.name") + // OTelScopeSchemaURLKey is the attribute Key conforming to the + // "otel.scope.schema_url" semantic conventions. It represents the schema URL of + // the instrumentation scope. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "https://opentelemetry.io/schemas/1.31.0" + OTelScopeSchemaURLKey = attribute.Key("otel.scope.schema_url") + // OTelScopeVersionKey is the attribute Key conforming to the // "otel.scope.version" semantic conventions. It represents the version of the // instrumentation scope - (`InstrumentationScope.Version` in OTLP). @@ -9877,6 +11097,20 @@ const ( // Examples: "1.0.0" OTelScopeVersionKey = attribute.Key("otel.scope.version") + // OTelSpanParentOriginKey is the attribute Key conforming to the + // "otel.span.parent.origin" semantic conventions. It represents the determines + // whether the span has a parent span, and if so, + // [whether it is a remote parent]. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + // + // [whether it is a remote parent]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + OTelSpanParentOriginKey = attribute.Key("otel.span.parent.origin") + // OTelSpanSamplingResultKey is the attribute Key conforming to the // "otel.span.sampling_result" semantic conventions. It represents the result // value of the sampler for this span. @@ -9926,6 +11160,13 @@ func OTelScopeName(val string) attribute.KeyValue { return OTelScopeNameKey.String(val) } +// OTelScopeSchemaURL returns an attribute KeyValue conforming to the +// "otel.scope.schema_url" semantic conventions. It represents the schema URL of +// the instrumentation scope. +func OTelScopeSchemaURL(val string) attribute.KeyValue { + return OTelScopeSchemaURLKey.String(val) +} + // OTelScopeVersion returns an attribute KeyValue conforming to the // "otel.scope.version" semantic conventions. It represents the version of the // instrumentation scope - (`InstrumentationScope.Version` in OTLP). @@ -9970,6 +11211,10 @@ var ( // // Stability: development OTelComponentTypeOtlpHTTPJSONSpanExporter = OTelComponentTypeKey.String("otlp_http_json_span_exporter") + // Zipkin span exporter over HTTP + // + // Stability: development + OTelComponentTypeZipkinHTTPSpanExporter = OTelComponentTypeKey.String("zipkin_http_span_exporter") // OTLP log record exporter over gRPC with protobuf serialization // // Stability: development @@ -9998,6 +11243,27 @@ var ( // // Stability: development OTelComponentTypeOtlpHTTPJSONMetricExporter = OTelComponentTypeKey.String("otlp_http_json_metric_exporter") + // Prometheus metric exporter over HTTP with the default text-based format + // + // Stability: development + OTelComponentTypePrometheusHTTPTextMetricExporter = OTelComponentTypeKey.String("prometheus_http_text_metric_exporter") +) + +// Enum values for otel.span.parent.origin +var ( + // The span does not have a parent, it is a root span + // Stability: development + OTelSpanParentOriginNone = OTelSpanParentOriginKey.String("none") + // The span has a parent and the parent's span context [isRemote()] is false + // Stability: development + // + // [isRemote()]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + OTelSpanParentOriginLocal = OTelSpanParentOriginKey.String("local") + // The span has a parent and the parent's span context [isRemote()] is true + // Stability: development + // + // [isRemote()]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + OTelSpanParentOriginRemote = OTelSpanParentOriginKey.String("remote") ) // Enum values for otel.span.sampling_result @@ -10497,6 +11763,14 @@ func ProcessCreationTime(val string) attribute.KeyValue { return ProcessCreationTimeKey.String(val) } +// ProcessEnvironmentVariable returns an attribute KeyValue conforming to the +// "process.environment_variable" semantic conventions. It represents the process +// environment variables, `` being the environment variable name, the value +// being the environment variable value. +func ProcessEnvironmentVariable(key string, val string) attribute.KeyValue { + return attribute.String("process.environment_variable."+key, val) +} + // ProcessExecutableBuildIDGNU returns an attribute KeyValue conforming to the // "process.executable.build_id.gnu" semantic conventions. It represents the GNU // build ID as found in the `.note.gnu.build-id` ELF section (hex string). @@ -10965,6 +12239,38 @@ const ( RPCSystemKey = attribute.Key("rpc.system") ) +// RPCConnectRPCRequestMetadata returns an attribute KeyValue conforming to the +// "rpc.connect_rpc.request.metadata" semantic conventions. It represents the +// connect request metadata, `` being the normalized Connect Metadata key +// (lowercase), the value being the metadata values. +func RPCConnectRPCRequestMetadata(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("rpc.connect_rpc.request.metadata."+key, val) +} + +// RPCConnectRPCResponseMetadata returns an attribute KeyValue conforming to the +// "rpc.connect_rpc.response.metadata" semantic conventions. It represents the +// connect response metadata, `` being the normalized Connect Metadata key +// (lowercase), the value being the metadata values. +func RPCConnectRPCResponseMetadata(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("rpc.connect_rpc.response.metadata."+key, val) +} + +// RPCGRPCRequestMetadata returns an attribute KeyValue conforming to the +// "rpc.grpc.request.metadata" semantic conventions. It represents the gRPC +// request metadata, `` being the normalized gRPC Metadata key (lowercase), +// the value being the metadata values. +func RPCGRPCRequestMetadata(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("rpc.grpc.request.metadata."+key, val) +} + +// RPCGRPCResponseMetadata returns an attribute KeyValue conforming to the +// "rpc.grpc.response.metadata" semantic conventions. It represents the gRPC +// response metadata, `` being the normalized gRPC Metadata key (lowercase), +// the value being the metadata values. +func RPCGRPCResponseMetadata(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("rpc.grpc.response.metadata."+key, val) +} + // RPCJSONRPCErrorCode returns an attribute KeyValue conforming to the // "rpc.jsonrpc.error_code" semantic conventions. It represents the `error.code` // property of response if it is an error response. @@ -11820,15 +13126,12 @@ var ( // Enum values for system.memory.state var ( - // used + // Actual used virtual memory in bytes. // Stability: development SystemMemoryStateUsed = SystemMemoryStateKey.String("used") // free // Stability: development SystemMemoryStateFree = SystemMemoryStateKey.String("free") - // Deprecated: Removed, report shared memory usage with - // `metric.system.memory.shared` metric. - SystemMemoryStateShared = SystemMemoryStateKey.String("shared") // buffers // Stability: development SystemMemoryStateBuffers = SystemMemoryStateKey.String("buffers") @@ -13727,8 +15030,6 @@ var ( // // [GitLab]: https://gitlab.com VCSProviderNameGitlab = VCSProviderNameKey.String("gitlab") - // Deprecated: Replaced by `gitea`. - VCSProviderNameGittea = VCSProviderNameKey.String("gittea") // [Gitea] // Stability: development // @@ -13848,4 +15149,45 @@ func WebEngineName(val string) attribute.KeyValue { // engine. func WebEngineVersion(val string) attribute.KeyValue { return WebEngineVersionKey.String(val) +} + +// Namespace: zos +const ( + // ZOSSmfIDKey is the attribute Key conforming to the "zos.smf.id" semantic + // conventions. It represents the System Management Facility (SMF) Identifier + // uniquely identified a z/OS system within a SYSPLEX or mainframe environment + // and is used for system and performance analysis. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "SYS1" + ZOSSmfIDKey = attribute.Key("zos.smf.id") + + // ZOSSysplexNameKey is the attribute Key conforming to the "zos.sysplex.name" + // semantic conventions. It represents the name of the SYSPLEX to which the z/OS + // system belongs too. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "SYSPLEX1" + ZOSSysplexNameKey = attribute.Key("zos.sysplex.name") +) + +// ZOSSmfID returns an attribute KeyValue conforming to the "zos.smf.id" semantic +// conventions. It represents the System Management Facility (SMF) Identifier +// uniquely identified a z/OS system within a SYSPLEX or mainframe environment +// and is used for system and performance analysis. +func ZOSSmfID(val string) attribute.KeyValue { + return ZOSSmfIDKey.String(val) +} + +// ZOSSysplexName returns an attribute KeyValue conforming to the +// "zos.sysplex.name" semantic conventions. It represents the name of the SYSPLEX +// to which the z/OS system belongs too. +func ZOSSysplexName(val string) attribute.KeyValue { + return ZOSSysplexNameKey.String(val) } \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go similarity index 96% rename from vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go index 2c5c7ebd0..111010321 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go @@ -4,6 +4,6 @@ // Package semconv implements OpenTelemetry semantic conventions. // // OpenTelemetry semantic conventions are agreed standardized naming -// patterns for OpenTelemetry things. This package represents the v1.34.0 +// patterns for OpenTelemetry things. This package represents the v1.37.0 // version of the OpenTelemetry semantic conventions. -package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go new file mode 100644 index 000000000..666bded4b --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go @@ -0,0 +1,31 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" + +import ( + "fmt" + "reflect" + + "go.opentelemetry.io/otel/attribute" +) + +// ErrorType returns an [attribute.KeyValue] identifying the error type of err. +func ErrorType(err error) attribute.KeyValue { + if err == nil { + return ErrorTypeOther + } + t := reflect.TypeOf(err) + var value string + if t.PkgPath() == "" && t.Name() == "" { + // Likely a builtin type. + value = t.String() + } else { + value = fmt.Sprintf("%s.%s", t.PkgPath(), t.Name()) + } + + if value == "" { + return ErrorTypeOther + } + return ErrorTypeKey.String(value) +} diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go similarity index 98% rename from vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go index 88a998f1e..e67469a4f 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" const ( // ExceptionEventName is the name of the Span event representing an exception. diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/otelconv/metric.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/otelconv/metric.go new file mode 100644 index 000000000..a78eafd1f --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/otelconv/metric.go @@ -0,0 +1,2126 @@ +// Code generated from semantic convention specification. DO NOT EDIT. + +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package httpconv provides types and functionality for OpenTelemetry semantic +// conventions in the "otel" namespace. +package otelconv + +import ( + "context" + "sync" + + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/metric" + "go.opentelemetry.io/otel/metric/noop" +) + +var ( + addOptPool = &sync.Pool{New: func() any { return &[]metric.AddOption{} }} + recOptPool = &sync.Pool{New: func() any { return &[]metric.RecordOption{} }} +) + +// ErrorTypeAttr is an attribute conforming to the error.type semantic +// conventions. It represents the describes a class of error the operation ended +// with. +type ErrorTypeAttr string + +var ( + // ErrorTypeOther is a fallback error value to be used when the instrumentation + // doesn't define a custom value. + ErrorTypeOther ErrorTypeAttr = "_OTHER" +) + +// ComponentTypeAttr is an attribute conforming to the otel.component.type +// semantic conventions. It represents a name identifying the type of the +// OpenTelemetry component. +type ComponentTypeAttr string + +var ( + // ComponentTypeBatchingSpanProcessor is the builtin SDK batching span + // processor. + ComponentTypeBatchingSpanProcessor ComponentTypeAttr = "batching_span_processor" + // ComponentTypeSimpleSpanProcessor is the builtin SDK simple span processor. + ComponentTypeSimpleSpanProcessor ComponentTypeAttr = "simple_span_processor" + // ComponentTypeBatchingLogProcessor is the builtin SDK batching log record + // processor. + ComponentTypeBatchingLogProcessor ComponentTypeAttr = "batching_log_processor" + // ComponentTypeSimpleLogProcessor is the builtin SDK simple log record + // processor. + ComponentTypeSimpleLogProcessor ComponentTypeAttr = "simple_log_processor" + // ComponentTypeOtlpGRPCSpanExporter is the OTLP span exporter over gRPC with + // protobuf serialization. + ComponentTypeOtlpGRPCSpanExporter ComponentTypeAttr = "otlp_grpc_span_exporter" + // ComponentTypeOtlpHTTPSpanExporter is the OTLP span exporter over HTTP with + // protobuf serialization. + ComponentTypeOtlpHTTPSpanExporter ComponentTypeAttr = "otlp_http_span_exporter" + // ComponentTypeOtlpHTTPJSONSpanExporter is the OTLP span exporter over HTTP + // with JSON serialization. + ComponentTypeOtlpHTTPJSONSpanExporter ComponentTypeAttr = "otlp_http_json_span_exporter" + // ComponentTypeZipkinHTTPSpanExporter is the zipkin span exporter over HTTP. + ComponentTypeZipkinHTTPSpanExporter ComponentTypeAttr = "zipkin_http_span_exporter" + // ComponentTypeOtlpGRPCLogExporter is the OTLP log record exporter over gRPC + // with protobuf serialization. + ComponentTypeOtlpGRPCLogExporter ComponentTypeAttr = "otlp_grpc_log_exporter" + // ComponentTypeOtlpHTTPLogExporter is the OTLP log record exporter over HTTP + // with protobuf serialization. + ComponentTypeOtlpHTTPLogExporter ComponentTypeAttr = "otlp_http_log_exporter" + // ComponentTypeOtlpHTTPJSONLogExporter is the OTLP log record exporter over + // HTTP with JSON serialization. + ComponentTypeOtlpHTTPJSONLogExporter ComponentTypeAttr = "otlp_http_json_log_exporter" + // ComponentTypePeriodicMetricReader is the builtin SDK periodically exporting + // metric reader. + ComponentTypePeriodicMetricReader ComponentTypeAttr = "periodic_metric_reader" + // ComponentTypeOtlpGRPCMetricExporter is the OTLP metric exporter over gRPC + // with protobuf serialization. + ComponentTypeOtlpGRPCMetricExporter ComponentTypeAttr = "otlp_grpc_metric_exporter" + // ComponentTypeOtlpHTTPMetricExporter is the OTLP metric exporter over HTTP + // with protobuf serialization. + ComponentTypeOtlpHTTPMetricExporter ComponentTypeAttr = "otlp_http_metric_exporter" + // ComponentTypeOtlpHTTPJSONMetricExporter is the OTLP metric exporter over HTTP + // with JSON serialization. + ComponentTypeOtlpHTTPJSONMetricExporter ComponentTypeAttr = "otlp_http_json_metric_exporter" + // ComponentTypePrometheusHTTPTextMetricExporter is the prometheus metric + // exporter over HTTP with the default text-based format. + ComponentTypePrometheusHTTPTextMetricExporter ComponentTypeAttr = "prometheus_http_text_metric_exporter" +) + +// SpanParentOriginAttr is an attribute conforming to the otel.span.parent.origin +// semantic conventions. It represents the determines whether the span has a +// parent span, and if so, [whether it is a remote parent]. +// +// [whether it is a remote parent]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote +type SpanParentOriginAttr string + +var ( + // SpanParentOriginNone is the span does not have a parent, it is a root span. + SpanParentOriginNone SpanParentOriginAttr = "none" + // SpanParentOriginLocal is the span has a parent and the parent's span context + // [isRemote()] is false. + // + // [isRemote()]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + SpanParentOriginLocal SpanParentOriginAttr = "local" + // SpanParentOriginRemote is the span has a parent and the parent's span context + // [isRemote()] is true. + // + // [isRemote()]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + SpanParentOriginRemote SpanParentOriginAttr = "remote" +) + +// SpanSamplingResultAttr is an attribute conforming to the +// otel.span.sampling_result semantic conventions. It represents the result value +// of the sampler for this span. +type SpanSamplingResultAttr string + +var ( + // SpanSamplingResultDrop is the span is not sampled and not recording. + SpanSamplingResultDrop SpanSamplingResultAttr = "DROP" + // SpanSamplingResultRecordOnly is the span is not sampled, but recording. + SpanSamplingResultRecordOnly SpanSamplingResultAttr = "RECORD_ONLY" + // SpanSamplingResultRecordAndSample is the span is sampled and recording. + SpanSamplingResultRecordAndSample SpanSamplingResultAttr = "RECORD_AND_SAMPLE" +) + +// RPCGRPCStatusCodeAttr is an attribute conforming to the rpc.grpc.status_code +// semantic conventions. It represents the gRPC status code of the last gRPC +// requests performed in scope of this export call. +type RPCGRPCStatusCodeAttr int64 + +var ( + // RPCGRPCStatusCodeOk is the OK. + RPCGRPCStatusCodeOk RPCGRPCStatusCodeAttr = 0 + // RPCGRPCStatusCodeCancelled is the CANCELLED. + RPCGRPCStatusCodeCancelled RPCGRPCStatusCodeAttr = 1 + // RPCGRPCStatusCodeUnknown is the UNKNOWN. + RPCGRPCStatusCodeUnknown RPCGRPCStatusCodeAttr = 2 + // RPCGRPCStatusCodeInvalidArgument is the INVALID_ARGUMENT. + RPCGRPCStatusCodeInvalidArgument RPCGRPCStatusCodeAttr = 3 + // RPCGRPCStatusCodeDeadlineExceeded is the DEADLINE_EXCEEDED. + RPCGRPCStatusCodeDeadlineExceeded RPCGRPCStatusCodeAttr = 4 + // RPCGRPCStatusCodeNotFound is the NOT_FOUND. + RPCGRPCStatusCodeNotFound RPCGRPCStatusCodeAttr = 5 + // RPCGRPCStatusCodeAlreadyExists is the ALREADY_EXISTS. + RPCGRPCStatusCodeAlreadyExists RPCGRPCStatusCodeAttr = 6 + // RPCGRPCStatusCodePermissionDenied is the PERMISSION_DENIED. + RPCGRPCStatusCodePermissionDenied RPCGRPCStatusCodeAttr = 7 + // RPCGRPCStatusCodeResourceExhausted is the RESOURCE_EXHAUSTED. + RPCGRPCStatusCodeResourceExhausted RPCGRPCStatusCodeAttr = 8 + // RPCGRPCStatusCodeFailedPrecondition is the FAILED_PRECONDITION. + RPCGRPCStatusCodeFailedPrecondition RPCGRPCStatusCodeAttr = 9 + // RPCGRPCStatusCodeAborted is the ABORTED. + RPCGRPCStatusCodeAborted RPCGRPCStatusCodeAttr = 10 + // RPCGRPCStatusCodeOutOfRange is the OUT_OF_RANGE. + RPCGRPCStatusCodeOutOfRange RPCGRPCStatusCodeAttr = 11 + // RPCGRPCStatusCodeUnimplemented is the UNIMPLEMENTED. + RPCGRPCStatusCodeUnimplemented RPCGRPCStatusCodeAttr = 12 + // RPCGRPCStatusCodeInternal is the INTERNAL. + RPCGRPCStatusCodeInternal RPCGRPCStatusCodeAttr = 13 + // RPCGRPCStatusCodeUnavailable is the UNAVAILABLE. + RPCGRPCStatusCodeUnavailable RPCGRPCStatusCodeAttr = 14 + // RPCGRPCStatusCodeDataLoss is the DATA_LOSS. + RPCGRPCStatusCodeDataLoss RPCGRPCStatusCodeAttr = 15 + // RPCGRPCStatusCodeUnauthenticated is the UNAUTHENTICATED. + RPCGRPCStatusCodeUnauthenticated RPCGRPCStatusCodeAttr = 16 +) + +// SDKExporterLogExported is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.log.exported" semantic conventions. It +// represents the number of log records for which the export has finished, either +// successful or failed. +type SDKExporterLogExported struct { + metric.Int64Counter +} + +// NewSDKExporterLogExported returns a new SDKExporterLogExported instrument. +func NewSDKExporterLogExported( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKExporterLogExported, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterLogExported{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.exporter.log.exported", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of log records for which the export has finished, either successful or failed."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterLogExported{noop.Int64Counter{}}, err + } + return SDKExporterLogExported{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterLogExported) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterLogExported) Name() string { + return "otel.sdk.exporter.log.exported" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterLogExported) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterLogExported) Description() string { + return "The number of log records for which the export has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with +// `rejected_log_records`), rejected log records MUST count as failed and only +// non-rejected log records count as success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterLogExported) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with +// `rejected_log_records`), rejected log records MUST count as failed and only +// non-rejected log records count as success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterLogExported) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKExporterLogExported) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterLogExported) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterLogExported) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterLogExported) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterLogExported) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterLogInflight is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.log.inflight" semantic conventions. It +// represents the number of log records which were passed to the exporter, but +// that have not been exported yet (neither successful, nor failed). +type SDKExporterLogInflight struct { + metric.Int64UpDownCounter +} + +// NewSDKExporterLogInflight returns a new SDKExporterLogInflight instrument. +func NewSDKExporterLogInflight( + m metric.Meter, + opt ...metric.Int64UpDownCounterOption, +) (SDKExporterLogInflight, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterLogInflight{noop.Int64UpDownCounter{}}, nil + } + + i, err := m.Int64UpDownCounter( + "otel.sdk.exporter.log.inflight", + append([]metric.Int64UpDownCounterOption{ + metric.WithDescription("The number of log records which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterLogInflight{noop.Int64UpDownCounter{}}, err + } + return SDKExporterLogInflight{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterLogInflight) Inst() metric.Int64UpDownCounter { + return m.Int64UpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterLogInflight) Name() string { + return "otel.sdk.exporter.log.inflight" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterLogInflight) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterLogInflight) Description() string { + return "The number of log records which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterLogInflight) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterLogInflight) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterLogInflight) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterLogInflight) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterLogInflight) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterLogInflight) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterMetricDataPointExported is an instrument used to record metric +// values conforming to the "otel.sdk.exporter.metric_data_point.exported" +// semantic conventions. It represents the number of metric data points for which +// the export has finished, either successful or failed. +type SDKExporterMetricDataPointExported struct { + metric.Int64Counter +} + +// NewSDKExporterMetricDataPointExported returns a new +// SDKExporterMetricDataPointExported instrument. +func NewSDKExporterMetricDataPointExported( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKExporterMetricDataPointExported, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterMetricDataPointExported{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.exporter.metric_data_point.exported", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of metric data points for which the export has finished, either successful or failed."), + metric.WithUnit("{data_point}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterMetricDataPointExported{noop.Int64Counter{}}, err + } + return SDKExporterMetricDataPointExported{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterMetricDataPointExported) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterMetricDataPointExported) Name() string { + return "otel.sdk.exporter.metric_data_point.exported" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterMetricDataPointExported) Unit() string { + return "{data_point}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterMetricDataPointExported) Description() string { + return "The number of metric data points for which the export has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with +// `rejected_data_points`), rejected data points MUST count as failed and only +// non-rejected data points count as success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterMetricDataPointExported) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with +// `rejected_data_points`), rejected data points MUST count as failed and only +// non-rejected data points count as success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterMetricDataPointExported) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKExporterMetricDataPointExported) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterMetricDataPointExported) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterMetricDataPointExported) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterMetricDataPointExported) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterMetricDataPointExported) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterMetricDataPointInflight is an instrument used to record metric +// values conforming to the "otel.sdk.exporter.metric_data_point.inflight" +// semantic conventions. It represents the number of metric data points which +// were passed to the exporter, but that have not been exported yet (neither +// successful, nor failed). +type SDKExporterMetricDataPointInflight struct { + metric.Int64UpDownCounter +} + +// NewSDKExporterMetricDataPointInflight returns a new +// SDKExporterMetricDataPointInflight instrument. +func NewSDKExporterMetricDataPointInflight( + m metric.Meter, + opt ...metric.Int64UpDownCounterOption, +) (SDKExporterMetricDataPointInflight, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterMetricDataPointInflight{noop.Int64UpDownCounter{}}, nil + } + + i, err := m.Int64UpDownCounter( + "otel.sdk.exporter.metric_data_point.inflight", + append([]metric.Int64UpDownCounterOption{ + metric.WithDescription("The number of metric data points which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)."), + metric.WithUnit("{data_point}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterMetricDataPointInflight{noop.Int64UpDownCounter{}}, err + } + return SDKExporterMetricDataPointInflight{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterMetricDataPointInflight) Inst() metric.Int64UpDownCounter { + return m.Int64UpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterMetricDataPointInflight) Name() string { + return "otel.sdk.exporter.metric_data_point.inflight" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterMetricDataPointInflight) Unit() string { + return "{data_point}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterMetricDataPointInflight) Description() string { + return "The number of metric data points which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterMetricDataPointInflight) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterMetricDataPointInflight) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterMetricDataPointInflight) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterMetricDataPointInflight) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterMetricDataPointInflight) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterMetricDataPointInflight) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterOperationDuration is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.operation.duration" semantic conventions. +// It represents the duration of exporting a batch of telemetry records. +type SDKExporterOperationDuration struct { + metric.Float64Histogram +} + +// NewSDKExporterOperationDuration returns a new SDKExporterOperationDuration +// instrument. +func NewSDKExporterOperationDuration( + m metric.Meter, + opt ...metric.Float64HistogramOption, +) (SDKExporterOperationDuration, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterOperationDuration{noop.Float64Histogram{}}, nil + } + + i, err := m.Float64Histogram( + "otel.sdk.exporter.operation.duration", + append([]metric.Float64HistogramOption{ + metric.WithDescription("The duration of exporting a batch of telemetry records."), + metric.WithUnit("s"), + }, opt...)..., + ) + if err != nil { + return SDKExporterOperationDuration{noop.Float64Histogram{}}, err + } + return SDKExporterOperationDuration{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterOperationDuration) Inst() metric.Float64Histogram { + return m.Float64Histogram +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterOperationDuration) Name() string { + return "otel.sdk.exporter.operation.duration" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterOperationDuration) Unit() string { + return "s" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterOperationDuration) Description() string { + return "The duration of exporting a batch of telemetry records." +} + +// Record records val to the current distribution for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// This metric defines successful operations using the full success definitions +// for [http] +// and [grpc]. Anything else is defined as an unsuccessful operation. For +// successful +// operations, `error.type` MUST NOT be set. For unsuccessful export operations, +// `error.type` MUST contain a relevant failure cause. +// +// [http]: https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success-1 +// [grpc]: https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success +func (m SDKExporterOperationDuration) Record( + ctx context.Context, + val float64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Float64Histogram.Record(ctx, val) + return + } + + o := recOptPool.Get().(*[]metric.RecordOption) + defer func() { + *o = (*o)[:0] + recOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Float64Histogram.Record(ctx, val, *o...) +} + +// RecordSet records val to the current distribution for set. +// +// This metric defines successful operations using the full success definitions +// for [http] +// and [grpc]. Anything else is defined as an unsuccessful operation. For +// successful +// operations, `error.type` MUST NOT be set. For unsuccessful export operations, +// `error.type` MUST contain a relevant failure cause. +// +// [http]: https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success-1 +// [grpc]: https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success +func (m SDKExporterOperationDuration) RecordSet(ctx context.Context, val float64, set attribute.Set) { + if set.Len() == 0 { + m.Float64Histogram.Record(ctx, val) + } + + o := recOptPool.Get().(*[]metric.RecordOption) + defer func() { + *o = (*o)[:0] + recOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Float64Histogram.Record(ctx, val, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKExporterOperationDuration) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrHTTPResponseStatusCode returns an optional attribute for the +// "http.response.status_code" semantic convention. It represents the HTTP status +// code of the last HTTP request performed in scope of this export call. +func (SDKExporterOperationDuration) AttrHTTPResponseStatusCode(val int) attribute.KeyValue { + return attribute.Int("http.response.status_code", val) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterOperationDuration) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterOperationDuration) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrRPCGRPCStatusCode returns an optional attribute for the +// "rpc.grpc.status_code" semantic convention. It represents the gRPC status code +// of the last gRPC requests performed in scope of this export call. +func (SDKExporterOperationDuration) AttrRPCGRPCStatusCode(val RPCGRPCStatusCodeAttr) attribute.KeyValue { + return attribute.Int64("rpc.grpc.status_code", int64(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterOperationDuration) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterOperationDuration) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterSpanExported is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.span.exported" semantic conventions. It +// represents the number of spans for which the export has finished, either +// successful or failed. +type SDKExporterSpanExported struct { + metric.Int64Counter +} + +// NewSDKExporterSpanExported returns a new SDKExporterSpanExported instrument. +func NewSDKExporterSpanExported( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKExporterSpanExported, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterSpanExported{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.exporter.span.exported", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of spans for which the export has finished, either successful or failed."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterSpanExported{noop.Int64Counter{}}, err + } + return SDKExporterSpanExported{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterSpanExported) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterSpanExported) Name() string { + return "otel.sdk.exporter.span.exported" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterSpanExported) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterSpanExported) Description() string { + return "The number of spans for which the export has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with `rejected_spans` +// ), rejected spans MUST count as failed and only non-rejected spans count as +// success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterSpanExported) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with `rejected_spans` +// ), rejected spans MUST count as failed and only non-rejected spans count as +// success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterSpanExported) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKExporterSpanExported) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterSpanExported) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterSpanExported) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterSpanExported) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterSpanExported) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterSpanInflight is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.span.inflight" semantic conventions. It +// represents the number of spans which were passed to the exporter, but that +// have not been exported yet (neither successful, nor failed). +type SDKExporterSpanInflight struct { + metric.Int64UpDownCounter +} + +// NewSDKExporterSpanInflight returns a new SDKExporterSpanInflight instrument. +func NewSDKExporterSpanInflight( + m metric.Meter, + opt ...metric.Int64UpDownCounterOption, +) (SDKExporterSpanInflight, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterSpanInflight{noop.Int64UpDownCounter{}}, nil + } + + i, err := m.Int64UpDownCounter( + "otel.sdk.exporter.span.inflight", + append([]metric.Int64UpDownCounterOption{ + metric.WithDescription("The number of spans which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterSpanInflight{noop.Int64UpDownCounter{}}, err + } + return SDKExporterSpanInflight{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterSpanInflight) Inst() metric.Int64UpDownCounter { + return m.Int64UpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterSpanInflight) Name() string { + return "otel.sdk.exporter.span.inflight" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterSpanInflight) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterSpanInflight) Description() string { + return "The number of spans which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterSpanInflight) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterSpanInflight) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterSpanInflight) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterSpanInflight) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterSpanInflight) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterSpanInflight) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKLogCreated is an instrument used to record metric values conforming to the +// "otel.sdk.log.created" semantic conventions. It represents the number of logs +// submitted to enabled SDK Loggers. +type SDKLogCreated struct { + metric.Int64Counter +} + +// NewSDKLogCreated returns a new SDKLogCreated instrument. +func NewSDKLogCreated( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKLogCreated, error) { + // Check if the meter is nil. + if m == nil { + return SDKLogCreated{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.log.created", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of logs submitted to enabled SDK Loggers."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKLogCreated{noop.Int64Counter{}}, err + } + return SDKLogCreated{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKLogCreated) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKLogCreated) Name() string { + return "otel.sdk.log.created" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKLogCreated) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKLogCreated) Description() string { + return "The number of logs submitted to enabled SDK Loggers." +} + +// Add adds incr to the existing count for attrs. +func (m SDKLogCreated) Add(ctx context.Context, incr int64, attrs ...attribute.KeyValue) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributes(attrs...)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +func (m SDKLogCreated) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// SDKMetricReaderCollectionDuration is an instrument used to record metric +// values conforming to the "otel.sdk.metric_reader.collection.duration" semantic +// conventions. It represents the duration of the collect operation of the metric +// reader. +type SDKMetricReaderCollectionDuration struct { + metric.Float64Histogram +} + +// NewSDKMetricReaderCollectionDuration returns a new +// SDKMetricReaderCollectionDuration instrument. +func NewSDKMetricReaderCollectionDuration( + m metric.Meter, + opt ...metric.Float64HistogramOption, +) (SDKMetricReaderCollectionDuration, error) { + // Check if the meter is nil. + if m == nil { + return SDKMetricReaderCollectionDuration{noop.Float64Histogram{}}, nil + } + + i, err := m.Float64Histogram( + "otel.sdk.metric_reader.collection.duration", + append([]metric.Float64HistogramOption{ + metric.WithDescription("The duration of the collect operation of the metric reader."), + metric.WithUnit("s"), + }, opt...)..., + ) + if err != nil { + return SDKMetricReaderCollectionDuration{noop.Float64Histogram{}}, err + } + return SDKMetricReaderCollectionDuration{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKMetricReaderCollectionDuration) Inst() metric.Float64Histogram { + return m.Float64Histogram +} + +// Name returns the semantic convention name of the instrument. +func (SDKMetricReaderCollectionDuration) Name() string { + return "otel.sdk.metric_reader.collection.duration" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKMetricReaderCollectionDuration) Unit() string { + return "s" +} + +// Description returns the semantic convention description of the instrument +func (SDKMetricReaderCollectionDuration) Description() string { + return "The duration of the collect operation of the metric reader." +} + +// Record records val to the current distribution for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful collections, `error.type` MUST NOT be set. For failed +// collections, `error.type` SHOULD contain the failure cause. +// It can happen that metrics collection is successful for some MetricProducers, +// while others fail. In that case `error.type` SHOULD be set to any of the +// failure causes. +func (m SDKMetricReaderCollectionDuration) Record( + ctx context.Context, + val float64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Float64Histogram.Record(ctx, val) + return + } + + o := recOptPool.Get().(*[]metric.RecordOption) + defer func() { + *o = (*o)[:0] + recOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Float64Histogram.Record(ctx, val, *o...) +} + +// RecordSet records val to the current distribution for set. +// +// For successful collections, `error.type` MUST NOT be set. For failed +// collections, `error.type` SHOULD contain the failure cause. +// It can happen that metrics collection is successful for some MetricProducers, +// while others fail. In that case `error.type` SHOULD be set to any of the +// failure causes. +func (m SDKMetricReaderCollectionDuration) RecordSet(ctx context.Context, val float64, set attribute.Set) { + if set.Len() == 0 { + m.Float64Histogram.Record(ctx, val) + } + + o := recOptPool.Get().(*[]metric.RecordOption) + defer func() { + *o = (*o)[:0] + recOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Float64Histogram.Record(ctx, val, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKMetricReaderCollectionDuration) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKMetricReaderCollectionDuration) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKMetricReaderCollectionDuration) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorLogProcessed is an instrument used to record metric values +// conforming to the "otel.sdk.processor.log.processed" semantic conventions. It +// represents the number of log records for which the processing has finished, +// either successful or failed. +type SDKProcessorLogProcessed struct { + metric.Int64Counter +} + +// NewSDKProcessorLogProcessed returns a new SDKProcessorLogProcessed instrument. +func NewSDKProcessorLogProcessed( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKProcessorLogProcessed, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorLogProcessed{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.processor.log.processed", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of log records for which the processing has finished, either successful or failed."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorLogProcessed{noop.Int64Counter{}}, err + } + return SDKProcessorLogProcessed{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorLogProcessed) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorLogProcessed) Name() string { + return "otel.sdk.processor.log.processed" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorLogProcessed) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorLogProcessed) Description() string { + return "The number of log records for which the processing has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful processing, `error.type` MUST NOT be set. For failed +// processing, `error.type` MUST contain the failure cause. +// For the SDK Simple and Batching Log Record Processor a log record is +// considered to be processed already when it has been submitted to the exporter, +// not when the corresponding export call has finished. +func (m SDKProcessorLogProcessed) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful processing, `error.type` MUST NOT be set. For failed +// processing, `error.type` MUST contain the failure cause. +// For the SDK Simple and Batching Log Record Processor a log record is +// considered to be processed already when it has been submitted to the exporter, +// not when the corresponding export call has finished. +func (m SDKProcessorLogProcessed) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents a low-cardinality description of the failure reason. +// SDK Batching Log Record Processors MUST use `queue_full` for log records +// dropped due to a full queue. +func (SDKProcessorLogProcessed) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorLogProcessed) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorLogProcessed) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorLogQueueCapacity is an instrument used to record metric values +// conforming to the "otel.sdk.processor.log.queue.capacity" semantic +// conventions. It represents the maximum number of log records the queue of a +// given instance of an SDK Log Record processor can hold. +type SDKProcessorLogQueueCapacity struct { + metric.Int64ObservableUpDownCounter +} + +// NewSDKProcessorLogQueueCapacity returns a new SDKProcessorLogQueueCapacity +// instrument. +func NewSDKProcessorLogQueueCapacity( + m metric.Meter, + opt ...metric.Int64ObservableUpDownCounterOption, +) (SDKProcessorLogQueueCapacity, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorLogQueueCapacity{noop.Int64ObservableUpDownCounter{}}, nil + } + + i, err := m.Int64ObservableUpDownCounter( + "otel.sdk.processor.log.queue.capacity", + append([]metric.Int64ObservableUpDownCounterOption{ + metric.WithDescription("The maximum number of log records the queue of a given instance of an SDK Log Record processor can hold."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorLogQueueCapacity{noop.Int64ObservableUpDownCounter{}}, err + } + return SDKProcessorLogQueueCapacity{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorLogQueueCapacity) Inst() metric.Int64ObservableUpDownCounter { + return m.Int64ObservableUpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorLogQueueCapacity) Name() string { + return "otel.sdk.processor.log.queue.capacity" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorLogQueueCapacity) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorLogQueueCapacity) Description() string { + return "The maximum number of log records the queue of a given instance of an SDK Log Record processor can hold." +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorLogQueueCapacity) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorLogQueueCapacity) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorLogQueueSize is an instrument used to record metric values +// conforming to the "otel.sdk.processor.log.queue.size" semantic conventions. It +// represents the number of log records in the queue of a given instance of an +// SDK log processor. +type SDKProcessorLogQueueSize struct { + metric.Int64ObservableUpDownCounter +} + +// NewSDKProcessorLogQueueSize returns a new SDKProcessorLogQueueSize instrument. +func NewSDKProcessorLogQueueSize( + m metric.Meter, + opt ...metric.Int64ObservableUpDownCounterOption, +) (SDKProcessorLogQueueSize, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorLogQueueSize{noop.Int64ObservableUpDownCounter{}}, nil + } + + i, err := m.Int64ObservableUpDownCounter( + "otel.sdk.processor.log.queue.size", + append([]metric.Int64ObservableUpDownCounterOption{ + metric.WithDescription("The number of log records in the queue of a given instance of an SDK log processor."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorLogQueueSize{noop.Int64ObservableUpDownCounter{}}, err + } + return SDKProcessorLogQueueSize{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorLogQueueSize) Inst() metric.Int64ObservableUpDownCounter { + return m.Int64ObservableUpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorLogQueueSize) Name() string { + return "otel.sdk.processor.log.queue.size" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorLogQueueSize) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorLogQueueSize) Description() string { + return "The number of log records in the queue of a given instance of an SDK log processor." +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorLogQueueSize) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorLogQueueSize) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorSpanProcessed is an instrument used to record metric values +// conforming to the "otel.sdk.processor.span.processed" semantic conventions. It +// represents the number of spans for which the processing has finished, either +// successful or failed. +type SDKProcessorSpanProcessed struct { + metric.Int64Counter +} + +// NewSDKProcessorSpanProcessed returns a new SDKProcessorSpanProcessed +// instrument. +func NewSDKProcessorSpanProcessed( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKProcessorSpanProcessed, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorSpanProcessed{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.processor.span.processed", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of spans for which the processing has finished, either successful or failed."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorSpanProcessed{noop.Int64Counter{}}, err + } + return SDKProcessorSpanProcessed{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorSpanProcessed) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorSpanProcessed) Name() string { + return "otel.sdk.processor.span.processed" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorSpanProcessed) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorSpanProcessed) Description() string { + return "The number of spans for which the processing has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful processing, `error.type` MUST NOT be set. For failed +// processing, `error.type` MUST contain the failure cause. +// For the SDK Simple and Batching Span Processor a span is considered to be +// processed already when it has been submitted to the exporter, not when the +// corresponding export call has finished. +func (m SDKProcessorSpanProcessed) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful processing, `error.type` MUST NOT be set. For failed +// processing, `error.type` MUST contain the failure cause. +// For the SDK Simple and Batching Span Processor a span is considered to be +// processed already when it has been submitted to the exporter, not when the +// corresponding export call has finished. +func (m SDKProcessorSpanProcessed) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents a low-cardinality description of the failure reason. +// SDK Batching Span Processors MUST use `queue_full` for spans dropped due to a +// full queue. +func (SDKProcessorSpanProcessed) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorSpanProcessed) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorSpanProcessed) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorSpanQueueCapacity is an instrument used to record metric values +// conforming to the "otel.sdk.processor.span.queue.capacity" semantic +// conventions. It represents the maximum number of spans the queue of a given +// instance of an SDK span processor can hold. +type SDKProcessorSpanQueueCapacity struct { + metric.Int64ObservableUpDownCounter +} + +// NewSDKProcessorSpanQueueCapacity returns a new SDKProcessorSpanQueueCapacity +// instrument. +func NewSDKProcessorSpanQueueCapacity( + m metric.Meter, + opt ...metric.Int64ObservableUpDownCounterOption, +) (SDKProcessorSpanQueueCapacity, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorSpanQueueCapacity{noop.Int64ObservableUpDownCounter{}}, nil + } + + i, err := m.Int64ObservableUpDownCounter( + "otel.sdk.processor.span.queue.capacity", + append([]metric.Int64ObservableUpDownCounterOption{ + metric.WithDescription("The maximum number of spans the queue of a given instance of an SDK span processor can hold."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorSpanQueueCapacity{noop.Int64ObservableUpDownCounter{}}, err + } + return SDKProcessorSpanQueueCapacity{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorSpanQueueCapacity) Inst() metric.Int64ObservableUpDownCounter { + return m.Int64ObservableUpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorSpanQueueCapacity) Name() string { + return "otel.sdk.processor.span.queue.capacity" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorSpanQueueCapacity) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorSpanQueueCapacity) Description() string { + return "The maximum number of spans the queue of a given instance of an SDK span processor can hold." +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorSpanQueueCapacity) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorSpanQueueCapacity) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorSpanQueueSize is an instrument used to record metric values +// conforming to the "otel.sdk.processor.span.queue.size" semantic conventions. +// It represents the number of spans in the queue of a given instance of an SDK +// span processor. +type SDKProcessorSpanQueueSize struct { + metric.Int64ObservableUpDownCounter +} + +// NewSDKProcessorSpanQueueSize returns a new SDKProcessorSpanQueueSize +// instrument. +func NewSDKProcessorSpanQueueSize( + m metric.Meter, + opt ...metric.Int64ObservableUpDownCounterOption, +) (SDKProcessorSpanQueueSize, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorSpanQueueSize{noop.Int64ObservableUpDownCounter{}}, nil + } + + i, err := m.Int64ObservableUpDownCounter( + "otel.sdk.processor.span.queue.size", + append([]metric.Int64ObservableUpDownCounterOption{ + metric.WithDescription("The number of spans in the queue of a given instance of an SDK span processor."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorSpanQueueSize{noop.Int64ObservableUpDownCounter{}}, err + } + return SDKProcessorSpanQueueSize{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorSpanQueueSize) Inst() metric.Int64ObservableUpDownCounter { + return m.Int64ObservableUpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorSpanQueueSize) Name() string { + return "otel.sdk.processor.span.queue.size" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorSpanQueueSize) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorSpanQueueSize) Description() string { + return "The number of spans in the queue of a given instance of an SDK span processor." +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorSpanQueueSize) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorSpanQueueSize) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKSpanLive is an instrument used to record metric values conforming to the +// "otel.sdk.span.live" semantic conventions. It represents the number of created +// spans with `recording=true` for which the end operation has not been called +// yet. +type SDKSpanLive struct { + metric.Int64UpDownCounter +} + +// NewSDKSpanLive returns a new SDKSpanLive instrument. +func NewSDKSpanLive( + m metric.Meter, + opt ...metric.Int64UpDownCounterOption, +) (SDKSpanLive, error) { + // Check if the meter is nil. + if m == nil { + return SDKSpanLive{noop.Int64UpDownCounter{}}, nil + } + + i, err := m.Int64UpDownCounter( + "otel.sdk.span.live", + append([]metric.Int64UpDownCounterOption{ + metric.WithDescription("The number of created spans with `recording=true` for which the end operation has not been called yet."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKSpanLive{noop.Int64UpDownCounter{}}, err + } + return SDKSpanLive{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKSpanLive) Inst() metric.Int64UpDownCounter { + return m.Int64UpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKSpanLive) Name() string { + return "otel.sdk.span.live" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKSpanLive) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKSpanLive) Description() string { + return "The number of created spans with `recording=true` for which the end operation has not been called yet." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +func (m SDKSpanLive) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +func (m SDKSpanLive) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AttrSpanSamplingResult returns an optional attribute for the +// "otel.span.sampling_result" semantic convention. It represents the result +// value of the sampler for this span. +func (SDKSpanLive) AttrSpanSamplingResult(val SpanSamplingResultAttr) attribute.KeyValue { + return attribute.String("otel.span.sampling_result", string(val)) +} + +// SDKSpanStarted is an instrument used to record metric values conforming to the +// "otel.sdk.span.started" semantic conventions. It represents the number of +// created spans. +type SDKSpanStarted struct { + metric.Int64Counter +} + +// NewSDKSpanStarted returns a new SDKSpanStarted instrument. +func NewSDKSpanStarted( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKSpanStarted, error) { + // Check if the meter is nil. + if m == nil { + return SDKSpanStarted{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.span.started", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of created spans."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKSpanStarted{noop.Int64Counter{}}, err + } + return SDKSpanStarted{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKSpanStarted) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKSpanStarted) Name() string { + return "otel.sdk.span.started" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKSpanStarted) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKSpanStarted) Description() string { + return "The number of created spans." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// Implementations MUST record this metric for all spans, even for non-recording +// ones. +func (m SDKSpanStarted) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// Implementations MUST record this metric for all spans, even for non-recording +// ones. +func (m SDKSpanStarted) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrSpanParentOrigin returns an optional attribute for the +// "otel.span.parent.origin" semantic convention. It represents the determines +// whether the span has a parent span, and if so, [whether it is a remote parent] +// . +// +// [whether it is a remote parent]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote +func (SDKSpanStarted) AttrSpanParentOrigin(val SpanParentOriginAttr) attribute.KeyValue { + return attribute.String("otel.span.parent.origin", string(val)) +} + +// AttrSpanSamplingResult returns an optional attribute for the +// "otel.span.sampling_result" semantic convention. It represents the result +// value of the sampler for this span. +func (SDKSpanStarted) AttrSpanSamplingResult(val SpanSamplingResultAttr) attribute.KeyValue { + return attribute.String("otel.span.sampling_result", string(val)) +} \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go similarity index 85% rename from vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go rename to vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go index 3c23d4592..f8a0b7044 100644 --- a/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go +++ b/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go @@ -1,9 +1,9 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" // SchemaURL is the schema URL that matches the version of the semantic conventions // that this package defines. Semconv packages starting from v1.4.0 must declare // non-empty schema URL in the form https://opentelemetry.io/schemas/ -const SchemaURL = "https://opentelemetry.io/schemas/1.34.0" +const SchemaURL = "https://opentelemetry.io/schemas/1.37.0" diff --git a/vendor/go.opentelemetry.io/otel/trace/LICENSE b/vendor/go.opentelemetry.io/otel/trace/LICENSE index 261eeb9e9..f1aee0f11 100644 --- a/vendor/go.opentelemetry.io/otel/trace/LICENSE +++ b/vendor/go.opentelemetry.io/otel/trace/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/trace/auto.go b/vendor/go.opentelemetry.io/otel/trace/auto.go index f3aa39813..8763936a8 100644 --- a/vendor/go.opentelemetry.io/otel/trace/auto.go +++ b/vendor/go.opentelemetry.io/otel/trace/auto.go @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" "go.opentelemetry.io/otel/trace/embedded" "go.opentelemetry.io/otel/trace/internal/telemetry" ) @@ -39,7 +39,7 @@ type autoTracerProvider struct{ embedded.TracerProvider } var _ TracerProvider = autoTracerProvider{} -func (p autoTracerProvider) Tracer(name string, opts ...TracerOption) Tracer { +func (autoTracerProvider) Tracer(name string, opts ...TracerOption) Tracer { cfg := NewTracerConfig(opts...) return autoTracer{ name: name, @@ -81,7 +81,7 @@ func (t autoTracer) Start(ctx context.Context, name string, opts ...SpanStartOpt // Expected to be implemented in eBPF. // //go:noinline -func (t *autoTracer) start( +func (*autoTracer) start( ctx context.Context, spanPtr *autoSpan, psc *SpanContext, diff --git a/vendor/go.opentelemetry.io/otel/trace/config.go b/vendor/go.opentelemetry.io/otel/trace/config.go index 9c0b720a4..aea11a2b5 100644 --- a/vendor/go.opentelemetry.io/otel/trace/config.go +++ b/vendor/go.opentelemetry.io/otel/trace/config.go @@ -73,7 +73,7 @@ func (cfg *SpanConfig) Timestamp() time.Time { return cfg.timestamp } -// StackTrace checks whether stack trace capturing is enabled. +// StackTrace reports whether stack trace capturing is enabled. func (cfg *SpanConfig) StackTrace() bool { return cfg.stackTrace } @@ -154,7 +154,7 @@ func (cfg *EventConfig) Timestamp() time.Time { return cfg.timestamp } -// StackTrace checks whether stack trace capturing is enabled. +// StackTrace reports whether stack trace capturing is enabled. func (cfg *EventConfig) StackTrace() bool { return cfg.stackTrace } diff --git a/vendor/go.opentelemetry.io/otel/trace/hex.go b/vendor/go.opentelemetry.io/otel/trace/hex.go new file mode 100644 index 000000000..1cbef1d4b --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/trace/hex.go @@ -0,0 +1,38 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package trace // import "go.opentelemetry.io/otel/trace" + +const ( + // hexLU is a hex lookup table of the 16 lowercase hex digits. + // The character values of the string are indexed at the equivalent + // hexadecimal value they represent. This table efficiently encodes byte data + // into a string representation of hexadecimal. + hexLU = "0123456789abcdef" + + // hexRev is a reverse hex lookup table for lowercase hex digits. + // The table is efficiently decodes a hexadecimal string into bytes. + // Valid hexadecimal characters are indexed at their respective values. All + // other invalid ASCII characters are represented with '\xff'. + // + // The '\xff' character is used as invalid because no valid character has + // the upper 4 bits set. Meaning, an efficient validation can be performed + // over multiple character parsing by checking these bits remain zero. + hexRev = "" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\x0a\x0b\x0c\x0d\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +) diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go index f663547b4..ff0f6eac6 100644 --- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go +++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go @@ -52,7 +52,7 @@ func Map(key string, value ...Attr) Attr { return Attr{key, MapValue(value...)} } -// Equal returns if a is equal to b. +// Equal reports whether a is equal to b. func (a Attr) Equal(b Attr) bool { return a.Key == b.Key && a.Value.Equal(b.Value) } diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go index 7b1ae3c4e..bea56f2e7 100644 --- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go +++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go @@ -22,7 +22,7 @@ func (tid TraceID) String() string { return hex.EncodeToString(tid[:]) } -// IsEmpty returns false if id contains at least one non-zero byte. +// IsEmpty reports whether the TraceID contains only zero bytes. func (tid TraceID) IsEmpty() bool { return tid == [traceIDSize]byte{} } @@ -50,7 +50,7 @@ func (sid SpanID) String() string { return hex.EncodeToString(sid[:]) } -// IsEmpty returns true if the span ID contains at least one non-zero byte. +// IsEmpty reports whether the SpanID contains only zero bytes. func (sid SpanID) IsEmpty() bool { return sid == [spanIDSize]byte{} } @@ -82,7 +82,7 @@ func marshalJSON(id []byte) ([]byte, error) { } // unmarshalJSON inflates trace id from hex string, possibly enclosed in quotes. -func unmarshalJSON(dst []byte, src []byte) error { +func unmarshalJSON(dst, src []byte) error { if l := len(src); l >= 2 && src[0] == '"' && src[l-1] == '"' { src = src[1 : l-1] } diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go index ae9ce102a..cb7927b81 100644 --- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go +++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go @@ -257,10 +257,10 @@ func (v Value) Kind() ValueKind { } } -// Empty returns if v does not hold any value. +// Empty reports whether v does not hold any value. func (v Value) Empty() bool { return v.Kind() == ValueKindEmpty } -// Equal returns if v is equal to w. +// Equal reports whether v is equal to w. func (v Value) Equal(w Value) bool { k1 := v.Kind() k2 := w.Kind() diff --git a/vendor/go.opentelemetry.io/otel/trace/noop.go b/vendor/go.opentelemetry.io/otel/trace/noop.go index 0f56e4dbb..400fab123 100644 --- a/vendor/go.opentelemetry.io/otel/trace/noop.go +++ b/vendor/go.opentelemetry.io/otel/trace/noop.go @@ -26,7 +26,7 @@ type noopTracerProvider struct{ embedded.TracerProvider } var _ TracerProvider = noopTracerProvider{} // Tracer returns noop implementation of Tracer. -func (p noopTracerProvider) Tracer(string, ...TracerOption) Tracer { +func (noopTracerProvider) Tracer(string, ...TracerOption) Tracer { return noopTracer{} } @@ -37,7 +37,7 @@ var _ Tracer = noopTracer{} // Start carries forward a non-recording Span, if one is present in the context, otherwise it // creates a no-op Span. -func (t noopTracer) Start(ctx context.Context, name string, _ ...SpanStartOption) (context.Context, Span) { +func (noopTracer) Start(ctx context.Context, _ string, _ ...SpanStartOption) (context.Context, Span) { span := SpanFromContext(ctx) if _, ok := span.(nonRecordingSpan); !ok { // span is likely already a noopSpan, but let's be sure diff --git a/vendor/go.opentelemetry.io/otel/trace/noop/noop.go b/vendor/go.opentelemetry.io/otel/trace/noop/noop.go index 64a4f1b36..689d220df 100644 --- a/vendor/go.opentelemetry.io/otel/trace/noop/noop.go +++ b/vendor/go.opentelemetry.io/otel/trace/noop/noop.go @@ -51,7 +51,7 @@ type Tracer struct{ embedded.Tracer } // If ctx contains a span context, the returned span will also contain that // span context. If the span context in ctx is for a non-recording span, that // span instance will be returned directly. -func (t Tracer) Start(ctx context.Context, _ string, _ ...trace.SpanStartOption) (context.Context, trace.Span) { +func (Tracer) Start(ctx context.Context, _ string, _ ...trace.SpanStartOption) (context.Context, trace.Span) { span := trace.SpanFromContext(ctx) // If the parent context contains a non-zero span context, that span diff --git a/vendor/go.opentelemetry.io/otel/trace/trace.go b/vendor/go.opentelemetry.io/otel/trace/trace.go index d49adf671..ee6f4bcb2 100644 --- a/vendor/go.opentelemetry.io/otel/trace/trace.go +++ b/vendor/go.opentelemetry.io/otel/trace/trace.go @@ -4,8 +4,6 @@ package trace // import "go.opentelemetry.io/otel/trace" import ( - "bytes" - "encoding/hex" "encoding/json" ) @@ -38,21 +36,47 @@ var ( _ json.Marshaler = nilTraceID ) -// IsValid checks whether the trace TraceID is valid. A valid trace ID does +// IsValid reports whether the trace TraceID is valid. A valid trace ID does // not consist of zeros only. func (t TraceID) IsValid() bool { - return !bytes.Equal(t[:], nilTraceID[:]) + return t != nilTraceID } // MarshalJSON implements a custom marshal function to encode TraceID // as a hex string. func (t TraceID) MarshalJSON() ([]byte, error) { - return json.Marshal(t.String()) + b := [32 + 2]byte{0: '"', 33: '"'} + h := t.hexBytes() + copy(b[1:], h[:]) + return b[:], nil } // String returns the hex string representation form of a TraceID. func (t TraceID) String() string { - return hex.EncodeToString(t[:]) + h := t.hexBytes() + return string(h[:]) +} + +// hexBytes returns the hex string representation form of a TraceID. +func (t TraceID) hexBytes() [32]byte { + return [32]byte{ + hexLU[t[0x0]>>4], hexLU[t[0x0]&0xf], + hexLU[t[0x1]>>4], hexLU[t[0x1]&0xf], + hexLU[t[0x2]>>4], hexLU[t[0x2]&0xf], + hexLU[t[0x3]>>4], hexLU[t[0x3]&0xf], + hexLU[t[0x4]>>4], hexLU[t[0x4]&0xf], + hexLU[t[0x5]>>4], hexLU[t[0x5]&0xf], + hexLU[t[0x6]>>4], hexLU[t[0x6]&0xf], + hexLU[t[0x7]>>4], hexLU[t[0x7]&0xf], + hexLU[t[0x8]>>4], hexLU[t[0x8]&0xf], + hexLU[t[0x9]>>4], hexLU[t[0x9]&0xf], + hexLU[t[0xa]>>4], hexLU[t[0xa]&0xf], + hexLU[t[0xb]>>4], hexLU[t[0xb]&0xf], + hexLU[t[0xc]>>4], hexLU[t[0xc]&0xf], + hexLU[t[0xd]>>4], hexLU[t[0xd]&0xf], + hexLU[t[0xe]>>4], hexLU[t[0xe]&0xf], + hexLU[t[0xf]>>4], hexLU[t[0xf]&0xf], + } } // SpanID is a unique identity of a span in a trace. @@ -63,21 +87,38 @@ var ( _ json.Marshaler = nilSpanID ) -// IsValid checks whether the SpanID is valid. A valid SpanID does not consist +// IsValid reports whether the SpanID is valid. A valid SpanID does not consist // of zeros only. func (s SpanID) IsValid() bool { - return !bytes.Equal(s[:], nilSpanID[:]) + return s != nilSpanID } // MarshalJSON implements a custom marshal function to encode SpanID // as a hex string. func (s SpanID) MarshalJSON() ([]byte, error) { - return json.Marshal(s.String()) + b := [16 + 2]byte{0: '"', 17: '"'} + h := s.hexBytes() + copy(b[1:], h[:]) + return b[:], nil } // String returns the hex string representation form of a SpanID. func (s SpanID) String() string { - return hex.EncodeToString(s[:]) + b := s.hexBytes() + return string(b[:]) +} + +func (s SpanID) hexBytes() [16]byte { + return [16]byte{ + hexLU[s[0]>>4], hexLU[s[0]&0xf], + hexLU[s[1]>>4], hexLU[s[1]&0xf], + hexLU[s[2]>>4], hexLU[s[2]&0xf], + hexLU[s[3]>>4], hexLU[s[3]&0xf], + hexLU[s[4]>>4], hexLU[s[4]&0xf], + hexLU[s[5]>>4], hexLU[s[5]&0xf], + hexLU[s[6]>>4], hexLU[s[6]&0xf], + hexLU[s[7]>>4], hexLU[s[7]&0xf], + } } // TraceIDFromHex returns a TraceID from a hex string if it is compliant with @@ -85,65 +126,58 @@ func (s SpanID) String() string { // https://www.w3.org/TR/trace-context/#trace-id // nolint:revive // revive complains about stutter of `trace.TraceIDFromHex`. func TraceIDFromHex(h string) (TraceID, error) { - t := TraceID{} if len(h) != 32 { - return t, errInvalidTraceIDLength + return [16]byte{}, errInvalidTraceIDLength } - - if err := decodeHex(h, t[:]); err != nil { - return t, err + var b [16]byte + invalidMark := byte(0) + for i := 0; i < len(h); i += 4 { + b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]] + b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]] + invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]] } - - if !t.IsValid() { - return t, errNilTraceID + // If the upper 4 bits of any byte are not zero, there was an invalid hex + // character since invalid hex characters are 0xff in hexRev. + if invalidMark&0xf0 != 0 { + return [16]byte{}, errInvalidHexID + } + // If we didn't set any bits, then h was all zeros. + if invalidMark == 0 { + return [16]byte{}, errNilTraceID } - return t, nil + return b, nil } // SpanIDFromHex returns a SpanID from a hex string if it is compliant // with the w3c trace-context specification. // See more at https://www.w3.org/TR/trace-context/#parent-id func SpanIDFromHex(h string) (SpanID, error) { - s := SpanID{} if len(h) != 16 { - return s, errInvalidSpanIDLength - } - - if err := decodeHex(h, s[:]); err != nil { - return s, err + return [8]byte{}, errInvalidSpanIDLength } - - if !s.IsValid() { - return s, errNilSpanID + var b [8]byte + invalidMark := byte(0) + for i := 0; i < len(h); i += 4 { + b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]] + b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]] + invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]] } - return s, nil -} - -func decodeHex(h string, b []byte) error { - for _, r := range h { - switch { - case 'a' <= r && r <= 'f': - continue - case '0' <= r && r <= '9': - continue - default: - return errInvalidHexID - } + // If the upper 4 bits of any byte are not zero, there was an invalid hex + // character since invalid hex characters are 0xff in hexRev. + if invalidMark&0xf0 != 0 { + return [8]byte{}, errInvalidHexID } - - decoded, err := hex.DecodeString(h) - if err != nil { - return err + // If we didn't set any bits, then h was all zeros. + if invalidMark == 0 { + return [8]byte{}, errNilSpanID } - - copy(b, decoded) - return nil + return b, nil } // TraceFlags contains flags that can be set on a SpanContext. type TraceFlags byte //nolint:revive // revive complains about stutter of `trace.TraceFlags`. -// IsSampled returns if the sampling bit is set in the TraceFlags. +// IsSampled reports whether the sampling bit is set in the TraceFlags. func (tf TraceFlags) IsSampled() bool { return tf&FlagsSampled == FlagsSampled } @@ -160,12 +194,20 @@ func (tf TraceFlags) WithSampled(sampled bool) TraceFlags { // nolint:revive // // MarshalJSON implements a custom marshal function to encode TraceFlags // as a hex string. func (tf TraceFlags) MarshalJSON() ([]byte, error) { - return json.Marshal(tf.String()) + b := [2 + 2]byte{0: '"', 3: '"'} + h := tf.hexBytes() + copy(b[1:], h[:]) + return b[:], nil } // String returns the hex string representation form of TraceFlags. func (tf TraceFlags) String() string { - return hex.EncodeToString([]byte{byte(tf)}[:]) + h := tf.hexBytes() + return string(h[:]) +} + +func (tf TraceFlags) hexBytes() [2]byte { + return [2]byte{hexLU[tf>>4], hexLU[tf&0xf]} } // SpanContextConfig contains mutable fields usable for constructing @@ -201,13 +243,13 @@ type SpanContext struct { var _ json.Marshaler = SpanContext{} -// IsValid returns if the SpanContext is valid. A valid span context has a +// IsValid reports whether the SpanContext is valid. A valid span context has a // valid TraceID and SpanID. func (sc SpanContext) IsValid() bool { return sc.HasTraceID() && sc.HasSpanID() } -// IsRemote indicates whether the SpanContext represents a remotely-created Span. +// IsRemote reports whether the SpanContext represents a remotely-created Span. func (sc SpanContext) IsRemote() bool { return sc.remote } @@ -228,7 +270,7 @@ func (sc SpanContext) TraceID() TraceID { return sc.traceID } -// HasTraceID checks if the SpanContext has a valid TraceID. +// HasTraceID reports whether the SpanContext has a valid TraceID. func (sc SpanContext) HasTraceID() bool { return sc.traceID.IsValid() } @@ -249,7 +291,7 @@ func (sc SpanContext) SpanID() SpanID { return sc.spanID } -// HasSpanID checks if the SpanContext has a valid SpanID. +// HasSpanID reports whether the SpanContext has a valid SpanID. func (sc SpanContext) HasSpanID() bool { return sc.spanID.IsValid() } @@ -270,7 +312,7 @@ func (sc SpanContext) TraceFlags() TraceFlags { return sc.traceFlags } -// IsSampled returns if the sampling bit is set in the SpanContext's TraceFlags. +// IsSampled reports whether the sampling bit is set in the SpanContext's TraceFlags. func (sc SpanContext) IsSampled() bool { return sc.traceFlags.IsSampled() } @@ -302,7 +344,7 @@ func (sc SpanContext) WithTraceState(state TraceState) SpanContext { } } -// Equal is a predicate that determines whether two SpanContext values are equal. +// Equal reports whether two SpanContext values are equal. func (sc SpanContext) Equal(other SpanContext) bool { return sc.traceID == other.traceID && sc.spanID == other.spanID && diff --git a/vendor/go.opentelemetry.io/otel/trace/tracestate.go b/vendor/go.opentelemetry.io/otel/trace/tracestate.go index dc5e34cad..073adae2f 100644 --- a/vendor/go.opentelemetry.io/otel/trace/tracestate.go +++ b/vendor/go.opentelemetry.io/otel/trace/tracestate.go @@ -80,7 +80,7 @@ func checkKeyRemain(key string) bool { // // param n is remain part length, should be 255 in simple-key or 13 in system-id. func checkKeyPart(key string, n int) bool { - if len(key) == 0 { + if key == "" { return false } first := key[0] // key's first char @@ -102,7 +102,7 @@ func isAlphaNum(c byte) bool { // // param n is remain part length, should be 240 exactly. func checkKeyTenant(key string, n int) bool { - if len(key) == 0 { + if key == "" { return false } return isAlphaNum(key[0]) && len(key[1:]) <= n && checkKeyRemain(key[1:]) @@ -191,7 +191,7 @@ func ParseTraceState(ts string) (TraceState, error) { for ts != "" { var memberStr string memberStr, ts, _ = strings.Cut(ts, listDelimiters) - if len(memberStr) == 0 { + if memberStr == "" { continue } diff --git a/vendor/go.opentelemetry.io/otel/version.go b/vendor/go.opentelemetry.io/otel/version.go index 7afe92b59..bcaa5aa53 100644 --- a/vendor/go.opentelemetry.io/otel/version.go +++ b/vendor/go.opentelemetry.io/otel/version.go @@ -5,5 +5,5 @@ package otel // import "go.opentelemetry.io/otel" // Version is the current release version of OpenTelemetry in use. func Version() string { - return "1.37.0" + return "1.38.0" } diff --git a/vendor/go.opentelemetry.io/otel/versions.yaml b/vendor/go.opentelemetry.io/otel/versions.yaml index 9d4742a17..07145e254 100644 --- a/vendor/go.opentelemetry.io/otel/versions.yaml +++ b/vendor/go.opentelemetry.io/otel/versions.yaml @@ -3,7 +3,7 @@ module-sets: stable-v1: - version: v1.37.0 + version: v1.38.0 modules: - go.opentelemetry.io/otel - go.opentelemetry.io/otel/bridge/opencensus @@ -22,11 +22,11 @@ module-sets: - go.opentelemetry.io/otel/sdk/metric - go.opentelemetry.io/otel/trace experimental-metrics: - version: v0.59.0 + version: v0.60.0 modules: - go.opentelemetry.io/otel/exporters/prometheus experimental-logs: - version: v0.13.0 + version: v0.14.0 modules: - go.opentelemetry.io/otel/log - go.opentelemetry.io/otel/log/logtest @@ -36,7 +36,7 @@ module-sets: - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp - go.opentelemetry.io/otel/exporters/stdout/stdoutlog experimental-schema: - version: v0.0.12 + version: v0.0.13 modules: - go.opentelemetry.io/otel/schema excluded-modules: diff --git a/vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go b/vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go index ec187b13d..ff8282791 100644 --- a/vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go +++ b/vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go @@ -994,6 +994,16 @@ type NumberDataPoint struct { // where this point belongs. The list may be empty (may contain 0 elements). // Attribute keys MUST be unique (it is not allowed to have more than one // attribute with the same key). + // + // The attribute values SHOULD NOT contain empty values. + // The attribute values SHOULD NOT contain bytes values. + // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values, + // double values. + // The attribute values SHOULD NOT contain kvlist values. + // The behavior of software that receives attributes containing such values can be unpredictable. + // These restrictions can change in a minor release. + // The restrictions take origin from the OpenTelemetry specification: + // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute. Attributes []*v11.KeyValue `protobuf:"bytes,7,rep,name=attributes,proto3" json:"attributes,omitempty"` // StartTimeUnixNano is optional but strongly encouraged, see the // the detailed comments above Metric. @@ -1144,6 +1154,16 @@ type HistogramDataPoint struct { // where this point belongs. The list may be empty (may contain 0 elements). // Attribute keys MUST be unique (it is not allowed to have more than one // attribute with the same key). + // + // The attribute values SHOULD NOT contain empty values. + // The attribute values SHOULD NOT contain bytes values. + // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values, + // double values. + // The attribute values SHOULD NOT contain kvlist values. + // The behavior of software that receives attributes containing such values can be unpredictable. + // These restrictions can change in a minor release. + // The restrictions take origin from the OpenTelemetry specification: + // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute. Attributes []*v11.KeyValue `protobuf:"bytes,9,rep,name=attributes,proto3" json:"attributes,omitempty"` // StartTimeUnixNano is optional but strongly encouraged, see the // the detailed comments above Metric. @@ -1331,6 +1351,16 @@ type ExponentialHistogramDataPoint struct { // where this point belongs. The list may be empty (may contain 0 elements). // Attribute keys MUST be unique (it is not allowed to have more than one // attribute with the same key). + // + // The attribute values SHOULD NOT contain empty values. + // The attribute values SHOULD NOT contain bytes values. + // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values, + // double values. + // The attribute values SHOULD NOT contain kvlist values. + // The behavior of software that receives attributes containing such values can be unpredictable. + // These restrictions can change in a minor release. + // The restrictions take origin from the OpenTelemetry specification: + // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute. Attributes []*v11.KeyValue `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"` // StartTimeUnixNano is optional but strongly encouraged, see the // the detailed comments above Metric. @@ -1546,6 +1576,16 @@ type SummaryDataPoint struct { // where this point belongs. The list may be empty (may contain 0 elements). // Attribute keys MUST be unique (it is not allowed to have more than one // attribute with the same key). + // + // The attribute values SHOULD NOT contain empty values. + // The attribute values SHOULD NOT contain bytes values. + // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values, + // double values. + // The attribute values SHOULD NOT contain kvlist values. + // The behavior of software that receives attributes containing such values can be unpredictable. + // These restrictions can change in a minor release. + // The restrictions take origin from the OpenTelemetry specification: + // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute. Attributes []*v11.KeyValue `protobuf:"bytes,7,rep,name=attributes,proto3" json:"attributes,omitempty"` // StartTimeUnixNano is optional but strongly encouraged, see the // the detailed comments above Metric. diff --git a/vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go b/vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go index eb7745d66..3bcfcd82b 100644 --- a/vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go +++ b/vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go @@ -44,6 +44,16 @@ type Resource struct { // Set of attributes that describe the resource. // Attribute keys MUST be unique (it is not allowed to have more than one // attribute with the same key). + // + // The attribute values SHOULD NOT contain empty values. + // The attribute values SHOULD NOT contain bytes values. + // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values, + // double values. + // The attribute values SHOULD NOT contain kvlist values. + // The behavior of software that receives attributes containing such values can be unpredictable. + // These restrictions can change in a minor release. + // The restrictions take origin from the OpenTelemetry specification: + // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute. Attributes []*v1.KeyValue `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"` // dropped_attributes_count is the number of dropped attributes. If the value is 0, then // no attributes were dropped. diff --git a/vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go b/vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go index b342a0a94..f9bdfc0aa 100644 --- a/vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go +++ b/vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go @@ -534,10 +534,18 @@ type Span struct { // "example.com/myattribute": true // "example.com/score": 10.239 // - // The OpenTelemetry API specification further restricts the allowed value types: - // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute // Attribute keys MUST be unique (it is not allowed to have more than one // attribute with the same key). + // + // The attribute values SHOULD NOT contain empty values. + // The attribute values SHOULD NOT contain bytes values. + // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values, + // double values. + // The attribute values SHOULD NOT contain kvlist values. + // The behavior of software that receives attributes containing such values can be unpredictable. + // These restrictions can change in a minor release. + // The restrictions take origin from the OpenTelemetry specification: + // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute. Attributes []*v11.KeyValue `protobuf:"bytes,9,rep,name=attributes,proto3" json:"attributes,omitempty"` // dropped_attributes_count is the number of attributes that were discarded. Attributes // can be discarded because their keys are too long or because there are too many @@ -777,6 +785,16 @@ type Span_Event struct { // attributes is a collection of attribute key/value pairs on the event. // Attribute keys MUST be unique (it is not allowed to have more than one // attribute with the same key). + // + // The attribute values SHOULD NOT contain empty values. + // The attribute values SHOULD NOT contain bytes values. + // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values, + // double values. + // The attribute values SHOULD NOT contain kvlist values. + // The behavior of software that receives attributes containing such values can be unpredictable. + // These restrictions can change in a minor release. + // The restrictions take origin from the OpenTelemetry specification: + // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute. Attributes []*v11.KeyValue `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty"` // dropped_attributes_count is the number of dropped attributes. If the value is 0, // then no attributes were dropped. @@ -862,6 +880,16 @@ type Span_Link struct { // attributes is a collection of attribute key/value pairs on the link. // Attribute keys MUST be unique (it is not allowed to have more than one // attribute with the same key). + // + // The attribute values SHOULD NOT contain empty values. + // The attribute values SHOULD NOT contain bytes values. + // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values, + // double values. + // The attribute values SHOULD NOT contain kvlist values. + // The behavior of software that receives attributes containing such values can be unpredictable. + // These restrictions can change in a minor release. + // The restrictions take origin from the OpenTelemetry specification: + // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute. Attributes []*v11.KeyValue `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"` // dropped_attributes_count is the number of dropped attributes. If the value is 0, // then no attributes were dropped. diff --git a/vendor/go.uber.org/multierr/.codecov.yml b/vendor/go.uber.org/multierr/.codecov.yml deleted file mode 100644 index 6d4d1be7b..000000000 --- a/vendor/go.uber.org/multierr/.codecov.yml +++ /dev/null @@ -1,15 +0,0 @@ -coverage: - range: 80..100 - round: down - precision: 2 - - status: - project: # measuring the overall project coverage - default: # context, you can create multiple ones with custom titles - enabled: yes # must be yes|true to enable this status - target: 100 # specify the target coverage for each commit status - # option: "auto" (must increase from parent commit or pull request base) - # option: "X%" a static target percentage to hit - if_not_found: success # if parent is not found report status as success, error, or failure - if_ci_failed: error # if ci fails report status as success, error, or failure - diff --git a/vendor/go.uber.org/multierr/.gitignore b/vendor/go.uber.org/multierr/.gitignore deleted file mode 100644 index b9a05e3da..000000000 --- a/vendor/go.uber.org/multierr/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/vendor -cover.html -cover.out -/bin diff --git a/vendor/go.uber.org/multierr/CHANGELOG.md b/vendor/go.uber.org/multierr/CHANGELOG.md deleted file mode 100644 index f8177b978..000000000 --- a/vendor/go.uber.org/multierr/CHANGELOG.md +++ /dev/null @@ -1,95 +0,0 @@ -Releases -======== - -v1.11.0 (2023-03-28) -==================== -- `Errors` now supports any error that implements multiple-error - interface. -- Add `Every` function to allow checking if all errors in the chain - satisfies `errors.Is` against the target error. - -v1.10.0 (2023-03-08) -==================== - -- Comply with Go 1.20's multiple-error interface. -- Drop Go 1.18 support. - Per the support policy, only Go 1.19 and 1.20 are supported now. -- Drop all non-test external dependencies. - -v1.9.0 (2022-12-12) -=================== - -- Add `AppendFunc` that allow passsing functions to similar to - `AppendInvoke`. - -- Bump up yaml.v3 dependency to 3.0.1. - -v1.8.0 (2022-02-28) -=================== - -- `Combine`: perform zero allocations when there are no errors. - - -v1.7.0 (2021-05-06) -=================== - -- Add `AppendInvoke` to append into errors from `defer` blocks. - - -v1.6.0 (2020-09-14) -=================== - -- Actually drop library dependency on development-time tooling. - - -v1.5.0 (2020-02-24) -=================== - -- Drop library dependency on development-time tooling. - - -v1.4.0 (2019-11-04) -=================== - -- Add `AppendInto` function to more ergonomically build errors inside a - loop. - - -v1.3.0 (2019-10-29) -=================== - -- Switch to Go modules. - - -v1.2.0 (2019-09-26) -=================== - -- Support extracting and matching against wrapped errors with `errors.As` - and `errors.Is`. - - -v1.1.0 (2017-06-30) -=================== - -- Added an `Errors(error) []error` function to extract the underlying list of - errors for a multierr error. - - -v1.0.0 (2017-05-31) -=================== - -No changes since v0.2.0. This release is committing to making no breaking -changes to the current API in the 1.X series. - - -v0.2.0 (2017-04-11) -=================== - -- Repeatedly appending to the same error is now faster due to fewer - allocations. - - -v0.1.0 (2017-31-03) -=================== - -- Initial release diff --git a/vendor/go.uber.org/multierr/LICENSE.txt b/vendor/go.uber.org/multierr/LICENSE.txt deleted file mode 100644 index 413e30f7c..000000000 --- a/vendor/go.uber.org/multierr/LICENSE.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2017-2021 Uber Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/go.uber.org/multierr/Makefile b/vendor/go.uber.org/multierr/Makefile deleted file mode 100644 index dcb6fe723..000000000 --- a/vendor/go.uber.org/multierr/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# Directory to put `go install`ed binaries in. -export GOBIN ?= $(shell pwd)/bin - -GO_FILES := $(shell \ - find . '(' -path '*/.*' -o -path './vendor' ')' -prune \ - -o -name '*.go' -print | cut -b3-) - -.PHONY: build -build: - go build ./... - -.PHONY: test -test: - go test -race ./... - -.PHONY: gofmt -gofmt: - $(eval FMT_LOG := $(shell mktemp -t gofmt.XXXXX)) - @gofmt -e -s -l $(GO_FILES) > $(FMT_LOG) || true - @[ ! -s "$(FMT_LOG)" ] || (echo "gofmt failed:" | cat - $(FMT_LOG) && false) - -.PHONY: golint -golint: - @cd tools && go install golang.org/x/lint/golint - @$(GOBIN)/golint ./... - -.PHONY: staticcheck -staticcheck: - @cd tools && go install honnef.co/go/tools/cmd/staticcheck - @$(GOBIN)/staticcheck ./... - -.PHONY: lint -lint: gofmt golint staticcheck - -.PHONY: cover -cover: - go test -race -coverprofile=cover.out -coverpkg=./... -v ./... - go tool cover -html=cover.out -o cover.html diff --git a/vendor/go.uber.org/multierr/README.md b/vendor/go.uber.org/multierr/README.md deleted file mode 100644 index 5ab6ac40f..000000000 --- a/vendor/go.uber.org/multierr/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# multierr [![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] - -`multierr` allows combining one or more Go `error`s together. - -## Features - -- **Idiomatic**: - multierr follows best practices in Go, and keeps your code idiomatic. - - It keeps the underlying error type hidden, - allowing you to deal in `error` values exclusively. - - It provides APIs to safely append into an error from a `defer` statement. -- **Performant**: - multierr is optimized for performance: - - It avoids allocations where possible. - - It utilizes slice resizing semantics to optimize common cases - like appending into the same error object from a loop. -- **Interoperable**: - multierr interoperates with the Go standard library's error APIs seamlessly: - - The `errors.Is` and `errors.As` functions *just work*. -- **Lightweight**: - multierr comes with virtually no dependencies. - -## Installation - -```bash -go get -u go.uber.org/multierr@latest -``` - -## Status - -Stable: No breaking changes will be made before 2.0. - -------------------------------------------------------------------------------- - -Released under the [MIT License]. - -[MIT License]: LICENSE.txt -[doc-img]: https://pkg.go.dev/badge/go.uber.org/multierr -[doc]: https://pkg.go.dev/go.uber.org/multierr -[ci-img]: https://github.com/uber-go/multierr/actions/workflows/go.yml/badge.svg -[cov-img]: https://codecov.io/gh/uber-go/multierr/branch/master/graph/badge.svg -[ci]: https://github.com/uber-go/multierr/actions/workflows/go.yml -[cov]: https://codecov.io/gh/uber-go/multierr diff --git a/vendor/go.uber.org/multierr/error.go b/vendor/go.uber.org/multierr/error.go deleted file mode 100644 index 3a828b2df..000000000 --- a/vendor/go.uber.org/multierr/error.go +++ /dev/null @@ -1,646 +0,0 @@ -// Copyright (c) 2017-2023 Uber Technologies, Inc. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -// Package multierr allows combining one or more errors together. -// -// # Overview -// -// Errors can be combined with the use of the Combine function. -// -// multierr.Combine( -// reader.Close(), -// writer.Close(), -// conn.Close(), -// ) -// -// If only two errors are being combined, the Append function may be used -// instead. -// -// err = multierr.Append(reader.Close(), writer.Close()) -// -// The underlying list of errors for a returned error object may be retrieved -// with the Errors function. -// -// errors := multierr.Errors(err) -// if len(errors) > 0 { -// fmt.Println("The following errors occurred:", errors) -// } -// -// # Appending from a loop -// -// You sometimes need to append into an error from a loop. -// -// var err error -// for _, item := range items { -// err = multierr.Append(err, process(item)) -// } -// -// Cases like this may require knowledge of whether an individual instance -// failed. This usually requires introduction of a new variable. -// -// var err error -// for _, item := range items { -// if perr := process(item); perr != nil { -// log.Warn("skipping item", item) -// err = multierr.Append(err, perr) -// } -// } -// -// multierr includes AppendInto to simplify cases like this. -// -// var err error -// for _, item := range items { -// if multierr.AppendInto(&err, process(item)) { -// log.Warn("skipping item", item) -// } -// } -// -// This will append the error into the err variable, and return true if that -// individual error was non-nil. -// -// See [AppendInto] for more information. -// -// # Deferred Functions -// -// Go makes it possible to modify the return value of a function in a defer -// block if the function was using named returns. This makes it possible to -// record resource cleanup failures from deferred blocks. -// -// func sendRequest(req Request) (err error) { -// conn, err := openConnection() -// if err != nil { -// return err -// } -// defer func() { -// err = multierr.Append(err, conn.Close()) -// }() -// // ... -// } -// -// multierr provides the Invoker type and AppendInvoke function to make cases -// like the above simpler and obviate the need for a closure. The following is -// roughly equivalent to the example above. -// -// func sendRequest(req Request) (err error) { -// conn, err := openConnection() -// if err != nil { -// return err -// } -// defer multierr.AppendInvoke(&err, multierr.Close(conn)) -// // ... -// } -// -// See [AppendInvoke] and [Invoker] for more information. -// -// NOTE: If you're modifying an error from inside a defer, you MUST use a named -// return value for that function. -// -// # Advanced Usage -// -// Errors returned by Combine and Append MAY implement the following -// interface. -// -// type errorGroup interface { -// // Returns a slice containing the underlying list of errors. -// // -// // This slice MUST NOT be modified by the caller. -// Errors() []error -// } -// -// Note that if you need access to list of errors behind a multierr error, you -// should prefer using the Errors function. That said, if you need cheap -// read-only access to the underlying errors slice, you can attempt to cast -// the error to this interface. You MUST handle the failure case gracefully -// because errors returned by Combine and Append are not guaranteed to -// implement this interface. -// -// var errors []error -// group, ok := err.(errorGroup) -// if ok { -// errors = group.Errors() -// } else { -// errors = []error{err} -// } -package multierr // import "go.uber.org/multierr" - -import ( - "bytes" - "errors" - "fmt" - "io" - "strings" - "sync" - "sync/atomic" -) - -var ( - // Separator for single-line error messages. - _singlelineSeparator = []byte("; ") - - // Prefix for multi-line messages - _multilinePrefix = []byte("the following errors occurred:") - - // Prefix for the first and following lines of an item in a list of - // multi-line error messages. - // - // For example, if a single item is: - // - // foo - // bar - // - // It will become, - // - // - foo - // bar - _multilineSeparator = []byte("\n - ") - _multilineIndent = []byte(" ") -) - -// _bufferPool is a pool of bytes.Buffers. -var _bufferPool = sync.Pool{ - New: func() interface{} { - return &bytes.Buffer{} - }, -} - -type errorGroup interface { - Errors() []error -} - -// Errors returns a slice containing zero or more errors that the supplied -// error is composed of. If the error is nil, a nil slice is returned. -// -// err := multierr.Append(r.Close(), w.Close()) -// errors := multierr.Errors(err) -// -// If the error is not composed of other errors, the returned slice contains -// just the error that was passed in. -// -// Callers of this function are free to modify the returned slice. -func Errors(err error) []error { - return extractErrors(err) -} - -// multiError is an error that holds one or more errors. -// -// An instance of this is guaranteed to be non-empty and flattened. That is, -// none of the errors inside multiError are other multiErrors. -// -// multiError formats to a semi-colon delimited list of error messages with -// %v and with a more readable multi-line format with %+v. -type multiError struct { - copyNeeded atomic.Bool - errors []error -} - -// Errors returns the list of underlying errors. -// -// This slice MUST NOT be modified. -func (merr *multiError) Errors() []error { - if merr == nil { - return nil - } - return merr.errors -} - -func (merr *multiError) Error() string { - if merr == nil { - return "" - } - - buff := _bufferPool.Get().(*bytes.Buffer) - buff.Reset() - - merr.writeSingleline(buff) - - result := buff.String() - _bufferPool.Put(buff) - return result -} - -// Every compares every error in the given err against the given target error -// using [errors.Is], and returns true only if every comparison returned true. -func Every(err error, target error) bool { - for _, e := range extractErrors(err) { - if !errors.Is(e, target) { - return false - } - } - return true -} - -func (merr *multiError) Format(f fmt.State, c rune) { - if c == 'v' && f.Flag('+') { - merr.writeMultiline(f) - } else { - merr.writeSingleline(f) - } -} - -func (merr *multiError) writeSingleline(w io.Writer) { - first := true - for _, item := range merr.errors { - if first { - first = false - } else { - w.Write(_singlelineSeparator) - } - io.WriteString(w, item.Error()) - } -} - -func (merr *multiError) writeMultiline(w io.Writer) { - w.Write(_multilinePrefix) - for _, item := range merr.errors { - w.Write(_multilineSeparator) - writePrefixLine(w, _multilineIndent, fmt.Sprintf("%+v", item)) - } -} - -// Writes s to the writer with the given prefix added before each line after -// the first. -func writePrefixLine(w io.Writer, prefix []byte, s string) { - first := true - for len(s) > 0 { - if first { - first = false - } else { - w.Write(prefix) - } - - idx := strings.IndexByte(s, '\n') - if idx < 0 { - idx = len(s) - 1 - } - - io.WriteString(w, s[:idx+1]) - s = s[idx+1:] - } -} - -type inspectResult struct { - // Number of top-level non-nil errors - Count int - - // Total number of errors including multiErrors - Capacity int - - // Index of the first non-nil error in the list. Value is meaningless if - // Count is zero. - FirstErrorIdx int - - // Whether the list contains at least one multiError - ContainsMultiError bool -} - -// Inspects the given slice of errors so that we can efficiently allocate -// space for it. -func inspect(errors []error) (res inspectResult) { - first := true - for i, err := range errors { - if err == nil { - continue - } - - res.Count++ - if first { - first = false - res.FirstErrorIdx = i - } - - if merr, ok := err.(*multiError); ok { - res.Capacity += len(merr.errors) - res.ContainsMultiError = true - } else { - res.Capacity++ - } - } - return -} - -// fromSlice converts the given list of errors into a single error. -func fromSlice(errors []error) error { - // Don't pay to inspect small slices. - switch len(errors) { - case 0: - return nil - case 1: - return errors[0] - } - - res := inspect(errors) - switch res.Count { - case 0: - return nil - case 1: - // only one non-nil entry - return errors[res.FirstErrorIdx] - case len(errors): - if !res.ContainsMultiError { - // Error list is flat. Make a copy of it - // Otherwise "errors" escapes to the heap - // unconditionally for all other cases. - // This lets us optimize for the "no errors" case. - out := append(([]error)(nil), errors...) - return &multiError{errors: out} - } - } - - nonNilErrs := make([]error, 0, res.Capacity) - for _, err := range errors[res.FirstErrorIdx:] { - if err == nil { - continue - } - - if nested, ok := err.(*multiError); ok { - nonNilErrs = append(nonNilErrs, nested.errors...) - } else { - nonNilErrs = append(nonNilErrs, err) - } - } - - return &multiError{errors: nonNilErrs} -} - -// Combine combines the passed errors into a single error. -// -// If zero arguments were passed or if all items are nil, a nil error is -// returned. -// -// Combine(nil, nil) // == nil -// -// If only a single error was passed, it is returned as-is. -// -// Combine(err) // == err -// -// Combine skips over nil arguments so this function may be used to combine -// together errors from operations that fail independently of each other. -// -// multierr.Combine( -// reader.Close(), -// writer.Close(), -// pipe.Close(), -// ) -// -// If any of the passed errors is a multierr error, it will be flattened along -// with the other errors. -// -// multierr.Combine(multierr.Combine(err1, err2), err3) -// // is the same as -// multierr.Combine(err1, err2, err3) -// -// The returned error formats into a readable multi-line error message if -// formatted with %+v. -// -// fmt.Sprintf("%+v", multierr.Combine(err1, err2)) -func Combine(errors ...error) error { - return fromSlice(errors) -} - -// Append appends the given errors together. Either value may be nil. -// -// This function is a specialization of Combine for the common case where -// there are only two errors. -// -// err = multierr.Append(reader.Close(), writer.Close()) -// -// The following pattern may also be used to record failure of deferred -// operations without losing information about the original error. -// -// func doSomething(..) (err error) { -// f := acquireResource() -// defer func() { -// err = multierr.Append(err, f.Close()) -// }() -// -// Note that the variable MUST be a named return to append an error to it from -// the defer statement. See also [AppendInvoke]. -func Append(left error, right error) error { - switch { - case left == nil: - return right - case right == nil: - return left - } - - if _, ok := right.(*multiError); !ok { - if l, ok := left.(*multiError); ok && !l.copyNeeded.Swap(true) { - // Common case where the error on the left is constantly being - // appended to. - errs := append(l.errors, right) - return &multiError{errors: errs} - } else if !ok { - // Both errors are single errors. - return &multiError{errors: []error{left, right}} - } - } - - // Either right or both, left and right, are multiErrors. Rely on usual - // expensive logic. - errors := [2]error{left, right} - return fromSlice(errors[0:]) -} - -// AppendInto appends an error into the destination of an error pointer and -// returns whether the error being appended was non-nil. -// -// var err error -// multierr.AppendInto(&err, r.Close()) -// multierr.AppendInto(&err, w.Close()) -// -// The above is equivalent to, -// -// err := multierr.Append(r.Close(), w.Close()) -// -// As AppendInto reports whether the provided error was non-nil, it may be -// used to build a multierr error in a loop more ergonomically. For example: -// -// var err error -// for line := range lines { -// var item Item -// if multierr.AppendInto(&err, parse(line, &item)) { -// continue -// } -// items = append(items, item) -// } -// -// Compare this with a version that relies solely on Append: -// -// var err error -// for line := range lines { -// var item Item -// if parseErr := parse(line, &item); parseErr != nil { -// err = multierr.Append(err, parseErr) -// continue -// } -// items = append(items, item) -// } -func AppendInto(into *error, err error) (errored bool) { - if into == nil { - // We panic if 'into' is nil. This is not documented above - // because suggesting that the pointer must be non-nil may - // confuse users into thinking that the error that it points - // to must be non-nil. - panic("misuse of multierr.AppendInto: into pointer must not be nil") - } - - if err == nil { - return false - } - *into = Append(*into, err) - return true -} - -// Invoker is an operation that may fail with an error. Use it with -// AppendInvoke to append the result of calling the function into an error. -// This allows you to conveniently defer capture of failing operations. -// -// See also, [Close] and [Invoke]. -type Invoker interface { - Invoke() error -} - -// Invoke wraps a function which may fail with an error to match the Invoker -// interface. Use it to supply functions matching this signature to -// AppendInvoke. -// -// For example, -// -// func processReader(r io.Reader) (err error) { -// scanner := bufio.NewScanner(r) -// defer multierr.AppendInvoke(&err, multierr.Invoke(scanner.Err)) -// for scanner.Scan() { -// // ... -// } -// // ... -// } -// -// In this example, the following line will construct the Invoker right away, -// but defer the invocation of scanner.Err() until the function returns. -// -// defer multierr.AppendInvoke(&err, multierr.Invoke(scanner.Err)) -// -// Note that the error you're appending to from the defer statement MUST be a -// named return. -type Invoke func() error - -// Invoke calls the supplied function and returns its result. -func (i Invoke) Invoke() error { return i() } - -// Close builds an Invoker that closes the provided io.Closer. Use it with -// AppendInvoke to close io.Closers and append their results into an error. -// -// For example, -// -// func processFile(path string) (err error) { -// f, err := os.Open(path) -// if err != nil { -// return err -// } -// defer multierr.AppendInvoke(&err, multierr.Close(f)) -// return processReader(f) -// } -// -// In this example, multierr.Close will construct the Invoker right away, but -// defer the invocation of f.Close until the function returns. -// -// defer multierr.AppendInvoke(&err, multierr.Close(f)) -// -// Note that the error you're appending to from the defer statement MUST be a -// named return. -func Close(closer io.Closer) Invoker { - return Invoke(closer.Close) -} - -// AppendInvoke appends the result of calling the given Invoker into the -// provided error pointer. Use it with named returns to safely defer -// invocation of fallible operations until a function returns, and capture the -// resulting errors. -// -// func doSomething(...) (err error) { -// // ... -// f, err := openFile(..) -// if err != nil { -// return err -// } -// -// // multierr will call f.Close() when this function returns and -// // if the operation fails, its append its error into the -// // returned error. -// defer multierr.AppendInvoke(&err, multierr.Close(f)) -// -// scanner := bufio.NewScanner(f) -// // Similarly, this scheduled scanner.Err to be called and -// // inspected when the function returns and append its error -// // into the returned error. -// defer multierr.AppendInvoke(&err, multierr.Invoke(scanner.Err)) -// -// // ... -// } -// -// NOTE: If used with a defer, the error variable MUST be a named return. -// -// Without defer, AppendInvoke behaves exactly like AppendInto. -// -// err := // ... -// multierr.AppendInvoke(&err, mutltierr.Invoke(foo)) -// -// // ...is roughly equivalent to... -// -// err := // ... -// multierr.AppendInto(&err, foo()) -// -// The advantage of the indirection introduced by Invoker is to make it easy -// to defer the invocation of a function. Without this indirection, the -// invoked function will be evaluated at the time of the defer block rather -// than when the function returns. -// -// // BAD: This is likely not what the caller intended. This will evaluate -// // foo() right away and append its result into the error when the -// // function returns. -// defer multierr.AppendInto(&err, foo()) -// -// // GOOD: This will defer invocation of foo unutil the function returns. -// defer multierr.AppendInvoke(&err, multierr.Invoke(foo)) -// -// multierr provides a few Invoker implementations out of the box for -// convenience. See [Invoker] for more information. -func AppendInvoke(into *error, invoker Invoker) { - AppendInto(into, invoker.Invoke()) -} - -// AppendFunc is a shorthand for [AppendInvoke]. -// It allows using function or method value directly -// without having to wrap it into an [Invoker] interface. -// -// func doSomething(...) (err error) { -// w, err := startWorker(...) -// if err != nil { -// return err -// } -// -// // multierr will call w.Stop() when this function returns and -// // if the operation fails, it appends its error into the -// // returned error. -// defer multierr.AppendFunc(&err, w.Stop) -// } -func AppendFunc(into *error, fn func() error) { - AppendInvoke(into, Invoke(fn)) -} diff --git a/vendor/go.uber.org/multierr/error_post_go120.go b/vendor/go.uber.org/multierr/error_post_go120.go deleted file mode 100644 index a173f9c25..000000000 --- a/vendor/go.uber.org/multierr/error_post_go120.go +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) 2017-2023 Uber Technologies, Inc. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -//go:build go1.20 -// +build go1.20 - -package multierr - -// Unwrap returns a list of errors wrapped by this multierr. -func (merr *multiError) Unwrap() []error { - return merr.Errors() -} - -type multipleErrors interface { - Unwrap() []error -} - -func extractErrors(err error) []error { - if err == nil { - return nil - } - - // check if the given err is an Unwrapable error that - // implements multipleErrors interface. - eg, ok := err.(multipleErrors) - if !ok { - return []error{err} - } - - return append(([]error)(nil), eg.Unwrap()...) -} diff --git a/vendor/go.uber.org/multierr/error_pre_go120.go b/vendor/go.uber.org/multierr/error_pre_go120.go deleted file mode 100644 index 93872a3fc..000000000 --- a/vendor/go.uber.org/multierr/error_pre_go120.go +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) 2017-2023 Uber Technologies, Inc. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -//go:build !go1.20 -// +build !go1.20 - -package multierr - -import "errors" - -// Versions of Go before 1.20 did not support the Unwrap() []error method. -// This provides a similar behavior by implementing the Is(..) and As(..) -// methods. -// See the errors.Join proposal for details: -// https://github.com/golang/go/issues/53435 - -// As attempts to find the first error in the error list that matches the type -// of the value that target points to. -// -// This function allows errors.As to traverse the values stored on the -// multierr error. -func (merr *multiError) As(target interface{}) bool { - for _, err := range merr.Errors() { - if errors.As(err, target) { - return true - } - } - return false -} - -// Is attempts to match the provided error against errors in the error list. -// -// This function allows errors.Is to traverse the values stored on the -// multierr error. -func (merr *multiError) Is(target error) bool { - for _, err := range merr.Errors() { - if errors.Is(err, target) { - return true - } - } - return false -} - -func extractErrors(err error) []error { - if err == nil { - return nil - } - - // Note that we're casting to multiError, not errorGroup. Our contract is - // that returned errors MAY implement errorGroup. Errors, however, only - // has special behavior for multierr-specific error objects. - // - // This behavior can be expanded in the future but I think it's prudent to - // start with as little as possible in terms of contract and possibility - // of misuse. - eg, ok := err.(*multiError) - if !ok { - return []error{err} - } - - return append(([]error)(nil), eg.Errors()...) -} diff --git a/vendor/golang.org/x/crypto/sha3/doc.go b/vendor/golang.org/x/crypto/sha3/doc.go new file mode 100644 index 000000000..bbf391fe6 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/doc.go @@ -0,0 +1,66 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package sha3 implements the SHA-3 fixed-output-length hash functions and +// the SHAKE variable-output-length hash functions defined by FIPS-202. +// +// All types in this package also implement [encoding.BinaryMarshaler], +// [encoding.BinaryAppender] and [encoding.BinaryUnmarshaler] to marshal and +// unmarshal the internal state of the hash. +// +// Both types of hash function use the "sponge" construction and the Keccak +// permutation. For a detailed specification see http://keccak.noekeon.org/ +// +// # Guidance +// +// If you aren't sure what function you need, use SHAKE256 with at least 64 +// bytes of output. The SHAKE instances are faster than the SHA3 instances; +// the latter have to allocate memory to conform to the hash.Hash interface. +// +// If you need a secret-key MAC (message authentication code), prepend the +// secret key to the input, hash with SHAKE256 and read at least 32 bytes of +// output. +// +// # Security strengths +// +// The SHA3-x (x equals 224, 256, 384, or 512) functions have a security +// strength against preimage attacks of x bits. Since they only produce "x" +// bits of output, their collision-resistance is only "x/2" bits. +// +// The SHAKE-256 and -128 functions have a generic security strength of 256 and +// 128 bits against all attacks, provided that at least 2x bits of their output +// is used. Requesting more than 64 or 32 bytes of output, respectively, does +// not increase the collision-resistance of the SHAKE functions. +// +// # The sponge construction +// +// A sponge builds a pseudo-random function from a public pseudo-random +// permutation, by applying the permutation to a state of "rate + capacity" +// bytes, but hiding "capacity" of the bytes. +// +// A sponge starts out with a zero state. To hash an input using a sponge, up +// to "rate" bytes of the input are XORed into the sponge's state. The sponge +// is then "full" and the permutation is applied to "empty" it. This process is +// repeated until all the input has been "absorbed". The input is then padded. +// The digest is "squeezed" from the sponge in the same way, except that output +// is copied out instead of input being XORed in. +// +// A sponge is parameterized by its generic security strength, which is equal +// to half its capacity; capacity + rate is equal to the permutation's width. +// Since the KeccakF-1600 permutation is 1600 bits (200 bytes) wide, this means +// that the security strength of a sponge instance is equal to (1600 - bitrate) / 2. +// +// # Recommendations +// +// The SHAKE functions are recommended for most new uses. They can produce +// output of arbitrary length. SHAKE256, with an output length of at least +// 64 bytes, provides 256-bit security against all attacks. The Keccak team +// recommends it for most applications upgrading from SHA2-512. (NIST chose a +// much stronger, but much slower, sponge instance for SHA3-512.) +// +// The SHA-3 functions are "drop-in" replacements for the SHA-2 functions. +// They produce output of the same length, with the same security strengths +// against all attacks. This means, in particular, that SHA3-256 only has +// 128-bit collision resistance, because its output length is 32 bytes. +package sha3 diff --git a/vendor/golang.org/x/crypto/sha3/hashes.go b/vendor/golang.org/x/crypto/sha3/hashes.go new file mode 100644 index 000000000..31fffbe04 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/hashes.go @@ -0,0 +1,128 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package sha3 + +// This file provides functions for creating instances of the SHA-3 +// and SHAKE hash functions, as well as utility functions for hashing +// bytes. + +import ( + "crypto" + "hash" +) + +// New224 creates a new SHA3-224 hash. +// Its generic security strength is 224 bits against preimage attacks, +// and 112 bits against collision attacks. +func New224() hash.Hash { + return new224() +} + +// New256 creates a new SHA3-256 hash. +// Its generic security strength is 256 bits against preimage attacks, +// and 128 bits against collision attacks. +func New256() hash.Hash { + return new256() +} + +// New384 creates a new SHA3-384 hash. +// Its generic security strength is 384 bits against preimage attacks, +// and 192 bits against collision attacks. +func New384() hash.Hash { + return new384() +} + +// New512 creates a new SHA3-512 hash. +// Its generic security strength is 512 bits against preimage attacks, +// and 256 bits against collision attacks. +func New512() hash.Hash { + return new512() +} + +func init() { + crypto.RegisterHash(crypto.SHA3_224, New224) + crypto.RegisterHash(crypto.SHA3_256, New256) + crypto.RegisterHash(crypto.SHA3_384, New384) + crypto.RegisterHash(crypto.SHA3_512, New512) +} + +const ( + dsbyteSHA3 = 0b00000110 + dsbyteKeccak = 0b00000001 + dsbyteShake = 0b00011111 + dsbyteCShake = 0b00000100 + + // rateK[c] is the rate in bytes for Keccak[c] where c is the capacity in + // bits. Given the sponge size is 1600 bits, the rate is 1600 - c bits. + rateK256 = (1600 - 256) / 8 + rateK448 = (1600 - 448) / 8 + rateK512 = (1600 - 512) / 8 + rateK768 = (1600 - 768) / 8 + rateK1024 = (1600 - 1024) / 8 +) + +func new224Generic() *state { + return &state{rate: rateK448, outputLen: 28, dsbyte: dsbyteSHA3} +} + +func new256Generic() *state { + return &state{rate: rateK512, outputLen: 32, dsbyte: dsbyteSHA3} +} + +func new384Generic() *state { + return &state{rate: rateK768, outputLen: 48, dsbyte: dsbyteSHA3} +} + +func new512Generic() *state { + return &state{rate: rateK1024, outputLen: 64, dsbyte: dsbyteSHA3} +} + +// NewLegacyKeccak256 creates a new Keccak-256 hash. +// +// Only use this function if you require compatibility with an existing cryptosystem +// that uses non-standard padding. All other users should use New256 instead. +func NewLegacyKeccak256() hash.Hash { + return &state{rate: rateK512, outputLen: 32, dsbyte: dsbyteKeccak} +} + +// NewLegacyKeccak512 creates a new Keccak-512 hash. +// +// Only use this function if you require compatibility with an existing cryptosystem +// that uses non-standard padding. All other users should use New512 instead. +func NewLegacyKeccak512() hash.Hash { + return &state{rate: rateK1024, outputLen: 64, dsbyte: dsbyteKeccak} +} + +// Sum224 returns the SHA3-224 digest of the data. +func Sum224(data []byte) (digest [28]byte) { + h := New224() + h.Write(data) + h.Sum(digest[:0]) + return +} + +// Sum256 returns the SHA3-256 digest of the data. +func Sum256(data []byte) (digest [32]byte) { + h := New256() + h.Write(data) + h.Sum(digest[:0]) + return +} + +// Sum384 returns the SHA3-384 digest of the data. +func Sum384(data []byte) (digest [48]byte) { + h := New384() + h.Write(data) + h.Sum(digest[:0]) + return +} + +// Sum512 returns the SHA3-512 digest of the data. +func Sum512(data []byte) (digest [64]byte) { + h := New512() + h.Write(data) + h.Sum(digest[:0]) + return +} diff --git a/vendor/golang.org/x/crypto/sha3/hashes_noasm.go b/vendor/golang.org/x/crypto/sha3/hashes_noasm.go new file mode 100644 index 000000000..9d85fb621 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/hashes_noasm.go @@ -0,0 +1,23 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !gc || purego || !s390x + +package sha3 + +func new224() *state { + return new224Generic() +} + +func new256() *state { + return new256Generic() +} + +func new384() *state { + return new384Generic() +} + +func new512() *state { + return new512Generic() +} diff --git a/vendor/golang.org/x/crypto/sha3/keccakf.go b/vendor/golang.org/x/crypto/sha3/keccakf.go new file mode 100644 index 000000000..ce48b1dd3 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/keccakf.go @@ -0,0 +1,414 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !amd64 || purego || !gc + +package sha3 + +import "math/bits" + +// rc stores the round constants for use in the ι step. +var rc = [24]uint64{ + 0x0000000000000001, + 0x0000000000008082, + 0x800000000000808A, + 0x8000000080008000, + 0x000000000000808B, + 0x0000000080000001, + 0x8000000080008081, + 0x8000000000008009, + 0x000000000000008A, + 0x0000000000000088, + 0x0000000080008009, + 0x000000008000000A, + 0x000000008000808B, + 0x800000000000008B, + 0x8000000000008089, + 0x8000000000008003, + 0x8000000000008002, + 0x8000000000000080, + 0x000000000000800A, + 0x800000008000000A, + 0x8000000080008081, + 0x8000000000008080, + 0x0000000080000001, + 0x8000000080008008, +} + +// keccakF1600 applies the Keccak permutation to a 1600b-wide +// state represented as a slice of 25 uint64s. +func keccakF1600(a *[25]uint64) { + // Implementation translated from Keccak-inplace.c + // in the keccak reference code. + var t, bc0, bc1, bc2, bc3, bc4, d0, d1, d2, d3, d4 uint64 + + for i := 0; i < 24; i += 4 { + // Combines the 5 steps in each round into 2 steps. + // Unrolls 4 rounds per loop and spreads some steps across rounds. + + // Round 1 + bc0 = a[0] ^ a[5] ^ a[10] ^ a[15] ^ a[20] + bc1 = a[1] ^ a[6] ^ a[11] ^ a[16] ^ a[21] + bc2 = a[2] ^ a[7] ^ a[12] ^ a[17] ^ a[22] + bc3 = a[3] ^ a[8] ^ a[13] ^ a[18] ^ a[23] + bc4 = a[4] ^ a[9] ^ a[14] ^ a[19] ^ a[24] + d0 = bc4 ^ (bc1<<1 | bc1>>63) + d1 = bc0 ^ (bc2<<1 | bc2>>63) + d2 = bc1 ^ (bc3<<1 | bc3>>63) + d3 = bc2 ^ (bc4<<1 | bc4>>63) + d4 = bc3 ^ (bc0<<1 | bc0>>63) + + bc0 = a[0] ^ d0 + t = a[6] ^ d1 + bc1 = bits.RotateLeft64(t, 44) + t = a[12] ^ d2 + bc2 = bits.RotateLeft64(t, 43) + t = a[18] ^ d3 + bc3 = bits.RotateLeft64(t, 21) + t = a[24] ^ d4 + bc4 = bits.RotateLeft64(t, 14) + a[0] = bc0 ^ (bc2 &^ bc1) ^ rc[i] + a[6] = bc1 ^ (bc3 &^ bc2) + a[12] = bc2 ^ (bc4 &^ bc3) + a[18] = bc3 ^ (bc0 &^ bc4) + a[24] = bc4 ^ (bc1 &^ bc0) + + t = a[10] ^ d0 + bc2 = bits.RotateLeft64(t, 3) + t = a[16] ^ d1 + bc3 = bits.RotateLeft64(t, 45) + t = a[22] ^ d2 + bc4 = bits.RotateLeft64(t, 61) + t = a[3] ^ d3 + bc0 = bits.RotateLeft64(t, 28) + t = a[9] ^ d4 + bc1 = bits.RotateLeft64(t, 20) + a[10] = bc0 ^ (bc2 &^ bc1) + a[16] = bc1 ^ (bc3 &^ bc2) + a[22] = bc2 ^ (bc4 &^ bc3) + a[3] = bc3 ^ (bc0 &^ bc4) + a[9] = bc4 ^ (bc1 &^ bc0) + + t = a[20] ^ d0 + bc4 = bits.RotateLeft64(t, 18) + t = a[1] ^ d1 + bc0 = bits.RotateLeft64(t, 1) + t = a[7] ^ d2 + bc1 = bits.RotateLeft64(t, 6) + t = a[13] ^ d3 + bc2 = bits.RotateLeft64(t, 25) + t = a[19] ^ d4 + bc3 = bits.RotateLeft64(t, 8) + a[20] = bc0 ^ (bc2 &^ bc1) + a[1] = bc1 ^ (bc3 &^ bc2) + a[7] = bc2 ^ (bc4 &^ bc3) + a[13] = bc3 ^ (bc0 &^ bc4) + a[19] = bc4 ^ (bc1 &^ bc0) + + t = a[5] ^ d0 + bc1 = bits.RotateLeft64(t, 36) + t = a[11] ^ d1 + bc2 = bits.RotateLeft64(t, 10) + t = a[17] ^ d2 + bc3 = bits.RotateLeft64(t, 15) + t = a[23] ^ d3 + bc4 = bits.RotateLeft64(t, 56) + t = a[4] ^ d4 + bc0 = bits.RotateLeft64(t, 27) + a[5] = bc0 ^ (bc2 &^ bc1) + a[11] = bc1 ^ (bc3 &^ bc2) + a[17] = bc2 ^ (bc4 &^ bc3) + a[23] = bc3 ^ (bc0 &^ bc4) + a[4] = bc4 ^ (bc1 &^ bc0) + + t = a[15] ^ d0 + bc3 = bits.RotateLeft64(t, 41) + t = a[21] ^ d1 + bc4 = bits.RotateLeft64(t, 2) + t = a[2] ^ d2 + bc0 = bits.RotateLeft64(t, 62) + t = a[8] ^ d3 + bc1 = bits.RotateLeft64(t, 55) + t = a[14] ^ d4 + bc2 = bits.RotateLeft64(t, 39) + a[15] = bc0 ^ (bc2 &^ bc1) + a[21] = bc1 ^ (bc3 &^ bc2) + a[2] = bc2 ^ (bc4 &^ bc3) + a[8] = bc3 ^ (bc0 &^ bc4) + a[14] = bc4 ^ (bc1 &^ bc0) + + // Round 2 + bc0 = a[0] ^ a[5] ^ a[10] ^ a[15] ^ a[20] + bc1 = a[1] ^ a[6] ^ a[11] ^ a[16] ^ a[21] + bc2 = a[2] ^ a[7] ^ a[12] ^ a[17] ^ a[22] + bc3 = a[3] ^ a[8] ^ a[13] ^ a[18] ^ a[23] + bc4 = a[4] ^ a[9] ^ a[14] ^ a[19] ^ a[24] + d0 = bc4 ^ (bc1<<1 | bc1>>63) + d1 = bc0 ^ (bc2<<1 | bc2>>63) + d2 = bc1 ^ (bc3<<1 | bc3>>63) + d3 = bc2 ^ (bc4<<1 | bc4>>63) + d4 = bc3 ^ (bc0<<1 | bc0>>63) + + bc0 = a[0] ^ d0 + t = a[16] ^ d1 + bc1 = bits.RotateLeft64(t, 44) + t = a[7] ^ d2 + bc2 = bits.RotateLeft64(t, 43) + t = a[23] ^ d3 + bc3 = bits.RotateLeft64(t, 21) + t = a[14] ^ d4 + bc4 = bits.RotateLeft64(t, 14) + a[0] = bc0 ^ (bc2 &^ bc1) ^ rc[i+1] + a[16] = bc1 ^ (bc3 &^ bc2) + a[7] = bc2 ^ (bc4 &^ bc3) + a[23] = bc3 ^ (bc0 &^ bc4) + a[14] = bc4 ^ (bc1 &^ bc0) + + t = a[20] ^ d0 + bc2 = bits.RotateLeft64(t, 3) + t = a[11] ^ d1 + bc3 = bits.RotateLeft64(t, 45) + t = a[2] ^ d2 + bc4 = bits.RotateLeft64(t, 61) + t = a[18] ^ d3 + bc0 = bits.RotateLeft64(t, 28) + t = a[9] ^ d4 + bc1 = bits.RotateLeft64(t, 20) + a[20] = bc0 ^ (bc2 &^ bc1) + a[11] = bc1 ^ (bc3 &^ bc2) + a[2] = bc2 ^ (bc4 &^ bc3) + a[18] = bc3 ^ (bc0 &^ bc4) + a[9] = bc4 ^ (bc1 &^ bc0) + + t = a[15] ^ d0 + bc4 = bits.RotateLeft64(t, 18) + t = a[6] ^ d1 + bc0 = bits.RotateLeft64(t, 1) + t = a[22] ^ d2 + bc1 = bits.RotateLeft64(t, 6) + t = a[13] ^ d3 + bc2 = bits.RotateLeft64(t, 25) + t = a[4] ^ d4 + bc3 = bits.RotateLeft64(t, 8) + a[15] = bc0 ^ (bc2 &^ bc1) + a[6] = bc1 ^ (bc3 &^ bc2) + a[22] = bc2 ^ (bc4 &^ bc3) + a[13] = bc3 ^ (bc0 &^ bc4) + a[4] = bc4 ^ (bc1 &^ bc0) + + t = a[10] ^ d0 + bc1 = bits.RotateLeft64(t, 36) + t = a[1] ^ d1 + bc2 = bits.RotateLeft64(t, 10) + t = a[17] ^ d2 + bc3 = bits.RotateLeft64(t, 15) + t = a[8] ^ d3 + bc4 = bits.RotateLeft64(t, 56) + t = a[24] ^ d4 + bc0 = bits.RotateLeft64(t, 27) + a[10] = bc0 ^ (bc2 &^ bc1) + a[1] = bc1 ^ (bc3 &^ bc2) + a[17] = bc2 ^ (bc4 &^ bc3) + a[8] = bc3 ^ (bc0 &^ bc4) + a[24] = bc4 ^ (bc1 &^ bc0) + + t = a[5] ^ d0 + bc3 = bits.RotateLeft64(t, 41) + t = a[21] ^ d1 + bc4 = bits.RotateLeft64(t, 2) + t = a[12] ^ d2 + bc0 = bits.RotateLeft64(t, 62) + t = a[3] ^ d3 + bc1 = bits.RotateLeft64(t, 55) + t = a[19] ^ d4 + bc2 = bits.RotateLeft64(t, 39) + a[5] = bc0 ^ (bc2 &^ bc1) + a[21] = bc1 ^ (bc3 &^ bc2) + a[12] = bc2 ^ (bc4 &^ bc3) + a[3] = bc3 ^ (bc0 &^ bc4) + a[19] = bc4 ^ (bc1 &^ bc0) + + // Round 3 + bc0 = a[0] ^ a[5] ^ a[10] ^ a[15] ^ a[20] + bc1 = a[1] ^ a[6] ^ a[11] ^ a[16] ^ a[21] + bc2 = a[2] ^ a[7] ^ a[12] ^ a[17] ^ a[22] + bc3 = a[3] ^ a[8] ^ a[13] ^ a[18] ^ a[23] + bc4 = a[4] ^ a[9] ^ a[14] ^ a[19] ^ a[24] + d0 = bc4 ^ (bc1<<1 | bc1>>63) + d1 = bc0 ^ (bc2<<1 | bc2>>63) + d2 = bc1 ^ (bc3<<1 | bc3>>63) + d3 = bc2 ^ (bc4<<1 | bc4>>63) + d4 = bc3 ^ (bc0<<1 | bc0>>63) + + bc0 = a[0] ^ d0 + t = a[11] ^ d1 + bc1 = bits.RotateLeft64(t, 44) + t = a[22] ^ d2 + bc2 = bits.RotateLeft64(t, 43) + t = a[8] ^ d3 + bc3 = bits.RotateLeft64(t, 21) + t = a[19] ^ d4 + bc4 = bits.RotateLeft64(t, 14) + a[0] = bc0 ^ (bc2 &^ bc1) ^ rc[i+2] + a[11] = bc1 ^ (bc3 &^ bc2) + a[22] = bc2 ^ (bc4 &^ bc3) + a[8] = bc3 ^ (bc0 &^ bc4) + a[19] = bc4 ^ (bc1 &^ bc0) + + t = a[15] ^ d0 + bc2 = bits.RotateLeft64(t, 3) + t = a[1] ^ d1 + bc3 = bits.RotateLeft64(t, 45) + t = a[12] ^ d2 + bc4 = bits.RotateLeft64(t, 61) + t = a[23] ^ d3 + bc0 = bits.RotateLeft64(t, 28) + t = a[9] ^ d4 + bc1 = bits.RotateLeft64(t, 20) + a[15] = bc0 ^ (bc2 &^ bc1) + a[1] = bc1 ^ (bc3 &^ bc2) + a[12] = bc2 ^ (bc4 &^ bc3) + a[23] = bc3 ^ (bc0 &^ bc4) + a[9] = bc4 ^ (bc1 &^ bc0) + + t = a[5] ^ d0 + bc4 = bits.RotateLeft64(t, 18) + t = a[16] ^ d1 + bc0 = bits.RotateLeft64(t, 1) + t = a[2] ^ d2 + bc1 = bits.RotateLeft64(t, 6) + t = a[13] ^ d3 + bc2 = bits.RotateLeft64(t, 25) + t = a[24] ^ d4 + bc3 = bits.RotateLeft64(t, 8) + a[5] = bc0 ^ (bc2 &^ bc1) + a[16] = bc1 ^ (bc3 &^ bc2) + a[2] = bc2 ^ (bc4 &^ bc3) + a[13] = bc3 ^ (bc0 &^ bc4) + a[24] = bc4 ^ (bc1 &^ bc0) + + t = a[20] ^ d0 + bc1 = bits.RotateLeft64(t, 36) + t = a[6] ^ d1 + bc2 = bits.RotateLeft64(t, 10) + t = a[17] ^ d2 + bc3 = bits.RotateLeft64(t, 15) + t = a[3] ^ d3 + bc4 = bits.RotateLeft64(t, 56) + t = a[14] ^ d4 + bc0 = bits.RotateLeft64(t, 27) + a[20] = bc0 ^ (bc2 &^ bc1) + a[6] = bc1 ^ (bc3 &^ bc2) + a[17] = bc2 ^ (bc4 &^ bc3) + a[3] = bc3 ^ (bc0 &^ bc4) + a[14] = bc4 ^ (bc1 &^ bc0) + + t = a[10] ^ d0 + bc3 = bits.RotateLeft64(t, 41) + t = a[21] ^ d1 + bc4 = bits.RotateLeft64(t, 2) + t = a[7] ^ d2 + bc0 = bits.RotateLeft64(t, 62) + t = a[18] ^ d3 + bc1 = bits.RotateLeft64(t, 55) + t = a[4] ^ d4 + bc2 = bits.RotateLeft64(t, 39) + a[10] = bc0 ^ (bc2 &^ bc1) + a[21] = bc1 ^ (bc3 &^ bc2) + a[7] = bc2 ^ (bc4 &^ bc3) + a[18] = bc3 ^ (bc0 &^ bc4) + a[4] = bc4 ^ (bc1 &^ bc0) + + // Round 4 + bc0 = a[0] ^ a[5] ^ a[10] ^ a[15] ^ a[20] + bc1 = a[1] ^ a[6] ^ a[11] ^ a[16] ^ a[21] + bc2 = a[2] ^ a[7] ^ a[12] ^ a[17] ^ a[22] + bc3 = a[3] ^ a[8] ^ a[13] ^ a[18] ^ a[23] + bc4 = a[4] ^ a[9] ^ a[14] ^ a[19] ^ a[24] + d0 = bc4 ^ (bc1<<1 | bc1>>63) + d1 = bc0 ^ (bc2<<1 | bc2>>63) + d2 = bc1 ^ (bc3<<1 | bc3>>63) + d3 = bc2 ^ (bc4<<1 | bc4>>63) + d4 = bc3 ^ (bc0<<1 | bc0>>63) + + bc0 = a[0] ^ d0 + t = a[1] ^ d1 + bc1 = bits.RotateLeft64(t, 44) + t = a[2] ^ d2 + bc2 = bits.RotateLeft64(t, 43) + t = a[3] ^ d3 + bc3 = bits.RotateLeft64(t, 21) + t = a[4] ^ d4 + bc4 = bits.RotateLeft64(t, 14) + a[0] = bc0 ^ (bc2 &^ bc1) ^ rc[i+3] + a[1] = bc1 ^ (bc3 &^ bc2) + a[2] = bc2 ^ (bc4 &^ bc3) + a[3] = bc3 ^ (bc0 &^ bc4) + a[4] = bc4 ^ (bc1 &^ bc0) + + t = a[5] ^ d0 + bc2 = bits.RotateLeft64(t, 3) + t = a[6] ^ d1 + bc3 = bits.RotateLeft64(t, 45) + t = a[7] ^ d2 + bc4 = bits.RotateLeft64(t, 61) + t = a[8] ^ d3 + bc0 = bits.RotateLeft64(t, 28) + t = a[9] ^ d4 + bc1 = bits.RotateLeft64(t, 20) + a[5] = bc0 ^ (bc2 &^ bc1) + a[6] = bc1 ^ (bc3 &^ bc2) + a[7] = bc2 ^ (bc4 &^ bc3) + a[8] = bc3 ^ (bc0 &^ bc4) + a[9] = bc4 ^ (bc1 &^ bc0) + + t = a[10] ^ d0 + bc4 = bits.RotateLeft64(t, 18) + t = a[11] ^ d1 + bc0 = bits.RotateLeft64(t, 1) + t = a[12] ^ d2 + bc1 = bits.RotateLeft64(t, 6) + t = a[13] ^ d3 + bc2 = bits.RotateLeft64(t, 25) + t = a[14] ^ d4 + bc3 = bits.RotateLeft64(t, 8) + a[10] = bc0 ^ (bc2 &^ bc1) + a[11] = bc1 ^ (bc3 &^ bc2) + a[12] = bc2 ^ (bc4 &^ bc3) + a[13] = bc3 ^ (bc0 &^ bc4) + a[14] = bc4 ^ (bc1 &^ bc0) + + t = a[15] ^ d0 + bc1 = bits.RotateLeft64(t, 36) + t = a[16] ^ d1 + bc2 = bits.RotateLeft64(t, 10) + t = a[17] ^ d2 + bc3 = bits.RotateLeft64(t, 15) + t = a[18] ^ d3 + bc4 = bits.RotateLeft64(t, 56) + t = a[19] ^ d4 + bc0 = bits.RotateLeft64(t, 27) + a[15] = bc0 ^ (bc2 &^ bc1) + a[16] = bc1 ^ (bc3 &^ bc2) + a[17] = bc2 ^ (bc4 &^ bc3) + a[18] = bc3 ^ (bc0 &^ bc4) + a[19] = bc4 ^ (bc1 &^ bc0) + + t = a[20] ^ d0 + bc3 = bits.RotateLeft64(t, 41) + t = a[21] ^ d1 + bc4 = bits.RotateLeft64(t, 2) + t = a[22] ^ d2 + bc0 = bits.RotateLeft64(t, 62) + t = a[23] ^ d3 + bc1 = bits.RotateLeft64(t, 55) + t = a[24] ^ d4 + bc2 = bits.RotateLeft64(t, 39) + a[20] = bc0 ^ (bc2 &^ bc1) + a[21] = bc1 ^ (bc3 &^ bc2) + a[22] = bc2 ^ (bc4 &^ bc3) + a[23] = bc3 ^ (bc0 &^ bc4) + a[24] = bc4 ^ (bc1 &^ bc0) + } +} diff --git a/vendor/golang.org/x/crypto/sha3/keccakf_amd64.go b/vendor/golang.org/x/crypto/sha3/keccakf_amd64.go new file mode 100644 index 000000000..b908696be --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/keccakf_amd64.go @@ -0,0 +1,13 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build amd64 && !purego && gc + +package sha3 + +// This function is implemented in keccakf_amd64.s. + +//go:noescape + +func keccakF1600(a *[25]uint64) diff --git a/vendor/golang.org/x/crypto/sha3/keccakf_amd64.s b/vendor/golang.org/x/crypto/sha3/keccakf_amd64.s new file mode 100644 index 000000000..99e2f16e9 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/keccakf_amd64.s @@ -0,0 +1,5419 @@ +// Code generated by command: go run keccakf_amd64_asm.go -out ../keccakf_amd64.s -pkg sha3. DO NOT EDIT. + +//go:build amd64 && !purego && gc + +// func keccakF1600(a *[25]uint64) +TEXT ·keccakF1600(SB), $200-8 + MOVQ a+0(FP), DI + + // Convert the user state into an internal state + NOTQ 8(DI) + NOTQ 16(DI) + NOTQ 64(DI) + NOTQ 96(DI) + NOTQ 136(DI) + NOTQ 160(DI) + + // Execute the KeccakF permutation + MOVQ (DI), SI + MOVQ 8(DI), BP + MOVQ 32(DI), R15 + XORQ 40(DI), SI + XORQ 48(DI), BP + XORQ 72(DI), R15 + XORQ 80(DI), SI + XORQ 88(DI), BP + XORQ 112(DI), R15 + XORQ 120(DI), SI + XORQ 128(DI), BP + XORQ 152(DI), R15 + XORQ 160(DI), SI + XORQ 168(DI), BP + MOVQ 176(DI), DX + MOVQ 184(DI), R8 + XORQ 192(DI), R15 + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x0000000000000001, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x0000000000008082, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x800000000000808a, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000080008000, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x000000000000808b, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x0000000080000001, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000080008081, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000000008009, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x000000000000008a, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x0000000000000088, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x0000000080008009, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x000000008000000a, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x000000008000808b, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x800000000000008b, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000000008089, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000000008003, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000000008002, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000000000080, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x000000000000800a, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x800000008000000a, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000080008081, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000000008080, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + MOVQ R12, BP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + XORQ R10, R15 + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + XORQ R11, R15 + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(DI), R12 + XORQ 56(DI), DX + XORQ R15, BX + XORQ 96(DI), R12 + XORQ 136(DI), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(DI), R13 + XORQ 64(DI), R8 + XORQ SI, CX + XORQ 104(DI), R13 + XORQ 144(DI), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (DI), R10 + MOVQ 48(DI), R11 + XORQ R13, R9 + MOVQ 96(DI), R12 + MOVQ 144(DI), R13 + MOVQ 192(DI), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x0000000080000001, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (SP) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(SP) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(SP) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(SP) + MOVQ R12, 8(SP) + MOVQ R12, BP + + // Result g + MOVQ 72(DI), R11 + XORQ R9, R11 + MOVQ 80(DI), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(DI), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(DI), R13 + MOVQ 176(DI), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(SP) + XORQ AX, SI + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(SP) + XORQ AX, BP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(SP) + NOTQ R14 + XORQ R10, R15 + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(SP) + + // Result k + MOVQ 8(DI), R10 + MOVQ 56(DI), R11 + MOVQ 104(DI), R12 + MOVQ 152(DI), R13 + MOVQ 160(DI), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(SP) + XORQ AX, SI + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(SP) + XORQ AX, BP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(SP) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(SP) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(SP) + XORQ R10, R15 + + // Result m + MOVQ 40(DI), R11 + XORQ BX, R11 + MOVQ 88(DI), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(DI), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(DI), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(DI), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(SP) + XORQ AX, SI + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(SP) + XORQ AX, BP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(SP) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(SP) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(SP) + XORQ R11, R15 + + // Result s + MOVQ 16(DI), R10 + MOVQ 64(DI), R11 + MOVQ 112(DI), R12 + XORQ DX, R10 + MOVQ 120(DI), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(DI), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(SP) + ROLQ $0x27, R12 + XORQ R9, R15 + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(SP) + XORQ BX, SI + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(SP) + XORQ CX, BP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(SP) + MOVQ R8, 184(SP) + + // Prepare round + MOVQ BP, BX + ROLQ $0x01, BX + MOVQ 16(SP), R12 + XORQ 56(SP), DX + XORQ R15, BX + XORQ 96(SP), R12 + XORQ 136(SP), DX + XORQ DX, R12 + MOVQ R12, CX + ROLQ $0x01, CX + MOVQ 24(SP), R13 + XORQ 64(SP), R8 + XORQ SI, CX + XORQ 104(SP), R13 + XORQ 144(SP), R8 + XORQ R8, R13 + MOVQ R13, DX + ROLQ $0x01, DX + MOVQ R15, R8 + XORQ BP, DX + ROLQ $0x01, R8 + MOVQ SI, R9 + XORQ R12, R8 + ROLQ $0x01, R9 + + // Result b + MOVQ (SP), R10 + MOVQ 48(SP), R11 + XORQ R13, R9 + MOVQ 96(SP), R12 + MOVQ 144(SP), R13 + MOVQ 192(SP), R14 + XORQ CX, R11 + ROLQ $0x2c, R11 + XORQ DX, R12 + XORQ BX, R10 + ROLQ $0x2b, R12 + MOVQ R11, SI + MOVQ $0x8000000080008008, AX + ORQ R12, SI + XORQ R10, AX + XORQ AX, SI + MOVQ SI, (DI) + XORQ R9, R14 + ROLQ $0x0e, R14 + MOVQ R10, R15 + ANDQ R11, R15 + XORQ R14, R15 + MOVQ R15, 32(DI) + XORQ R8, R13 + ROLQ $0x15, R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 16(DI) + NOTQ R12 + ORQ R10, R14 + ORQ R13, R12 + XORQ R13, R14 + XORQ R11, R12 + MOVQ R14, 24(DI) + MOVQ R12, 8(DI) + NOP + + // Result g + MOVQ 72(SP), R11 + XORQ R9, R11 + MOVQ 80(SP), R12 + ROLQ $0x14, R11 + XORQ BX, R12 + ROLQ $0x03, R12 + MOVQ 24(SP), R10 + MOVQ R11, AX + ORQ R12, AX + XORQ R8, R10 + MOVQ 128(SP), R13 + MOVQ 176(SP), R14 + ROLQ $0x1c, R10 + XORQ R10, AX + MOVQ AX, 40(DI) + NOP + XORQ CX, R13 + ROLQ $0x2d, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 48(DI) + NOP + XORQ DX, R14 + ROLQ $0x3d, R14 + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 64(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 72(DI) + NOTQ R14 + NOP + ORQ R14, R13 + XORQ R12, R13 + MOVQ R13, 56(DI) + + // Result k + MOVQ 8(SP), R10 + MOVQ 56(SP), R11 + MOVQ 104(SP), R12 + MOVQ 152(SP), R13 + MOVQ 160(SP), R14 + XORQ DX, R11 + ROLQ $0x06, R11 + XORQ R8, R12 + ROLQ $0x19, R12 + MOVQ R11, AX + ORQ R12, AX + XORQ CX, R10 + ROLQ $0x01, R10 + XORQ R10, AX + MOVQ AX, 80(DI) + NOP + XORQ R9, R13 + ROLQ $0x08, R13 + MOVQ R12, AX + ANDQ R13, AX + XORQ R11, AX + MOVQ AX, 88(DI) + NOP + XORQ BX, R14 + ROLQ $0x12, R14 + NOTQ R13 + MOVQ R13, AX + ANDQ R14, AX + XORQ R12, AX + MOVQ AX, 96(DI) + MOVQ R14, AX + ORQ R10, AX + XORQ R13, AX + MOVQ AX, 104(DI) + ANDQ R11, R10 + XORQ R14, R10 + MOVQ R10, 112(DI) + NOP + + // Result m + MOVQ 40(SP), R11 + XORQ BX, R11 + MOVQ 88(SP), R12 + ROLQ $0x24, R11 + XORQ CX, R12 + MOVQ 32(SP), R10 + ROLQ $0x0a, R12 + MOVQ R11, AX + MOVQ 136(SP), R13 + ANDQ R12, AX + XORQ R9, R10 + MOVQ 184(SP), R14 + ROLQ $0x1b, R10 + XORQ R10, AX + MOVQ AX, 120(DI) + NOP + XORQ DX, R13 + ROLQ $0x0f, R13 + MOVQ R12, AX + ORQ R13, AX + XORQ R11, AX + MOVQ AX, 128(DI) + NOP + XORQ R8, R14 + ROLQ $0x38, R14 + NOTQ R13 + MOVQ R13, AX + ORQ R14, AX + XORQ R12, AX + MOVQ AX, 136(DI) + ORQ R10, R11 + XORQ R14, R11 + MOVQ R11, 152(DI) + ANDQ R10, R14 + XORQ R13, R14 + MOVQ R14, 144(DI) + NOP + + // Result s + MOVQ 16(SP), R10 + MOVQ 64(SP), R11 + MOVQ 112(SP), R12 + XORQ DX, R10 + MOVQ 120(SP), R13 + ROLQ $0x3e, R10 + XORQ R8, R11 + MOVQ 168(SP), R14 + ROLQ $0x37, R11 + XORQ R9, R12 + MOVQ R10, R9 + XORQ CX, R14 + ROLQ $0x02, R14 + ANDQ R11, R9 + XORQ R14, R9 + MOVQ R9, 192(DI) + ROLQ $0x27, R12 + NOP + NOTQ R11 + XORQ BX, R13 + MOVQ R11, BX + ANDQ R12, BX + XORQ R10, BX + MOVQ BX, 160(DI) + NOP + ROLQ $0x29, R13 + MOVQ R12, CX + ORQ R13, CX + XORQ R11, CX + MOVQ CX, 168(DI) + NOP + MOVQ R13, DX + MOVQ R14, R8 + ANDQ R14, DX + ORQ R10, R8 + XORQ R12, DX + XORQ R13, R8 + MOVQ DX, 176(DI) + MOVQ R8, 184(DI) + + // Revert the internal state to the user state + NOTQ 8(DI) + NOTQ 16(DI) + NOTQ 64(DI) + NOTQ 96(DI) + NOTQ 136(DI) + NOTQ 160(DI) + RET diff --git a/vendor/golang.org/x/crypto/sha3/sha3.go b/vendor/golang.org/x/crypto/sha3/sha3.go new file mode 100644 index 000000000..6658c4447 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/sha3.go @@ -0,0 +1,244 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package sha3 + +import ( + "crypto/subtle" + "encoding/binary" + "errors" + "unsafe" + + "golang.org/x/sys/cpu" +) + +// spongeDirection indicates the direction bytes are flowing through the sponge. +type spongeDirection int + +const ( + // spongeAbsorbing indicates that the sponge is absorbing input. + spongeAbsorbing spongeDirection = iota + // spongeSqueezing indicates that the sponge is being squeezed. + spongeSqueezing +) + +type state struct { + a [1600 / 8]byte // main state of the hash + + // a[n:rate] is the buffer. If absorbing, it's the remaining space to XOR + // into before running the permutation. If squeezing, it's the remaining + // output to produce before running the permutation. + n, rate int + + // dsbyte contains the "domain separation" bits and the first bit of + // the padding. Sections 6.1 and 6.2 of [1] separate the outputs of the + // SHA-3 and SHAKE functions by appending bitstrings to the message. + // Using a little-endian bit-ordering convention, these are "01" for SHA-3 + // and "1111" for SHAKE, or 00000010b and 00001111b, respectively. Then the + // padding rule from section 5.1 is applied to pad the message to a multiple + // of the rate, which involves adding a "1" bit, zero or more "0" bits, and + // a final "1" bit. We merge the first "1" bit from the padding into dsbyte, + // giving 00000110b (0x06) and 00011111b (0x1f). + // [1] http://csrc.nist.gov/publications/drafts/fips-202/fips_202_draft.pdf + // "Draft FIPS 202: SHA-3 Standard: Permutation-Based Hash and + // Extendable-Output Functions (May 2014)" + dsbyte byte + + outputLen int // the default output size in bytes + state spongeDirection // whether the sponge is absorbing or squeezing +} + +// BlockSize returns the rate of sponge underlying this hash function. +func (d *state) BlockSize() int { return d.rate } + +// Size returns the output size of the hash function in bytes. +func (d *state) Size() int { return d.outputLen } + +// Reset clears the internal state by zeroing the sponge state and +// the buffer indexes, and setting Sponge.state to absorbing. +func (d *state) Reset() { + // Zero the permutation's state. + for i := range d.a { + d.a[i] = 0 + } + d.state = spongeAbsorbing + d.n = 0 +} + +func (d *state) clone() *state { + ret := *d + return &ret +} + +// permute applies the KeccakF-1600 permutation. +func (d *state) permute() { + var a *[25]uint64 + if cpu.IsBigEndian { + a = new([25]uint64) + for i := range a { + a[i] = binary.LittleEndian.Uint64(d.a[i*8:]) + } + } else { + a = (*[25]uint64)(unsafe.Pointer(&d.a)) + } + + keccakF1600(a) + d.n = 0 + + if cpu.IsBigEndian { + for i := range a { + binary.LittleEndian.PutUint64(d.a[i*8:], a[i]) + } + } +} + +// pads appends the domain separation bits in dsbyte, applies +// the multi-bitrate 10..1 padding rule, and permutes the state. +func (d *state) padAndPermute() { + // Pad with this instance's domain-separator bits. We know that there's + // at least one byte of space in the sponge because, if it were full, + // permute would have been called to empty it. dsbyte also contains the + // first one bit for the padding. See the comment in the state struct. + d.a[d.n] ^= d.dsbyte + // This adds the final one bit for the padding. Because of the way that + // bits are numbered from the LSB upwards, the final bit is the MSB of + // the last byte. + d.a[d.rate-1] ^= 0x80 + // Apply the permutation + d.permute() + d.state = spongeSqueezing +} + +// Write absorbs more data into the hash's state. It panics if any +// output has already been read. +func (d *state) Write(p []byte) (n int, err error) { + if d.state != spongeAbsorbing { + panic("sha3: Write after Read") + } + + n = len(p) + + for len(p) > 0 { + x := subtle.XORBytes(d.a[d.n:d.rate], d.a[d.n:d.rate], p) + d.n += x + p = p[x:] + + // If the sponge is full, apply the permutation. + if d.n == d.rate { + d.permute() + } + } + + return +} + +// Read squeezes an arbitrary number of bytes from the sponge. +func (d *state) Read(out []byte) (n int, err error) { + // If we're still absorbing, pad and apply the permutation. + if d.state == spongeAbsorbing { + d.padAndPermute() + } + + n = len(out) + + // Now, do the squeezing. + for len(out) > 0 { + // Apply the permutation if we've squeezed the sponge dry. + if d.n == d.rate { + d.permute() + } + + x := copy(out, d.a[d.n:d.rate]) + d.n += x + out = out[x:] + } + + return +} + +// Sum applies padding to the hash state and then squeezes out the desired +// number of output bytes. It panics if any output has already been read. +func (d *state) Sum(in []byte) []byte { + if d.state != spongeAbsorbing { + panic("sha3: Sum after Read") + } + + // Make a copy of the original hash so that caller can keep writing + // and summing. + dup := d.clone() + hash := make([]byte, dup.outputLen, 64) // explicit cap to allow stack allocation + dup.Read(hash) + return append(in, hash...) +} + +const ( + magicSHA3 = "sha\x08" + magicShake = "sha\x09" + magicCShake = "sha\x0a" + magicKeccak = "sha\x0b" + // magic || rate || main state || n || sponge direction + marshaledSize = len(magicSHA3) + 1 + 200 + 1 + 1 +) + +func (d *state) MarshalBinary() ([]byte, error) { + return d.AppendBinary(make([]byte, 0, marshaledSize)) +} + +func (d *state) AppendBinary(b []byte) ([]byte, error) { + switch d.dsbyte { + case dsbyteSHA3: + b = append(b, magicSHA3...) + case dsbyteShake: + b = append(b, magicShake...) + case dsbyteCShake: + b = append(b, magicCShake...) + case dsbyteKeccak: + b = append(b, magicKeccak...) + default: + panic("unknown dsbyte") + } + // rate is at most 168, and n is at most rate. + b = append(b, byte(d.rate)) + b = append(b, d.a[:]...) + b = append(b, byte(d.n), byte(d.state)) + return b, nil +} + +func (d *state) UnmarshalBinary(b []byte) error { + if len(b) != marshaledSize { + return errors.New("sha3: invalid hash state") + } + + magic := string(b[:len(magicSHA3)]) + b = b[len(magicSHA3):] + switch { + case magic == magicSHA3 && d.dsbyte == dsbyteSHA3: + case magic == magicShake && d.dsbyte == dsbyteShake: + case magic == magicCShake && d.dsbyte == dsbyteCShake: + case magic == magicKeccak && d.dsbyte == dsbyteKeccak: + default: + return errors.New("sha3: invalid hash state identifier") + } + + rate := int(b[0]) + b = b[1:] + if rate != d.rate { + return errors.New("sha3: invalid hash state function") + } + + copy(d.a[:], b) + b = b[len(d.a):] + + n, state := int(b[0]), spongeDirection(b[1]) + if n > d.rate { + return errors.New("sha3: invalid hash state") + } + d.n = n + if state != spongeAbsorbing && state != spongeSqueezing { + return errors.New("sha3: invalid hash state") + } + d.state = state + + return nil +} diff --git a/vendor/golang.org/x/crypto/sha3/sha3_s390x.go b/vendor/golang.org/x/crypto/sha3/sha3_s390x.go new file mode 100644 index 000000000..00d8034ae --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/sha3_s390x.go @@ -0,0 +1,303 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc && !purego + +package sha3 + +// This file contains code for using the 'compute intermediate +// message digest' (KIMD) and 'compute last message digest' (KLMD) +// instructions to compute SHA-3 and SHAKE hashes on IBM Z. + +import ( + "hash" + + "golang.org/x/sys/cpu" +) + +// codes represent 7-bit KIMD/KLMD function codes as defined in +// the Principles of Operation. +type code uint64 + +const ( + // function codes for KIMD/KLMD + sha3_224 code = 32 + sha3_256 = 33 + sha3_384 = 34 + sha3_512 = 35 + shake_128 = 36 + shake_256 = 37 + nopad = 0x100 +) + +// kimd is a wrapper for the 'compute intermediate message digest' instruction. +// src must be a multiple of the rate for the given function code. +// +//go:noescape +func kimd(function code, chain *[200]byte, src []byte) + +// klmd is a wrapper for the 'compute last message digest' instruction. +// src padding is handled by the instruction. +// +//go:noescape +func klmd(function code, chain *[200]byte, dst, src []byte) + +type asmState struct { + a [200]byte // 1600 bit state + buf []byte // care must be taken to ensure cap(buf) is a multiple of rate + rate int // equivalent to block size + storage [3072]byte // underlying storage for buf + outputLen int // output length for full security + function code // KIMD/KLMD function code + state spongeDirection // whether the sponge is absorbing or squeezing +} + +func newAsmState(function code) *asmState { + var s asmState + s.function = function + switch function { + case sha3_224: + s.rate = 144 + s.outputLen = 28 + case sha3_256: + s.rate = 136 + s.outputLen = 32 + case sha3_384: + s.rate = 104 + s.outputLen = 48 + case sha3_512: + s.rate = 72 + s.outputLen = 64 + case shake_128: + s.rate = 168 + s.outputLen = 32 + case shake_256: + s.rate = 136 + s.outputLen = 64 + default: + panic("sha3: unrecognized function code") + } + + // limit s.buf size to a multiple of s.rate + s.resetBuf() + return &s +} + +func (s *asmState) clone() *asmState { + c := *s + c.buf = c.storage[:len(s.buf):cap(s.buf)] + return &c +} + +// copyIntoBuf copies b into buf. It will panic if there is not enough space to +// store all of b. +func (s *asmState) copyIntoBuf(b []byte) { + bufLen := len(s.buf) + s.buf = s.buf[:len(s.buf)+len(b)] + copy(s.buf[bufLen:], b) +} + +// resetBuf points buf at storage, sets the length to 0 and sets cap to be a +// multiple of the rate. +func (s *asmState) resetBuf() { + max := (cap(s.storage) / s.rate) * s.rate + s.buf = s.storage[:0:max] +} + +// Write (via the embedded io.Writer interface) adds more data to the running hash. +// It never returns an error. +func (s *asmState) Write(b []byte) (int, error) { + if s.state != spongeAbsorbing { + panic("sha3: Write after Read") + } + length := len(b) + for len(b) > 0 { + if len(s.buf) == 0 && len(b) >= cap(s.buf) { + // Hash the data directly and push any remaining bytes + // into the buffer. + remainder := len(b) % s.rate + kimd(s.function, &s.a, b[:len(b)-remainder]) + if remainder != 0 { + s.copyIntoBuf(b[len(b)-remainder:]) + } + return length, nil + } + + if len(s.buf) == cap(s.buf) { + // flush the buffer + kimd(s.function, &s.a, s.buf) + s.buf = s.buf[:0] + } + + // copy as much as we can into the buffer + n := len(b) + if len(b) > cap(s.buf)-len(s.buf) { + n = cap(s.buf) - len(s.buf) + } + s.copyIntoBuf(b[:n]) + b = b[n:] + } + return length, nil +} + +// Read squeezes an arbitrary number of bytes from the sponge. +func (s *asmState) Read(out []byte) (n int, err error) { + // The 'compute last message digest' instruction only stores the digest + // at the first operand (dst) for SHAKE functions. + if s.function != shake_128 && s.function != shake_256 { + panic("sha3: can only call Read for SHAKE functions") + } + + n = len(out) + + // need to pad if we were absorbing + if s.state == spongeAbsorbing { + s.state = spongeSqueezing + + // write hash directly into out if possible + if len(out)%s.rate == 0 { + klmd(s.function, &s.a, out, s.buf) // len(out) may be 0 + s.buf = s.buf[:0] + return + } + + // write hash into buffer + max := cap(s.buf) + if max > len(out) { + max = (len(out)/s.rate)*s.rate + s.rate + } + klmd(s.function, &s.a, s.buf[:max], s.buf) + s.buf = s.buf[:max] + } + + for len(out) > 0 { + // flush the buffer + if len(s.buf) != 0 { + c := copy(out, s.buf) + out = out[c:] + s.buf = s.buf[c:] + continue + } + + // write hash directly into out if possible + if len(out)%s.rate == 0 { + klmd(s.function|nopad, &s.a, out, nil) + return + } + + // write hash into buffer + s.resetBuf() + if cap(s.buf) > len(out) { + s.buf = s.buf[:(len(out)/s.rate)*s.rate+s.rate] + } + klmd(s.function|nopad, &s.a, s.buf, nil) + } + return +} + +// Sum appends the current hash to b and returns the resulting slice. +// It does not change the underlying hash state. +func (s *asmState) Sum(b []byte) []byte { + if s.state != spongeAbsorbing { + panic("sha3: Sum after Read") + } + + // Copy the state to preserve the original. + a := s.a + + // Hash the buffer. Note that we don't clear it because we + // aren't updating the state. + switch s.function { + case sha3_224, sha3_256, sha3_384, sha3_512: + klmd(s.function, &a, nil, s.buf) + return append(b, a[:s.outputLen]...) + case shake_128, shake_256: + d := make([]byte, s.outputLen, 64) + klmd(s.function, &a, d, s.buf) + return append(b, d[:s.outputLen]...) + default: + panic("sha3: unknown function") + } +} + +// Reset resets the Hash to its initial state. +func (s *asmState) Reset() { + for i := range s.a { + s.a[i] = 0 + } + s.resetBuf() + s.state = spongeAbsorbing +} + +// Size returns the number of bytes Sum will return. +func (s *asmState) Size() int { + return s.outputLen +} + +// BlockSize returns the hash's underlying block size. +// The Write method must be able to accept any amount +// of data, but it may operate more efficiently if all writes +// are a multiple of the block size. +func (s *asmState) BlockSize() int { + return s.rate +} + +// Clone returns a copy of the ShakeHash in its current state. +func (s *asmState) Clone() ShakeHash { + return s.clone() +} + +// new224 returns an assembly implementation of SHA3-224 if available, +// otherwise it returns a generic implementation. +func new224() hash.Hash { + if cpu.S390X.HasSHA3 { + return newAsmState(sha3_224) + } + return new224Generic() +} + +// new256 returns an assembly implementation of SHA3-256 if available, +// otherwise it returns a generic implementation. +func new256() hash.Hash { + if cpu.S390X.HasSHA3 { + return newAsmState(sha3_256) + } + return new256Generic() +} + +// new384 returns an assembly implementation of SHA3-384 if available, +// otherwise it returns a generic implementation. +func new384() hash.Hash { + if cpu.S390X.HasSHA3 { + return newAsmState(sha3_384) + } + return new384Generic() +} + +// new512 returns an assembly implementation of SHA3-512 if available, +// otherwise it returns a generic implementation. +func new512() hash.Hash { + if cpu.S390X.HasSHA3 { + return newAsmState(sha3_512) + } + return new512Generic() +} + +// newShake128 returns an assembly implementation of SHAKE-128 if available, +// otherwise it returns a generic implementation. +func newShake128() ShakeHash { + if cpu.S390X.HasSHA3 { + return newAsmState(shake_128) + } + return newShake128Generic() +} + +// newShake256 returns an assembly implementation of SHAKE-256 if available, +// otherwise it returns a generic implementation. +func newShake256() ShakeHash { + if cpu.S390X.HasSHA3 { + return newAsmState(shake_256) + } + return newShake256Generic() +} diff --git a/vendor/golang.org/x/crypto/sha3/sha3_s390x.s b/vendor/golang.org/x/crypto/sha3/sha3_s390x.s new file mode 100644 index 000000000..826b862c7 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/sha3_s390x.s @@ -0,0 +1,33 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc && !purego + +#include "textflag.h" + +// func kimd(function code, chain *[200]byte, src []byte) +TEXT ·kimd(SB), NOFRAME|NOSPLIT, $0-40 + MOVD function+0(FP), R0 + MOVD chain+8(FP), R1 + LMG src+16(FP), R2, R3 // R2=base, R3=len + +continue: + WORD $0xB93E0002 // KIMD --, R2 + BVS continue // continue if interrupted + MOVD $0, R0 // reset R0 for pre-go1.8 compilers + RET + +// func klmd(function code, chain *[200]byte, dst, src []byte) +TEXT ·klmd(SB), NOFRAME|NOSPLIT, $0-64 + // TODO: SHAKE support + MOVD function+0(FP), R0 + MOVD chain+8(FP), R1 + LMG dst+16(FP), R2, R3 // R2=base, R3=len + LMG src+40(FP), R4, R5 // R4=base, R5=len + +continue: + WORD $0xB93F0024 // KLMD R2, R4 + BVS continue // continue if interrupted + MOVD $0, R0 // reset R0 for pre-go1.8 compilers + RET diff --git a/vendor/golang.org/x/crypto/sha3/shake.go b/vendor/golang.org/x/crypto/sha3/shake.go new file mode 100644 index 000000000..a6b3a4281 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/shake.go @@ -0,0 +1,193 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package sha3 + +// This file defines the ShakeHash interface, and provides +// functions for creating SHAKE and cSHAKE instances, as well as utility +// functions for hashing bytes to arbitrary-length output. +// +// +// SHAKE implementation is based on FIPS PUB 202 [1] +// cSHAKE implementations is based on NIST SP 800-185 [2] +// +// [1] https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf +// [2] https://doi.org/10.6028/NIST.SP.800-185 + +import ( + "bytes" + "encoding/binary" + "errors" + "hash" + "io" + "math/bits" +) + +// ShakeHash defines the interface to hash functions that support +// arbitrary-length output. When used as a plain [hash.Hash], it +// produces minimum-length outputs that provide full-strength generic +// security. +type ShakeHash interface { + hash.Hash + + // Read reads more output from the hash; reading affects the hash's + // state. (ShakeHash.Read is thus very different from Hash.Sum) + // It never returns an error, but subsequent calls to Write or Sum + // will panic. + io.Reader + + // Clone returns a copy of the ShakeHash in its current state. + Clone() ShakeHash +} + +// cSHAKE specific context +type cshakeState struct { + *state // SHA-3 state context and Read/Write operations + + // initBlock is the cSHAKE specific initialization set of bytes. It is initialized + // by newCShake function and stores concatenation of N followed by S, encoded + // by the method specified in 3.3 of [1]. + // It is stored here in order for Reset() to be able to put context into + // initial state. + initBlock []byte +} + +func bytepad(data []byte, rate int) []byte { + out := make([]byte, 0, 9+len(data)+rate-1) + out = append(out, leftEncode(uint64(rate))...) + out = append(out, data...) + if padlen := rate - len(out)%rate; padlen < rate { + out = append(out, make([]byte, padlen)...) + } + return out +} + +func leftEncode(x uint64) []byte { + // Let n be the smallest positive integer for which 2^(8n) > x. + n := (bits.Len64(x) + 7) / 8 + if n == 0 { + n = 1 + } + // Return n || x with n as a byte and x an n bytes in big-endian order. + b := make([]byte, 9) + binary.BigEndian.PutUint64(b[1:], x) + b = b[9-n-1:] + b[0] = byte(n) + return b +} + +func newCShake(N, S []byte, rate, outputLen int, dsbyte byte) ShakeHash { + c := cshakeState{state: &state{rate: rate, outputLen: outputLen, dsbyte: dsbyte}} + c.initBlock = make([]byte, 0, 9+len(N)+9+len(S)) // leftEncode returns max 9 bytes + c.initBlock = append(c.initBlock, leftEncode(uint64(len(N))*8)...) + c.initBlock = append(c.initBlock, N...) + c.initBlock = append(c.initBlock, leftEncode(uint64(len(S))*8)...) + c.initBlock = append(c.initBlock, S...) + c.Write(bytepad(c.initBlock, c.rate)) + return &c +} + +// Reset resets the hash to initial state. +func (c *cshakeState) Reset() { + c.state.Reset() + c.Write(bytepad(c.initBlock, c.rate)) +} + +// Clone returns copy of a cSHAKE context within its current state. +func (c *cshakeState) Clone() ShakeHash { + b := make([]byte, len(c.initBlock)) + copy(b, c.initBlock) + return &cshakeState{state: c.clone(), initBlock: b} +} + +// Clone returns copy of SHAKE context within its current state. +func (c *state) Clone() ShakeHash { + return c.clone() +} + +func (c *cshakeState) MarshalBinary() ([]byte, error) { + return c.AppendBinary(make([]byte, 0, marshaledSize+len(c.initBlock))) +} + +func (c *cshakeState) AppendBinary(b []byte) ([]byte, error) { + b, err := c.state.AppendBinary(b) + if err != nil { + return nil, err + } + b = append(b, c.initBlock...) + return b, nil +} + +func (c *cshakeState) UnmarshalBinary(b []byte) error { + if len(b) <= marshaledSize { + return errors.New("sha3: invalid hash state") + } + if err := c.state.UnmarshalBinary(b[:marshaledSize]); err != nil { + return err + } + c.initBlock = bytes.Clone(b[marshaledSize:]) + return nil +} + +// NewShake128 creates a new SHAKE128 variable-output-length ShakeHash. +// Its generic security strength is 128 bits against all attacks if at +// least 32 bytes of its output are used. +func NewShake128() ShakeHash { + return newShake128() +} + +// NewShake256 creates a new SHAKE256 variable-output-length ShakeHash. +// Its generic security strength is 256 bits against all attacks if +// at least 64 bytes of its output are used. +func NewShake256() ShakeHash { + return newShake256() +} + +func newShake128Generic() *state { + return &state{rate: rateK256, outputLen: 32, dsbyte: dsbyteShake} +} + +func newShake256Generic() *state { + return &state{rate: rateK512, outputLen: 64, dsbyte: dsbyteShake} +} + +// NewCShake128 creates a new instance of cSHAKE128 variable-output-length ShakeHash, +// a customizable variant of SHAKE128. +// N is used to define functions based on cSHAKE, it can be empty when plain cSHAKE is +// desired. S is a customization byte string used for domain separation - two cSHAKE +// computations on same input with different S yield unrelated outputs. +// When N and S are both empty, this is equivalent to NewShake128. +func NewCShake128(N, S []byte) ShakeHash { + if len(N) == 0 && len(S) == 0 { + return NewShake128() + } + return newCShake(N, S, rateK256, 32, dsbyteCShake) +} + +// NewCShake256 creates a new instance of cSHAKE256 variable-output-length ShakeHash, +// a customizable variant of SHAKE256. +// N is used to define functions based on cSHAKE, it can be empty when plain cSHAKE is +// desired. S is a customization byte string used for domain separation - two cSHAKE +// computations on same input with different S yield unrelated outputs. +// When N and S are both empty, this is equivalent to NewShake256. +func NewCShake256(N, S []byte) ShakeHash { + if len(N) == 0 && len(S) == 0 { + return NewShake256() + } + return newCShake(N, S, rateK512, 64, dsbyteCShake) +} + +// ShakeSum128 writes an arbitrary-length digest of data into hash. +func ShakeSum128(hash, data []byte) { + h := NewShake128() + h.Write(data) + h.Read(hash) +} + +// ShakeSum256 writes an arbitrary-length digest of data into hash. +func ShakeSum256(hash, data []byte) { + h := NewShake256() + h.Write(data) + h.Read(hash) +} diff --git a/vendor/golang.org/x/crypto/sha3/shake_noasm.go b/vendor/golang.org/x/crypto/sha3/shake_noasm.go new file mode 100644 index 000000000..4276ba4ab --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/shake_noasm.go @@ -0,0 +1,15 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !gc || purego || !s390x + +package sha3 + +func newShake128() *state { + return newShake128Generic() +} + +func newShake256() *state { + return newShake256Generic() +} diff --git a/vendor/golang.org/x/time/rate/sometimes.go b/vendor/golang.org/x/time/rate/sometimes.go index 6ba99ddb6..9b8393269 100644 --- a/vendor/golang.org/x/time/rate/sometimes.go +++ b/vendor/golang.org/x/time/rate/sometimes.go @@ -61,7 +61,9 @@ func (s *Sometimes) Do(f func()) { (s.Every > 0 && s.count%s.Every == 0) || (s.Interval > 0 && time.Since(s.last) >= s.Interval) { f() - s.last = time.Now() + if s.Interval > 0 { + s.last = time.Now() + } } s.count++ } diff --git a/vendor/gopkg.in/evanphx/json-patch.v4/README.md b/vendor/gopkg.in/evanphx/json-patch.v4/README.md index 28e351693..86fefd5bf 100644 --- a/vendor/gopkg.in/evanphx/json-patch.v4/README.md +++ b/vendor/gopkg.in/evanphx/json-patch.v4/README.md @@ -4,7 +4,7 @@ well as for calculating & applying [RFC7396 JSON merge patches](https://tools.ietf.org/html/rfc7396). [![GoDoc](https://godoc.org/github.com/evanphx/json-patch?status.svg)](http://godoc.org/github.com/evanphx/json-patch) -[![Build Status](https://travis-ci.org/evanphx/json-patch.svg?branch=master)](https://travis-ci.org/evanphx/json-patch) +[![Build Status](https://github.com/evanphx/json-patch/actions/workflows/go.yml/badge.svg)](https://github.com/evanphx/json-patch/actions/workflows/go.yml) [![Report Card](https://goreportcard.com/badge/github.com/evanphx/json-patch)](https://goreportcard.com/report/github.com/evanphx/json-patch) # Get It! @@ -14,9 +14,7 @@ well as for calculating & applying [RFC7396 JSON merge patches](https://tools.ie go get -u github.com/evanphx/json-patch/v5 ``` -**Stable Versions**: -* Version 5: `go get -u gopkg.in/evanphx/json-patch.v5` -* Version 4: `go get -u gopkg.in/evanphx/json-patch.v4` +If you need version 4, use `go get -u gopkg.in/evanphx/json-patch.v4` (previous versions below `v3` are unavailable) @@ -314,4 +312,4 @@ go test -cover ./... ``` Builds for pull requests are tested automatically -using [TravisCI](https://travis-ci.org/evanphx/json-patch). +using [GitHub Actions](https://github.com/evanphx/json-patch/actions/workflows/go.yml). diff --git a/vendor/gopkg.in/evanphx/json-patch.v4/patch.go b/vendor/gopkg.in/evanphx/json-patch.v4/patch.go index dc2b7e51e..95136681b 100644 --- a/vendor/gopkg.in/evanphx/json-patch.v4/patch.go +++ b/vendor/gopkg.in/evanphx/json-patch.v4/patch.go @@ -3,11 +3,10 @@ package jsonpatch import ( "bytes" "encoding/json" + "errors" "fmt" "strconv" "strings" - - "github.com/pkg/errors" ) const ( @@ -277,7 +276,7 @@ func (o Operation) Path() (string, error) { return op, nil } - return "unknown", errors.Wrapf(ErrMissing, "operation missing path field") + return "unknown", fmt.Errorf("operation missing path field: %w", ErrMissing) } // From reads the "from" field of the Operation. @@ -294,7 +293,7 @@ func (o Operation) From() (string, error) { return op, nil } - return "unknown", errors.Wrapf(ErrMissing, "operation, missing from field") + return "unknown", fmt.Errorf("operation, missing from field: %w", ErrMissing) } func (o Operation) value() *lazyNode { @@ -319,7 +318,7 @@ func (o Operation) ValueInterface() (interface{}, error) { return v, nil } - return nil, errors.Wrapf(ErrMissing, "operation, missing value field") + return nil, fmt.Errorf("operation, missing value field: %w", ErrMissing) } func isArray(buf []byte) bool { @@ -359,7 +358,7 @@ func findObject(pd *container, path string) (container, string) { next, ok := doc.get(decodePatchKey(part)) - if next == nil || ok != nil { + if next == nil || ok != nil || next.raw == nil { return nil, "" } @@ -398,7 +397,7 @@ func (d *partialDoc) get(key string) (*lazyNode, error) { func (d *partialDoc) remove(key string) error { _, ok := (*d)[key] if !ok { - return errors.Wrapf(ErrMissing, "Unable to remove nonexistent key: %s", key) + return fmt.Errorf("Unable to remove nonexistent key: %s: %w", key, ErrMissing) } delete(*d, key) @@ -415,10 +414,10 @@ func (d *partialArray) set(key string, val *lazyNode) error { if idx < 0 { if !SupportNegativeIndices { - return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } if idx < -len(*d) { - return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } idx += len(*d) } @@ -435,7 +434,7 @@ func (d *partialArray) add(key string, val *lazyNode) error { idx, err := strconv.Atoi(key) if err != nil { - return errors.Wrapf(err, "value was not a proper array index: '%s'", key) + return fmt.Errorf("value was not a proper array index: '%s': %w", key, err) } sz := len(*d) + 1 @@ -445,15 +444,15 @@ func (d *partialArray) add(key string, val *lazyNode) error { cur := *d if idx >= len(ary) { - return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } if idx < 0 { if !SupportNegativeIndices { - return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } if idx < -len(ary) { - return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } idx += len(ary) } @@ -475,16 +474,16 @@ func (d *partialArray) get(key string) (*lazyNode, error) { if idx < 0 { if !SupportNegativeIndices { - return nil, errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return nil, fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } if idx < -len(*d) { - return nil, errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return nil, fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } idx += len(*d) } if idx >= len(*d) { - return nil, errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return nil, fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } return (*d)[idx], nil @@ -499,15 +498,15 @@ func (d *partialArray) remove(key string) error { cur := *d if idx >= len(cur) { - return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } if idx < 0 { if !SupportNegativeIndices { - return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } if idx < -len(cur) { - return errors.Wrapf(ErrInvalidIndex, "Unable to access invalid index: %d", idx) + return fmt.Errorf("Unable to access invalid index: %d: %w", idx, ErrInvalidIndex) } idx += len(cur) } @@ -525,18 +524,18 @@ func (d *partialArray) remove(key string) error { func (p Patch) add(doc *container, op Operation) error { path, err := op.Path() if err != nil { - return errors.Wrapf(ErrMissing, "add operation failed to decode path") + return fmt.Errorf("add operation failed to decode path: %w", ErrMissing) } con, key := findObject(doc, path) if con == nil { - return errors.Wrapf(ErrMissing, "add operation does not apply: doc is missing path: \"%s\"", path) + return fmt.Errorf("add operation does not apply: doc is missing path: \"%s\": %w", path, ErrMissing) } err = con.add(key, op.value()) if err != nil { - return errors.Wrapf(err, "error in add for path: '%s'", path) + return fmt.Errorf("error in add for path: '%s': %w", path, err) } return nil @@ -545,18 +544,18 @@ func (p Patch) add(doc *container, op Operation) error { func (p Patch) remove(doc *container, op Operation) error { path, err := op.Path() if err != nil { - return errors.Wrapf(ErrMissing, "remove operation failed to decode path") + return fmt.Errorf("remove operation failed to decode path: %w", ErrMissing) } con, key := findObject(doc, path) if con == nil { - return errors.Wrapf(ErrMissing, "remove operation does not apply: doc is missing path: \"%s\"", path) + return fmt.Errorf("remove operation does not apply: doc is missing path: \"%s\": %w", path, ErrMissing) } err = con.remove(key) if err != nil { - return errors.Wrapf(err, "error in remove for path: '%s'", path) + return fmt.Errorf("error in remove for path: '%s': %w", path, err) } return nil @@ -565,7 +564,7 @@ func (p Patch) remove(doc *container, op Operation) error { func (p Patch) replace(doc *container, op Operation) error { path, err := op.Path() if err != nil { - return errors.Wrapf(err, "replace operation failed to decode path") + return fmt.Errorf("replace operation failed to decode path: %w", err) } if path == "" { @@ -574,7 +573,7 @@ func (p Patch) replace(doc *container, op Operation) error { if val.which == eRaw { if !val.tryDoc() { if !val.tryAry() { - return errors.Wrapf(err, "replace operation value must be object or array") + return fmt.Errorf("replace operation value must be object or array: %w", err) } } } @@ -585,7 +584,7 @@ func (p Patch) replace(doc *container, op Operation) error { case eDoc: *doc = &val.doc case eRaw: - return errors.Wrapf(err, "replace operation hit impossible case") + return fmt.Errorf("replace operation hit impossible case: %w", err) } return nil @@ -594,17 +593,17 @@ func (p Patch) replace(doc *container, op Operation) error { con, key := findObject(doc, path) if con == nil { - return errors.Wrapf(ErrMissing, "replace operation does not apply: doc is missing path: %s", path) + return fmt.Errorf("replace operation does not apply: doc is missing path: %s: %w", path, ErrMissing) } _, ok := con.get(key) if ok != nil { - return errors.Wrapf(ErrMissing, "replace operation does not apply: doc is missing key: %s", path) + return fmt.Errorf("replace operation does not apply: doc is missing key: %s: %w", path, ErrMissing) } err = con.set(key, op.value()) if err != nil { - return errors.Wrapf(err, "error in remove for path: '%s'", path) + return fmt.Errorf("error in remove for path: '%s': %w", path, err) } return nil @@ -613,39 +612,39 @@ func (p Patch) replace(doc *container, op Operation) error { func (p Patch) move(doc *container, op Operation) error { from, err := op.From() if err != nil { - return errors.Wrapf(err, "move operation failed to decode from") + return fmt.Errorf("move operation failed to decode from: %w", err) } con, key := findObject(doc, from) if con == nil { - return errors.Wrapf(ErrMissing, "move operation does not apply: doc is missing from path: %s", from) + return fmt.Errorf("move operation does not apply: doc is missing from path: %s: %w", from, ErrMissing) } val, err := con.get(key) if err != nil { - return errors.Wrapf(err, "error in move for path: '%s'", key) + return fmt.Errorf("error in move for path: '%s': %w", key, err) } err = con.remove(key) if err != nil { - return errors.Wrapf(err, "error in move for path: '%s'", key) + return fmt.Errorf("error in move for path: '%s': %w", key, err) } path, err := op.Path() if err != nil { - return errors.Wrapf(err, "move operation failed to decode path") + return fmt.Errorf("move operation failed to decode path: %w", err) } con, key = findObject(doc, path) if con == nil { - return errors.Wrapf(ErrMissing, "move operation does not apply: doc is missing destination path: %s", path) + return fmt.Errorf("move operation does not apply: doc is missing destination path: %s: %w", path, ErrMissing) } err = con.add(key, val) if err != nil { - return errors.Wrapf(err, "error in move for path: '%s'", path) + return fmt.Errorf("error in move for path: '%s': %w", path, err) } return nil @@ -654,7 +653,7 @@ func (p Patch) move(doc *container, op Operation) error { func (p Patch) test(doc *container, op Operation) error { path, err := op.Path() if err != nil { - return errors.Wrapf(err, "test operation failed to decode path") + return fmt.Errorf("test operation failed to decode path: %w", err) } if path == "" { @@ -673,67 +672,67 @@ func (p Patch) test(doc *container, op Operation) error { return nil } - return errors.Wrapf(ErrTestFailed, "testing value %s failed", path) + return fmt.Errorf("testing value %s failed: %w", path, ErrTestFailed) } con, key := findObject(doc, path) if con == nil { - return errors.Wrapf(ErrMissing, "test operation does not apply: is missing path: %s", path) + return fmt.Errorf("test operation does not apply: is missing path: %s: %w", path, ErrMissing) } val, err := con.get(key) if err != nil { - return errors.Wrapf(err, "error in test for path: '%s'", path) + return fmt.Errorf("error in test for path: '%s': %w", path, err) } if val == nil { - if op.value().raw == nil { + if op.value() == nil || op.value().raw == nil { return nil } - return errors.Wrapf(ErrTestFailed, "testing value %s failed", path) + return fmt.Errorf("testing value %s failed: %w", path, ErrTestFailed) } else if op.value() == nil { - return errors.Wrapf(ErrTestFailed, "testing value %s failed", path) + return fmt.Errorf("testing value %s failed: %w", path, ErrTestFailed) } if val.equal(op.value()) { return nil } - return errors.Wrapf(ErrTestFailed, "testing value %s failed", path) + return fmt.Errorf("testing value %s failed: %w", path, ErrTestFailed) } func (p Patch) copy(doc *container, op Operation, accumulatedCopySize *int64) error { from, err := op.From() if err != nil { - return errors.Wrapf(err, "copy operation failed to decode from") + return fmt.Errorf("copy operation failed to decode from: %w", err) } con, key := findObject(doc, from) if con == nil { - return errors.Wrapf(ErrMissing, "copy operation does not apply: doc is missing from path: %s", from) + return fmt.Errorf("copy operation does not apply: doc is missing from path: %s: %w", from, ErrMissing) } val, err := con.get(key) if err != nil { - return errors.Wrapf(err, "error in copy for from: '%s'", from) + return fmt.Errorf("error in copy for from: '%s': %w", from, err) } path, err := op.Path() if err != nil { - return errors.Wrapf(ErrMissing, "copy operation failed to decode path") + return fmt.Errorf("copy operation failed to decode path: %w", ErrMissing) } con, key = findObject(doc, path) if con == nil { - return errors.Wrapf(ErrMissing, "copy operation does not apply: doc is missing destination path: %s", path) + return fmt.Errorf("copy operation does not apply: doc is missing destination path: %s: %w", path, ErrMissing) } valCopy, sz, err := deepCopy(val) if err != nil { - return errors.Wrapf(err, "error while performing deep copy") + return fmt.Errorf("error while performing deep copy: %w", err) } (*accumulatedCopySize) += int64(sz) @@ -743,7 +742,7 @@ func (p Patch) copy(doc *container, op Operation, accumulatedCopySize *int64) er err = con.add(key, valCopy) if err != nil { - return errors.Wrapf(err, "error while adding value during copy") + return fmt.Errorf("error while adding value during copy: %w", err) } return nil diff --git a/vendor/k8s.io/component-base/cli/flag/ciphersuites_flag.go b/vendor/k8s.io/component-base/cli/flag/ciphersuites_flag.go deleted file mode 100644 index 11adc2683..000000000 --- a/vendor/k8s.io/component-base/cli/flag/ciphersuites_flag.go +++ /dev/null @@ -1,147 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - "crypto/tls" - "fmt" - - "k8s.io/apimachinery/pkg/util/sets" -) - -var ( - // ciphers maps strings into tls package cipher constants in - // https://golang.org/pkg/crypto/tls/#pkg-constants - ciphers = map[string]uint16{} - insecureCiphers = map[string]uint16{} -) - -func init() { - for _, suite := range tls.CipherSuites() { - ciphers[suite.Name] = suite.ID - } - // keep legacy names for backward compatibility - ciphers["TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305"] = tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - ciphers["TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305"] = tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - - for _, suite := range tls.InsecureCipherSuites() { - insecureCiphers[suite.Name] = suite.ID - } -} - -// InsecureTLSCiphers returns the cipher suites implemented by crypto/tls which have -// security issues. -func InsecureTLSCiphers() map[string]uint16 { - cipherKeys := make(map[string]uint16, len(insecureCiphers)) - for k, v := range insecureCiphers { - cipherKeys[k] = v - } - return cipherKeys -} - -// InsecureTLSCipherNames returns a list of cipher suite names implemented by crypto/tls -// which have security issues. -func InsecureTLSCipherNames() []string { - cipherKeys := sets.NewString() - for key := range insecureCiphers { - cipherKeys.Insert(key) - } - return cipherKeys.List() -} - -// PreferredTLSCipherNames returns a list of cipher suite names implemented by crypto/tls. -func PreferredTLSCipherNames() []string { - cipherKeys := sets.NewString() - for key := range ciphers { - cipherKeys.Insert(key) - } - return cipherKeys.List() -} - -func allCiphers() map[string]uint16 { - acceptedCiphers := make(map[string]uint16, len(ciphers)+len(insecureCiphers)) - for k, v := range ciphers { - acceptedCiphers[k] = v - } - for k, v := range insecureCiphers { - acceptedCiphers[k] = v - } - return acceptedCiphers -} - -// TLSCipherPossibleValues returns all acceptable cipher suite names. -// This is a combination of both InsecureTLSCipherNames() and PreferredTLSCipherNames(). -func TLSCipherPossibleValues() []string { - cipherKeys := sets.NewString() - acceptedCiphers := allCiphers() - for key := range acceptedCiphers { - cipherKeys.Insert(key) - } - return cipherKeys.List() -} - -// TLSCipherSuites returns a list of cipher suite IDs from the cipher suite names passed. -func TLSCipherSuites(cipherNames []string) ([]uint16, error) { - if len(cipherNames) == 0 { - return nil, nil - } - ciphersIntSlice := make([]uint16, 0) - possibleCiphers := allCiphers() - for _, cipher := range cipherNames { - intValue, ok := possibleCiphers[cipher] - if !ok { - return nil, fmt.Errorf("Cipher suite %s not supported or doesn't exist", cipher) - } - ciphersIntSlice = append(ciphersIntSlice, intValue) - } - return ciphersIntSlice, nil -} - -var versions = map[string]uint16{ - "VersionTLS10": tls.VersionTLS10, - "VersionTLS11": tls.VersionTLS11, - "VersionTLS12": tls.VersionTLS12, - "VersionTLS13": tls.VersionTLS13, -} - -// TLSPossibleVersions returns all acceptable values for TLS Version. -func TLSPossibleVersions() []string { - versionsKeys := sets.NewString() - for key := range versions { - versionsKeys.Insert(key) - } - return versionsKeys.List() -} - -// TLSVersion returns the TLS Version ID for the version name passed. -func TLSVersion(versionName string) (uint16, error) { - if len(versionName) == 0 { - return DefaultTLSVersion(), nil - } - if version, ok := versions[versionName]; ok { - return version, nil - } - return 0, fmt.Errorf("unknown tls version %q", versionName) -} - -// DefaultTLSVersion defines the default TLS Version. -func DefaultTLSVersion() uint16 { - // Can't use SSLv3 because of POODLE and BEAST - // Can't use TLSv1.0 because of POODLE and BEAST using CBC cipher - // Can't use TLSv1.1 because of RC4 cipher usage - return tls.VersionTLS12 -} diff --git a/vendor/k8s.io/component-base/cli/flag/colon_separated_multimap_string_string.go b/vendor/k8s.io/component-base/cli/flag/colon_separated_multimap_string_string.go deleted file mode 100644 index 728fa520b..000000000 --- a/vendor/k8s.io/component-base/cli/flag/colon_separated_multimap_string_string.go +++ /dev/null @@ -1,114 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - "fmt" - "sort" - "strings" -) - -// ColonSeparatedMultimapStringString supports setting a map[string][]string from an encoding -// that separates keys from values with ':' and separates key-value pairs with ','. -// A key can be repeated multiple times, in which case the values are appended to a -// slice of strings associated with that key. Items in the list associated with a given -// key will appear in the order provided. -// For example: `a:hello,b:again,c:world,b:beautiful` results in `{"a": ["hello"], "b": ["again", "beautiful"], "c": ["world"]}` -// The first call to Set will clear the map before adding entries; subsequent calls will simply append to the map. -// This makes it possible to override default values with a command-line option rather than appending to defaults, -// while still allowing the distribution of key-value pairs across multiple flag invocations. -// For example: `--flag "a:hello" --flag "b:again" --flag "b:beautiful" --flag "c:world"` results in `{"a": ["hello"], "b": ["again", "beautiful"], "c": ["world"]}` -type ColonSeparatedMultimapStringString struct { - Multimap *map[string][]string - initialized bool // set to true after the first Set call - allowDefaultEmptyKey bool -} - -// NewColonSeparatedMultimapStringString takes a pointer to a map[string][]string and returns the -// ColonSeparatedMultimapStringString flag parsing shim for that map. -func NewColonSeparatedMultimapStringString(m *map[string][]string) *ColonSeparatedMultimapStringString { - return &ColonSeparatedMultimapStringString{Multimap: m} -} - -// NewColonSeparatedMultimapStringStringAllowDefaultEmptyKey takes a pointer to a map[string][]string and returns the -// ColonSeparatedMultimapStringString flag parsing shim for that map. It allows default empty key with no colon in the flag. -func NewColonSeparatedMultimapStringStringAllowDefaultEmptyKey(m *map[string][]string) *ColonSeparatedMultimapStringString { - return &ColonSeparatedMultimapStringString{Multimap: m, allowDefaultEmptyKey: true} -} - -// Set implements github.com/spf13/pflag.Value -func (m *ColonSeparatedMultimapStringString) Set(value string) error { - if m.Multimap == nil { - return fmt.Errorf("no target (nil pointer to map[string][]string)") - } - if !m.initialized || *m.Multimap == nil { - // clear default values, or allocate if no existing map - *m.Multimap = make(map[string][]string) - m.initialized = true - } - for _, pair := range strings.Split(value, ",") { - if len(pair) == 0 { - continue - } - kv := strings.SplitN(pair, ":", 2) - var k, v string - if m.allowDefaultEmptyKey && len(kv) == 1 { - v = strings.TrimSpace(kv[0]) - } else { - if len(kv) != 2 { - return fmt.Errorf("malformed pair, expect string:string") - } - k = strings.TrimSpace(kv[0]) - v = strings.TrimSpace(kv[1]) - } - (*m.Multimap)[k] = append((*m.Multimap)[k], v) - } - return nil -} - -// String implements github.com/spf13/pflag.Value -func (m *ColonSeparatedMultimapStringString) String() string { - type kv struct { - k string - v string - } - kvs := make([]kv, 0, len(*m.Multimap)) - for k, vs := range *m.Multimap { - for i := range vs { - kvs = append(kvs, kv{k: k, v: vs[i]}) - } - } - // stable sort by keys, order of values should be preserved - sort.SliceStable(kvs, func(i, j int) bool { - return kvs[i].k < kvs[j].k - }) - pairs := make([]string, 0, len(kvs)) - for i := range kvs { - pairs = append(pairs, fmt.Sprintf("%s:%s", kvs[i].k, kvs[i].v)) - } - return strings.Join(pairs, ",") -} - -// Type implements github.com/spf13/pflag.Value -func (m *ColonSeparatedMultimapStringString) Type() string { - return "colonSeparatedMultimapStringString" -} - -// Empty implements OmitEmpty -func (m *ColonSeparatedMultimapStringString) Empty() bool { - return len(*m.Multimap) == 0 -} diff --git a/vendor/k8s.io/component-base/cli/flag/configuration_map.go b/vendor/k8s.io/component-base/cli/flag/configuration_map.go deleted file mode 100644 index 911b05ec6..000000000 --- a/vendor/k8s.io/component-base/cli/flag/configuration_map.go +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - "fmt" - "sort" - "strings" -) - -type ConfigurationMap map[string]string - -func (m *ConfigurationMap) String() string { - pairs := []string{} - for k, v := range *m { - pairs = append(pairs, fmt.Sprintf("%s=%s", k, v)) - } - sort.Strings(pairs) - return strings.Join(pairs, ",") -} - -func (m *ConfigurationMap) Set(value string) error { - for _, s := range strings.Split(value, ",") { - if len(s) == 0 { - continue - } - arr := strings.SplitN(s, "=", 2) - if len(arr) == 2 { - (*m)[strings.TrimSpace(arr[0])] = strings.TrimSpace(arr[1]) - } else { - (*m)[strings.TrimSpace(arr[0])] = "" - } - } - return nil -} - -func (*ConfigurationMap) Type() string { - return "mapStringString" -} diff --git a/vendor/k8s.io/component-base/cli/flag/flags.go b/vendor/k8s.io/component-base/cli/flag/flags.go deleted file mode 100644 index 8d4a59ce9..000000000 --- a/vendor/k8s.io/component-base/cli/flag/flags.go +++ /dev/null @@ -1,66 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - goflag "flag" - "strings" - - "github.com/spf13/pflag" - "k8s.io/klog/v2" -) - -var underscoreWarnings = make(map[string]struct{}) - -// WordSepNormalizeFunc changes all flags that contain "_" separators -func WordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { - if strings.Contains(name, "_") { - return pflag.NormalizedName(strings.Replace(name, "_", "-", -1)) - } - return pflag.NormalizedName(name) -} - -// WarnWordSepNormalizeFunc changes and warns for flags that contain "_" separators -func WarnWordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { - if strings.Contains(name, "_") { - nname := strings.Replace(name, "_", "-", -1) - if _, alreadyWarned := underscoreWarnings[name]; !alreadyWarned { - klog.Warningf("using an underscore in a flag name is not supported. %s has been converted to %s.", name, nname) - underscoreWarnings[name] = struct{}{} - } - - return pflag.NormalizedName(nname) - } - return pflag.NormalizedName(name) -} - -// InitFlags normalizes, parses, then logs the command line flags -func InitFlags() { - pflag.CommandLine.SetNormalizeFunc(WordSepNormalizeFunc) - pflag.CommandLine.AddGoFlagSet(goflag.CommandLine) - pflag.Parse() - pflag.VisitAll(func(flag *pflag.Flag) { - klog.V(2).Infof("FLAG: --%s=%q", flag.Name, flag.Value) - }) -} - -// PrintFlags logs the flags in the flagset -func PrintFlags(flags *pflag.FlagSet) { - flags.VisitAll(func(flag *pflag.Flag) { - klog.V(1).Infof("FLAG: --%s=%q", flag.Name, flag.Value) - }) -} diff --git a/vendor/k8s.io/component-base/cli/flag/langle_separated_map_string_string.go b/vendor/k8s.io/component-base/cli/flag/langle_separated_map_string_string.go deleted file mode 100644 index bf8dbfb9b..000000000 --- a/vendor/k8s.io/component-base/cli/flag/langle_separated_map_string_string.go +++ /dev/null @@ -1,82 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - "fmt" - "sort" - "strings" -) - -// LangleSeparatedMapStringString can be set from the command line with the format `--flag "string 0 { - s = s + ":" + strings.Join(nkc.Names, ",") - } - return s -} - -func (nkc *NamedCertKey) Set(value string) error { - cs := strings.SplitN(value, ":", 2) - var keycert string - if len(cs) == 2 { - var names string - keycert, names = strings.TrimSpace(cs[0]), strings.TrimSpace(cs[1]) - if names == "" { - return errors.New("empty names list is not allowed") - } - nkc.Names = nil - for _, name := range strings.Split(names, ",") { - nkc.Names = append(nkc.Names, strings.TrimSpace(name)) - } - } else { - nkc.Names = nil - keycert = strings.TrimSpace(cs[0]) - } - cs = strings.Split(keycert, ",") - if len(cs) != 2 { - return errors.New("expected comma separated certificate and key file paths") - } - nkc.CertFile = strings.TrimSpace(cs[0]) - nkc.KeyFile = strings.TrimSpace(cs[1]) - return nil -} - -func (*NamedCertKey) Type() string { - return "namedCertKey" -} - -// NamedCertKeyArray is a flag value parsing NamedCertKeys, each passed with its own -// flag instance (in contrast to comma separated slices). -type NamedCertKeyArray struct { - value *[]NamedCertKey - changed bool -} - -var _ flag.Value = &NamedCertKeyArray{} - -// NewNamedKeyCertArray creates a new NamedCertKeyArray with the internal value -// pointing to p. -func NewNamedCertKeyArray(p *[]NamedCertKey) *NamedCertKeyArray { - return &NamedCertKeyArray{ - value: p, - } -} - -func (a *NamedCertKeyArray) Set(val string) error { - nkc := NamedCertKey{} - err := nkc.Set(val) - if err != nil { - return err - } - if !a.changed { - *a.value = []NamedCertKey{nkc} - a.changed = true - } else { - *a.value = append(*a.value, nkc) - } - return nil -} - -func (a *NamedCertKeyArray) Type() string { - return "namedCertKey" -} - -func (a *NamedCertKeyArray) String() string { - nkcs := make([]string, 0, len(*a.value)) - for i := range *a.value { - nkcs = append(nkcs, (*a.value)[i].String()) - } - return "[" + strings.Join(nkcs, ";") + "]" -} diff --git a/vendor/k8s.io/component-base/cli/flag/noop.go b/vendor/k8s.io/component-base/cli/flag/noop.go deleted file mode 100644 index 03f7f14c0..000000000 --- a/vendor/k8s.io/component-base/cli/flag/noop.go +++ /dev/null @@ -1,41 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - goflag "flag" - "github.com/spf13/pflag" -) - -// NoOp implements goflag.Value and plfag.Value, -// but has a noop Set implementation -type NoOp struct{} - -var _ goflag.Value = NoOp{} -var _ pflag.Value = NoOp{} - -func (NoOp) String() string { - return "" -} - -func (NoOp) Set(val string) error { - return nil -} - -func (NoOp) Type() string { - return "NoOp" -} diff --git a/vendor/k8s.io/component-base/cli/flag/omitempty.go b/vendor/k8s.io/component-base/cli/flag/omitempty.go deleted file mode 100644 index c354754ea..000000000 --- a/vendor/k8s.io/component-base/cli/flag/omitempty.go +++ /dev/null @@ -1,24 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -// OmitEmpty is an interface for flags to report whether their underlying value -// is "empty." If a flag implements OmitEmpty and returns true for a call to Empty(), -// it is assumed that flag may be omitted from the command line. -type OmitEmpty interface { - Empty() bool -} diff --git a/vendor/k8s.io/component-base/cli/flag/sectioned.go b/vendor/k8s.io/component-base/cli/flag/sectioned.go deleted file mode 100644 index 235742876..000000000 --- a/vendor/k8s.io/component-base/cli/flag/sectioned.go +++ /dev/null @@ -1,105 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - "bytes" - "fmt" - "io" - "strings" - - "github.com/spf13/cobra" - "github.com/spf13/pflag" -) - -const ( - usageFmt = "Usage:\n %s\n" -) - -// NamedFlagSets stores named flag sets in the order of calling FlagSet. -type NamedFlagSets struct { - // Order is an ordered list of flag set names. - Order []string - // FlagSets stores the flag sets by name. - FlagSets map[string]*pflag.FlagSet - // NormalizeNameFunc is the normalize function which used to initialize FlagSets created by NamedFlagSets. - NormalizeNameFunc func(f *pflag.FlagSet, name string) pflag.NormalizedName -} - -// FlagSet returns the flag set with the given name and adds it to the -// ordered name list if it is not in there yet. -func (nfs *NamedFlagSets) FlagSet(name string) *pflag.FlagSet { - if nfs.FlagSets == nil { - nfs.FlagSets = map[string]*pflag.FlagSet{} - } - if _, ok := nfs.FlagSets[name]; !ok { - flagSet := pflag.NewFlagSet(name, pflag.ExitOnError) - flagSet.SetNormalizeFunc(pflag.CommandLine.GetNormalizeFunc()) - if nfs.NormalizeNameFunc != nil { - flagSet.SetNormalizeFunc(nfs.NormalizeNameFunc) - } - nfs.FlagSets[name] = flagSet - nfs.Order = append(nfs.Order, name) - } - return nfs.FlagSets[name] -} - -// PrintSections prints the given names flag sets in sections, with the maximal given column number. -// If cols is zero, lines are not wrapped. -func PrintSections(w io.Writer, fss NamedFlagSets, cols int) { - for _, name := range fss.Order { - fs := fss.FlagSets[name] - if !fs.HasFlags() { - continue - } - - wideFS := pflag.NewFlagSet("", pflag.ExitOnError) - wideFS.AddFlagSet(fs) - - var zzz string - if cols > 24 { - zzz = strings.Repeat("z", cols-24) - wideFS.Int(zzz, 0, strings.Repeat("z", cols-24)) - } - - var buf bytes.Buffer - fmt.Fprintf(&buf, "\n%s flags:\n\n%s", strings.ToUpper(name[:1])+name[1:], wideFS.FlagUsagesWrapped(cols)) - - if cols > 24 { - i := strings.Index(buf.String(), zzz) - lines := strings.Split(buf.String()[:i], "\n") - fmt.Fprint(w, strings.Join(lines[:len(lines)-1], "\n")) - fmt.Fprintln(w) - } else { - fmt.Fprint(w, buf.String()) - } - } -} - -// SetUsageAndHelpFunc set both usage and help function. -// Print the flag sets we need instead of all of them. -func SetUsageAndHelpFunc(cmd *cobra.Command, fss NamedFlagSets, cols int) { - cmd.SetUsageFunc(func(cmd *cobra.Command) error { - fmt.Fprintf(cmd.OutOrStderr(), usageFmt, cmd.UseLine()) - PrintSections(cmd.OutOrStderr(), fss, cols) - return nil - }) - cmd.SetHelpFunc(func(cmd *cobra.Command, args []string) { - fmt.Fprintf(cmd.OutOrStdout(), "%s\n\n"+usageFmt, cmd.Long, cmd.UseLine()) - PrintSections(cmd.OutOrStdout(), fss, cols) - }) -} diff --git a/vendor/k8s.io/component-base/cli/flag/string_flag.go b/vendor/k8s.io/component-base/cli/flag/string_flag.go deleted file mode 100644 index 331bdb66e..000000000 --- a/vendor/k8s.io/component-base/cli/flag/string_flag.go +++ /dev/null @@ -1,56 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -// StringFlag is a string flag compatible with flags and pflags that keeps track of whether it had a value supplied or not. -type StringFlag struct { - // If Set has been invoked this value is true - provided bool - // The exact value provided on the flag - value string -} - -func NewStringFlag(defaultVal string) StringFlag { - return StringFlag{value: defaultVal} -} - -func (f *StringFlag) Default(value string) { - f.value = value -} - -func (f StringFlag) String() string { - return f.value -} - -func (f StringFlag) Value() string { - return f.value -} - -func (f *StringFlag) Set(value string) error { - f.value = value - f.provided = true - - return nil -} - -func (f StringFlag) Provided() bool { - return f.provided -} - -func (f *StringFlag) Type() string { - return "string" -} diff --git a/vendor/k8s.io/component-base/cli/flag/string_slice_flag.go b/vendor/k8s.io/component-base/cli/flag/string_slice_flag.go deleted file mode 100644 index ad0d07d75..000000000 --- a/vendor/k8s.io/component-base/cli/flag/string_slice_flag.go +++ /dev/null @@ -1,62 +0,0 @@ -/* -Copyright 2021 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - goflag "flag" - "fmt" - "strings" - - "github.com/spf13/pflag" -) - -// StringSlice implements goflag.Value and plfag.Value, -// and allows set to be invoked repeatedly to accumulate values. -type StringSlice struct { - value *[]string - changed bool -} - -func NewStringSlice(s *[]string) *StringSlice { - return &StringSlice{value: s} -} - -var _ goflag.Value = &StringSlice{} -var _ pflag.Value = &StringSlice{} - -func (s *StringSlice) String() string { - if s == nil || s.value == nil { - return "" - } - return strings.Join(*s.value, " ") -} - -func (s *StringSlice) Set(val string) error { - if s.value == nil { - return fmt.Errorf("no target (nil pointer to []string)") - } - if !s.changed { - *s.value = make([]string, 0) - } - *s.value = append(*s.value, val) - s.changed = true - return nil -} - -func (StringSlice) Type() string { - return "sliceString" -} diff --git a/vendor/k8s.io/component-base/cli/flag/tristate.go b/vendor/k8s.io/component-base/cli/flag/tristate.go deleted file mode 100644 index cf16376bf..000000000 --- a/vendor/k8s.io/component-base/cli/flag/tristate.go +++ /dev/null @@ -1,83 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package flag - -import ( - "fmt" - "strconv" -) - -// Tristate is a flag compatible with flags and pflags that -// keeps track of whether it had a value supplied or not. -type Tristate int - -const ( - Unset Tristate = iota // 0 - True - False -) - -func (f *Tristate) Default(value bool) { - *f = triFromBool(value) -} - -func (f Tristate) String() string { - b := boolFromTri(f) - return fmt.Sprintf("%t", b) -} - -func (f Tristate) Value() bool { - b := boolFromTri(f) - return b -} - -func (f *Tristate) Set(value string) error { - boolVal, err := strconv.ParseBool(value) - if err != nil { - return err - } - - *f = triFromBool(boolVal) - return nil -} - -func (f Tristate) Provided() bool { - if f != Unset { - return true - } - return false -} - -func (f *Tristate) Type() string { - return "tristate" -} - -func boolFromTri(t Tristate) bool { - if t == True { - return true - } else { - return false - } -} - -func triFromBool(b bool) Tristate { - if b { - return True - } else { - return False - } -} diff --git a/vendor/k8s.io/component-base/featuregate/feature_gate.go b/vendor/k8s.io/component-base/featuregate/feature_gate.go index b6f08a6cd..30e430d56 100644 --- a/vendor/k8s.io/component-base/featuregate/feature_gate.go +++ b/vendor/k8s.io/component-base/featuregate/feature_gate.go @@ -268,7 +268,6 @@ func NewVersionedFeatureGate(emulationVersion *version.Version) *featureGate { f.enabledRaw.Store(map[string]bool{}) f.emulationVersion.Store(emulationVersion) f.queriedFeatures.Store(sets.Set[Feature]{}) - klog.V(1).Infof("new feature gate with emulationVersion=%s", f.emulationVersion.Load().String()) return f } @@ -319,7 +318,6 @@ func (f *featureGate) unsafeSetFromMap(enabled map[Feature]bool, m map[string]bo // Copy existing state known := map[Feature]VersionedSpecs{} for k, v := range f.known.Load().(map[Feature]VersionedSpecs) { - sort.Sort(v) known[k] = v } @@ -422,19 +420,52 @@ func (f *featureGate) AddVersioned(features map[Feature]VersionedSpecs) error { if f.closed { return fmt.Errorf("cannot add a feature gate after adding it to the flag set") } - // Copy existing state known := f.GetAllVersioned() for name, specs := range features { - sort.Sort(specs) if existingSpec, found := known[name]; found { - sort.Sort(existingSpec) if reflect.DeepEqual(existingSpec, specs) { continue } return fmt.Errorf("feature gate %q with different spec already exists: %v", name, existingSpec) } + // Validate new specs are well-formed + var lastVersion *version.Version + var wasBeta, wasGA, wasDeprecated bool + for i, spec := range specs { + if spec.Version == nil { + return fmt.Errorf("feature %q did not provide a version", name) + } + if len(spec.Version.Components()) != 2 { + return fmt.Errorf("feature %q specified patch version: %s", name, spec.Version.String()) + + } + // gates that begin as deprecated must indicate their prior state + if i == 0 && spec.PreRelease == Deprecated && spec.Version.Minor() != 0 { + return fmt.Errorf("feature %q introduced as deprecated must provide a 1.0 entry indicating initial state", name) + } + if i > 0 { + // versions must strictly increase + if !lastVersion.LessThan(spec.Version) { + return fmt.Errorf("feature %q lists version transitions in non-increasing order (%s <= %s)", name, spec.Version, lastVersion) + } + // stability must not regress from ga --> {beta,alpha} or beta --> alpha, and + // Deprecated state must be the terminal state + switch { + case spec.PreRelease != Deprecated && wasDeprecated: + return fmt.Errorf("deprecated feature %q must not resurrect from its terminal state", name) + case spec.PreRelease == Alpha && (wasBeta || wasGA): + return fmt.Errorf("feature %q regresses stability from more stable level to %s in %s", name, spec.PreRelease, spec.Version) + case spec.PreRelease == Beta && wasGA: + return fmt.Errorf("feature %q regresses stability from more stable level to %s in %s", name, spec.PreRelease, spec.Version) + } + } + lastVersion = spec.Version + wasBeta = wasBeta || spec.PreRelease == Beta + wasGA = wasGA || spec.PreRelease == GA + wasDeprecated = wasDeprecated || spec.PreRelease == Deprecated + } known[name] = specs } diff --git a/vendor/k8s.io/component-base/featuregate/registry.go b/vendor/k8s.io/component-base/featuregate/registry.go deleted file mode 100644 index cf35403da..000000000 --- a/vendor/k8s.io/component-base/featuregate/registry.go +++ /dev/null @@ -1,454 +0,0 @@ -/* -Copyright 2024 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package featuregate - -import ( - "fmt" - "sort" - "strings" - "sync" - - "github.com/spf13/pflag" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - "k8s.io/apimachinery/pkg/util/version" - cliflag "k8s.io/component-base/cli/flag" - baseversion "k8s.io/component-base/version" - "k8s.io/klog/v2" -) - -// DefaultComponentGlobalsRegistry is the global var to store the effective versions and feature gates for all components for easy access. -// Example usage: -// // register the component effective version and feature gate first -// _, _ = utilversion.DefaultComponentGlobalsRegistry.ComponentGlobalsOrRegister(utilversion.DefaultKubeComponent, utilversion.DefaultKubeEffectiveVersion(), utilfeature.DefaultMutableFeatureGate) -// wardleEffectiveVersion := utilversion.NewEffectiveVersion("1.2") -// wardleFeatureGate := featuregate.NewFeatureGate() -// utilruntime.Must(utilversion.DefaultComponentGlobalsRegistry.Register(apiserver.WardleComponentName, wardleEffectiveVersion, wardleFeatureGate, false)) -// -// cmd := &cobra.Command{ -// ... -// // call DefaultComponentGlobalsRegistry.Set() in PersistentPreRunE -// PersistentPreRunE: func(*cobra.Command, []string) error { -// if err := utilversion.DefaultComponentGlobalsRegistry.Set(); err != nil { -// return err -// } -// ... -// }, -// RunE: func(c *cobra.Command, args []string) error { -// // call utilversion.DefaultComponentGlobalsRegistry.Validate() somewhere -// }, -// } -// -// flags := cmd.Flags() -// // add flags -// utilversion.DefaultComponentGlobalsRegistry.AddFlags(flags) -var DefaultComponentGlobalsRegistry ComponentGlobalsRegistry = NewComponentGlobalsRegistry() - -const ( - DefaultKubeComponent = "kube" - - klogLevel = 2 -) - -type VersionMapping func(from *version.Version) *version.Version - -// ComponentGlobals stores the global variables for a component for easy access. -type ComponentGlobals struct { - effectiveVersion baseversion.MutableEffectiveVersion - featureGate MutableVersionedFeatureGate - - // emulationVersionMapping contains the mapping from the emulation version of this component - // to the emulation version of another component. - emulationVersionMapping map[string]VersionMapping - // dependentEmulationVersion stores whether or not this component's EmulationVersion is dependent through mapping on another component. - // If true, the emulation version cannot be set from the flag, or version mapping from another component. - dependentEmulationVersion bool - // minCompatibilityVersionMapping contains the mapping from the min compatibility version of this component - // to the min compatibility version of another component. - minCompatibilityVersionMapping map[string]VersionMapping - // dependentMinCompatibilityVersion stores whether or not this component's MinCompatibilityVersion is dependent through mapping on another component - // If true, the min compatibility version cannot be set from the flag, or version mapping from another component. - dependentMinCompatibilityVersion bool -} - -type ComponentGlobalsRegistry interface { - // EffectiveVersionFor returns the EffectiveVersion registered under the component. - // Returns nil if the component is not registered. - EffectiveVersionFor(component string) baseversion.EffectiveVersion - // FeatureGateFor returns the FeatureGate registered under the component. - // Returns nil if the component is not registered. - FeatureGateFor(component string) FeatureGate - // Register registers the EffectiveVersion and FeatureGate for a component. - // returns error if the component is already registered. - Register(component string, effectiveVersion baseversion.MutableEffectiveVersion, featureGate MutableVersionedFeatureGate) error - // ComponentGlobalsOrRegister would return the registered global variables for the component if it already exists in the registry. - // Otherwise, the provided variables would be registered under the component, and the same variables would be returned. - ComponentGlobalsOrRegister(component string, effectiveVersion baseversion.MutableEffectiveVersion, featureGate MutableVersionedFeatureGate) (baseversion.MutableEffectiveVersion, MutableVersionedFeatureGate) - // AddFlags adds flags of "--emulated-version" and "--feature-gates" - AddFlags(fs *pflag.FlagSet) - // Set sets the flags for all global variables for all components registered. - Set() error - // SetFallback calls Set() if it has never been called. - SetFallback() error - // Validate calls the Validate() function for all the global variables for all components registered. - Validate() []error - // Reset removes all stored ComponentGlobals, configurations, and version mappings. - Reset() - // SetEmulationVersionMapping sets the mapping from the emulation version of one component - // to the emulation version of another component. - // Once set, the emulation version of the toComponent will be determined by the emulation version of the fromComponent, - // and cannot be set from cmd flags anymore. - // For a given component, its emulation version can only depend on one other component, no multiple dependency is allowed. - SetEmulationVersionMapping(fromComponent, toComponent string, f VersionMapping) error -} - -type componentGlobalsRegistry struct { - componentGlobals map[string]*ComponentGlobals - mutex sync.RWMutex - // list of component name to emulation version set from the flag. - emulationVersionConfig []string - // map of component name to the list of feature gates set from the flag. - featureGatesConfig map[string][]string - // set stores if the Set() function for the registry is already called. - set bool -} - -func NewComponentGlobalsRegistry() *componentGlobalsRegistry { - return &componentGlobalsRegistry{ - componentGlobals: make(map[string]*ComponentGlobals), - emulationVersionConfig: nil, - featureGatesConfig: nil, - } -} - -func (r *componentGlobalsRegistry) Reset() { - r.mutex.Lock() - defer r.mutex.Unlock() - r.componentGlobals = make(map[string]*ComponentGlobals) - r.emulationVersionConfig = nil - r.featureGatesConfig = nil - r.set = false -} - -func (r *componentGlobalsRegistry) EffectiveVersionFor(component string) baseversion.EffectiveVersion { - r.mutex.RLock() - defer r.mutex.RUnlock() - globals, ok := r.componentGlobals[component] - if !ok { - return nil - } - return globals.effectiveVersion -} - -func (r *componentGlobalsRegistry) FeatureGateFor(component string) FeatureGate { - r.mutex.RLock() - defer r.mutex.RUnlock() - globals, ok := r.componentGlobals[component] - if !ok { - return nil - } - return globals.featureGate -} - -func (r *componentGlobalsRegistry) unsafeRegister(component string, effectiveVersion baseversion.MutableEffectiveVersion, featureGate MutableVersionedFeatureGate) error { - if _, ok := r.componentGlobals[component]; ok { - return fmt.Errorf("component globals of %s already registered", component) - } - if featureGate != nil { - if err := featureGate.SetEmulationVersion(effectiveVersion.EmulationVersion()); err != nil { - return err - } - } - c := ComponentGlobals{ - effectiveVersion: effectiveVersion, - featureGate: featureGate, - emulationVersionMapping: make(map[string]VersionMapping), - minCompatibilityVersionMapping: make(map[string]VersionMapping), - } - r.componentGlobals[component] = &c - return nil -} - -func (r *componentGlobalsRegistry) Register(component string, effectiveVersion baseversion.MutableEffectiveVersion, featureGate MutableVersionedFeatureGate) error { - if effectiveVersion == nil { - return fmt.Errorf("cannot register nil effectiveVersion") - } - r.mutex.Lock() - defer r.mutex.Unlock() - return r.unsafeRegister(component, effectiveVersion, featureGate) -} - -func (r *componentGlobalsRegistry) ComponentGlobalsOrRegister(component string, effectiveVersion baseversion.MutableEffectiveVersion, featureGate MutableVersionedFeatureGate) (baseversion.MutableEffectiveVersion, MutableVersionedFeatureGate) { - r.mutex.Lock() - defer r.mutex.Unlock() - globals, ok := r.componentGlobals[component] - if ok { - return globals.effectiveVersion, globals.featureGate - } - utilruntime.Must(r.unsafeRegister(component, effectiveVersion, featureGate)) - return effectiveVersion, featureGate -} - -func (r *componentGlobalsRegistry) unsafeKnownFeatures() []string { - var known []string - for component, globals := range r.componentGlobals { - if globals.featureGate == nil { - continue - } - for _, f := range globals.featureGate.KnownFeatures() { - known = append(known, component+":"+f) - } - } - sort.Strings(known) - return known -} - -func (r *componentGlobalsRegistry) unsafeVersionFlagOptions(isEmulation bool) []string { - var vs []string - for component, globals := range r.componentGlobals { - binaryVer := globals.effectiveVersion.BinaryVersion() - if isEmulation { - if globals.dependentEmulationVersion { - continue - } - // emulated version could be between binaryMajor.{binaryMinor} and binaryMajor.{binaryMinor} - // TODO: change to binaryMajor.{binaryMinor-1} and binaryMajor.{binaryMinor} in 1.32 - vs = append(vs, fmt.Sprintf("%s=%s..%s (default=%s)", component, - binaryVer.SubtractMinor(0).String(), binaryVer.String(), globals.effectiveVersion.EmulationVersion().String())) - } else { - if globals.dependentMinCompatibilityVersion { - continue - } - // min compatibility version could be between binaryMajor.{binaryMinor-1} and binaryMajor.{binaryMinor} - vs = append(vs, fmt.Sprintf("%s=%s..%s (default=%s)", component, - binaryVer.SubtractMinor(1).String(), binaryVer.String(), globals.effectiveVersion.MinCompatibilityVersion().String())) - } - } - sort.Strings(vs) - return vs -} - -func (r *componentGlobalsRegistry) AddFlags(fs *pflag.FlagSet) { - if r == nil { - return - } - r.mutex.Lock() - defer r.mutex.Unlock() - for _, globals := range r.componentGlobals { - if globals.featureGate != nil { - globals.featureGate.Close() - } - } - if r.emulationVersionConfig != nil || r.featureGatesConfig != nil { - klog.Warning("calling componentGlobalsRegistry.AddFlags more than once, the registry will be set by the latest flags") - } - r.emulationVersionConfig = []string{} - r.featureGatesConfig = make(map[string][]string) - - fs.StringSliceVar(&r.emulationVersionConfig, "emulated-version", r.emulationVersionConfig, ""+ - "The versions different components emulate their capabilities (APIs, features, ...) of.\n"+ - "If set, the component will emulate the behavior of this version instead of the underlying binary version.\n"+ - "Version format could only be major.minor, for example: '--emulated-version=wardle=1.2,kube=1.31'. Options are:\n"+strings.Join(r.unsafeVersionFlagOptions(true), "\n")+ - "If the component is not specified, defaults to \"kube\"") - - fs.Var(cliflag.NewColonSeparatedMultimapStringStringAllowDefaultEmptyKey(&r.featureGatesConfig), "feature-gates", "Comma-separated list of component:key=value pairs that describe feature gates for alpha/experimental features of different components.\n"+ - "If the component is not specified, defaults to \"kube\". This flag can be repeatedly invoked. For example: --feature-gates 'wardle:featureA=true,wardle:featureB=false' --feature-gates 'kube:featureC=true'"+ - "Options are:\n"+strings.Join(r.unsafeKnownFeatures(), "\n")) -} - -type componentVersion struct { - component string - ver *version.Version -} - -// getFullEmulationVersionConfig expands the given version config with version registered version mapping, -// and returns the map of component to Version. -func (r *componentGlobalsRegistry) getFullEmulationVersionConfig( - versionConfigMap map[string]*version.Version) (map[string]*version.Version, error) { - result := map[string]*version.Version{} - setQueue := []componentVersion{} - for comp, ver := range versionConfigMap { - if _, ok := r.componentGlobals[comp]; !ok { - return result, fmt.Errorf("component not registered: %s", comp) - } - klog.V(klogLevel).Infof("setting version %s=%s", comp, ver.String()) - setQueue = append(setQueue, componentVersion{comp, ver}) - } - for len(setQueue) > 0 { - cv := setQueue[0] - if _, visited := result[cv.component]; visited { - return result, fmt.Errorf("setting version of %s more than once, probably version mapping loop", cv.component) - } - setQueue = setQueue[1:] - result[cv.component] = cv.ver - for toComp, f := range r.componentGlobals[cv.component].emulationVersionMapping { - toVer := f(cv.ver) - if toVer == nil { - return result, fmt.Errorf("got nil version from mapping of %s=%s to component:%s", cv.component, cv.ver.String(), toComp) - } - klog.V(klogLevel).Infof("setting version %s=%s from version mapping of %s=%s", toComp, toVer.String(), cv.component, cv.ver.String()) - setQueue = append(setQueue, componentVersion{toComp, toVer}) - } - } - return result, nil -} - -func toVersionMap(versionConfig []string) (map[string]*version.Version, error) { - m := map[string]*version.Version{} - for _, compVer := range versionConfig { - // default to "kube" of component is not specified - k := "kube" - v := compVer - if strings.Contains(compVer, "=") { - arr := strings.SplitN(compVer, "=", 2) - if len(arr) != 2 { - return m, fmt.Errorf("malformed pair, expect string=string") - } - k = strings.TrimSpace(arr[0]) - v = strings.TrimSpace(arr[1]) - } - ver, err := version.Parse(v) - if err != nil { - return m, err - } - if ver.Patch() != 0 { - return m, fmt.Errorf("patch version not allowed, got: %s=%s", k, ver.String()) - } - if existingVer, ok := m[k]; ok { - return m, fmt.Errorf("duplicate version flag, %s=%s and %s=%s", k, existingVer.String(), k, ver.String()) - } - m[k] = ver - } - return m, nil -} - -func (r *componentGlobalsRegistry) SetFallback() error { - r.mutex.Lock() - set := r.set - r.mutex.Unlock() - if set { - return nil - } - klog.Warning("setting componentGlobalsRegistry in SetFallback. We recommend calling componentGlobalsRegistry.Set()" + - " right after parsing flags to avoid using feature gates before their final values are set by the flags.") - return r.Set() -} - -func (r *componentGlobalsRegistry) Set() error { - r.mutex.Lock() - defer r.mutex.Unlock() - r.set = true - emulationVersionConfigMap, err := toVersionMap(r.emulationVersionConfig) - if err != nil { - return err - } - for comp := range emulationVersionConfigMap { - if _, ok := r.componentGlobals[comp]; !ok { - return fmt.Errorf("component not registered: %s", comp) - } - // only components without any dependencies can be set from the flag. - if r.componentGlobals[comp].dependentEmulationVersion { - return fmt.Errorf("EmulationVersion of %s is set by mapping, cannot set it by flag", comp) - } - } - if emulationVersions, err := r.getFullEmulationVersionConfig(emulationVersionConfigMap); err != nil { - return err - } else { - for comp, ver := range emulationVersions { - r.componentGlobals[comp].effectiveVersion.SetEmulationVersion(ver) - } - } - // Set feature gate emulation version before setting feature gate flag values. - for comp, globals := range r.componentGlobals { - if globals.featureGate == nil { - continue - } - klog.V(klogLevel).Infof("setting %s:feature gate emulation version to %s", comp, globals.effectiveVersion.EmulationVersion().String()) - if err := globals.featureGate.SetEmulationVersion(globals.effectiveVersion.EmulationVersion()); err != nil { - return err - } - } - for comp, fg := range r.featureGatesConfig { - if comp == "" { - if _, ok := r.featureGatesConfig[DefaultKubeComponent]; ok { - return fmt.Errorf("set kube feature gates with default empty prefix or kube: prefix consistently, do not mix use") - } - comp = DefaultKubeComponent - } - if _, ok := r.componentGlobals[comp]; !ok { - return fmt.Errorf("component not registered: %s", comp) - } - featureGate := r.componentGlobals[comp].featureGate - if featureGate == nil { - return fmt.Errorf("component featureGate not registered: %s", comp) - } - flagVal := strings.Join(fg, ",") - klog.V(klogLevel).Infof("setting %s:feature-gates=%s", comp, flagVal) - if err := featureGate.Set(flagVal); err != nil { - return err - } - } - return nil -} - -func (r *componentGlobalsRegistry) Validate() []error { - var errs []error - r.mutex.Lock() - defer r.mutex.Unlock() - for _, globals := range r.componentGlobals { - errs = append(errs, globals.effectiveVersion.Validate()...) - if globals.featureGate != nil { - errs = append(errs, globals.featureGate.Validate()...) - } - } - return errs -} - -func (r *componentGlobalsRegistry) SetEmulationVersionMapping(fromComponent, toComponent string, f VersionMapping) error { - if f == nil { - return nil - } - klog.V(klogLevel).Infof("setting EmulationVersion mapping from %s to %s", fromComponent, toComponent) - r.mutex.Lock() - defer r.mutex.Unlock() - if _, ok := r.componentGlobals[fromComponent]; !ok { - return fmt.Errorf("component not registered: %s", fromComponent) - } - if _, ok := r.componentGlobals[toComponent]; !ok { - return fmt.Errorf("component not registered: %s", toComponent) - } - // check multiple dependency - if r.componentGlobals[toComponent].dependentEmulationVersion { - return fmt.Errorf("mapping of %s already exists from another component", toComponent) - } - r.componentGlobals[toComponent].dependentEmulationVersion = true - - versionMapping := r.componentGlobals[fromComponent].emulationVersionMapping - if _, ok := versionMapping[toComponent]; ok { - return fmt.Errorf("EmulationVersion from %s to %s already exists", fromComponent, toComponent) - } - versionMapping[toComponent] = f - klog.V(klogLevel).Infof("setting the default EmulationVersion of %s based on mapping from the default EmulationVersion of %s", fromComponent, toComponent) - defaultFromVersion := r.componentGlobals[fromComponent].effectiveVersion.EmulationVersion() - emulationVersions, err := r.getFullEmulationVersionConfig(map[string]*version.Version{fromComponent: defaultFromVersion}) - if err != nil { - return err - } - for comp, ver := range emulationVersions { - r.componentGlobals[comp].effectiveVersion.SetEmulationVersion(ver) - } - return nil -} diff --git a/vendor/k8s.io/component-base/metrics/counter.go b/vendor/k8s.io/component-base/metrics/counter.go index 8a7dd7154..e41d5383b 100644 --- a/vendor/k8s.io/component-base/metrics/counter.go +++ b/vendor/k8s.io/component-base/metrics/counter.go @@ -212,17 +212,19 @@ func (v *CounterVec) WithLabelValues(lvs ...string) CounterMetric { if !v.IsCreated() { return noop // return no-op counter } + + // Initialize label allow lists if not already initialized + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + + // Constrain label values to allowed values if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainToAllowedList(v.originalLabels, lvs) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainToAllowedList(v.originalLabels, lvs) - } - allowListLock.RUnlock() - }) } return v.CounterVec.WithLabelValues(lvs...) @@ -236,18 +238,19 @@ func (v *CounterVec) With(labels map[string]string) CounterMetric { if !v.IsCreated() { return noop // return no-op counter } + + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainLabelMap(labels) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainLabelMap(labels) - } - allowListLock.RUnlock() - }) } + return v.CounterVec.With(labels) } diff --git a/vendor/k8s.io/component-base/metrics/gauge.go b/vendor/k8s.io/component-base/metrics/gauge.go index 0621560d0..0d6c8b7fb 100644 --- a/vendor/k8s.io/component-base/metrics/gauge.go +++ b/vendor/k8s.io/component-base/metrics/gauge.go @@ -143,20 +143,22 @@ func (v *GaugeVec) WithLabelValuesChecked(lvs ...string) (GaugeMetric, error) { } return noop, errNotRegistered // return no-op gauge } + + // Initialize label allow lists if not already initialized + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + + // Constrain label values to allowed values if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainToAllowedList(v.originalLabels, lvs) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainToAllowedList(v.originalLabels, lvs) - } - allowListLock.RUnlock() - }) } - elt, err := v.GaugeVec.GetMetricWithLabelValues(lvs...) - return elt, err + + return v.GetMetricWithLabelValues(lvs...) } // Default Prometheus Vec behavior is that member extraction results in creation of a new element @@ -189,20 +191,22 @@ func (v *GaugeVec) WithChecked(labels map[string]string) (GaugeMetric, error) { } return noop, errNotRegistered // return no-op gauge } + + // Initialize label allow lists if not already initialized + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + + // Constrain label map to allowed values if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainLabelMap(labels) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainLabelMap(labels) - } - allowListLock.RUnlock() - }) } - elt, err := v.GaugeVec.GetMetricWith(labels) - return elt, err + + return v.GetMetricWith(labels) } // With returns the GaugeMetric for the given Labels map (the label names diff --git a/vendor/k8s.io/component-base/metrics/histogram.go b/vendor/k8s.io/component-base/metrics/histogram.go index 3065486ab..b410951b6 100644 --- a/vendor/k8s.io/component-base/metrics/histogram.go +++ b/vendor/k8s.io/component-base/metrics/histogram.go @@ -181,17 +181,19 @@ func (v *HistogramVec) WithLabelValues(lvs ...string) ObserverMetric { if !v.IsCreated() { return noop } + + // Initialize label allow lists if not already initialized + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + + // Constrain label values to allowed values if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainToAllowedList(v.originalLabels, lvs) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainToAllowedList(v.originalLabels, lvs) - } - allowListLock.RUnlock() - }) } return v.HistogramVec.WithLabelValues(lvs...) } @@ -204,18 +206,21 @@ func (v *HistogramVec) With(labels map[string]string) ObserverMetric { if !v.IsCreated() { return noop } + + // Initialize label allow lists if not already initialized + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + + // Constrain label map to allowed values if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainLabelMap(labels) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainLabelMap(labels) - } - allowListLock.RUnlock() - }) } + return v.HistogramVec.With(labels) } diff --git a/vendor/k8s.io/component-base/metrics/opts.go b/vendor/k8s.io/component-base/metrics/opts.go index 43015169e..247b9fd1c 100644 --- a/vendor/k8s.io/component-base/metrics/opts.go +++ b/vendor/k8s.io/component-base/metrics/opts.go @@ -26,10 +26,10 @@ import ( "github.com/prometheus/client_golang/prometheus" + yaml "go.yaml.in/yaml/v2" "k8s.io/apimachinery/pkg/util/sets" promext "k8s.io/component-base/metrics/prometheusextension" "k8s.io/klog/v2" - yaml "sigs.k8s.io/yaml/goyaml.v2" ) var ( diff --git a/vendor/k8s.io/component-base/metrics/summary.go b/vendor/k8s.io/component-base/metrics/summary.go index f1af12175..3654e4ea0 100644 --- a/vendor/k8s.io/component-base/metrics/summary.go +++ b/vendor/k8s.io/component-base/metrics/summary.go @@ -154,17 +154,19 @@ func (v *SummaryVec) WithLabelValues(lvs ...string) ObserverMetric { if !v.IsCreated() { return noop } + + // Initialize label allow lists if not already initialized + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + + // Constrain label values to allowed values if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainToAllowedList(v.originalLabels, lvs) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainToAllowedList(v.originalLabels, lvs) - } - allowListLock.RUnlock() - }) } return v.SummaryVec.WithLabelValues(lvs...) } @@ -177,17 +179,17 @@ func (v *SummaryVec) With(labels map[string]string) ObserverMetric { if !v.IsCreated() { return noop } + + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainLabelMap(labels) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainLabelMap(labels) - } - allowListLock.RUnlock() - }) } return v.SummaryVec.With(labels) } diff --git a/vendor/k8s.io/component-base/metrics/timing_histogram.go b/vendor/k8s.io/component-base/metrics/timing_histogram.go index 4fc757473..5399f8d1b 100644 --- a/vendor/k8s.io/component-base/metrics/timing_histogram.go +++ b/vendor/k8s.io/component-base/metrics/timing_histogram.go @@ -169,17 +169,19 @@ func (v *TimingHistogramVec) WithLabelValuesChecked(lvs ...string) (GaugeMetric, } return noop, errNotRegistered } + + // Initialize label allow lists if not already initialized + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + + // Constrain label values to allowed values if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainToAllowedList(v.originalLabels, lvs) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainToAllowedList(v.originalLabels, lvs) - } - allowListLock.RUnlock() - }) } ops, err := v.TimingHistogramVec.GetMetricWithLabelValues(lvs...) if err != nil { @@ -217,19 +219,24 @@ func (v *TimingHistogramVec) WithChecked(labels map[string]string) (GaugeMetric, } return noop, errNotRegistered } + + // Initialize label allow lists if not already initialized + v.initializeLabelAllowListsOnce.Do(func() { + allowListLock.RLock() + if allowList, ok := labelValueAllowLists[v.FQName()]; ok { + v.LabelValueAllowLists = allowList + } + allowListLock.RUnlock() + }) + + // Constrain label map to allowed values if v.LabelValueAllowLists != nil { v.LabelValueAllowLists.ConstrainLabelMap(labels) - } else { - v.initializeLabelAllowListsOnce.Do(func() { - allowListLock.RLock() - if allowList, ok := labelValueAllowLists[v.FQName()]; ok { - v.LabelValueAllowLists = allowList - allowList.ConstrainLabelMap(labels) - } - allowListLock.RUnlock() - }) } ops, err := v.TimingHistogramVec.GetMetricWith(labels) + if err != nil { + return noop, err + } return ops.(GaugeMetric), err } diff --git a/vendor/k8s.io/component-base/version/base.go b/vendor/k8s.io/component-base/version/base.go index 46500118a..b5e889019 100644 --- a/vendor/k8s.io/component-base/version/base.go +++ b/vendor/k8s.io/component-base/version/base.go @@ -24,15 +24,9 @@ package version // information from git. // // If you are looking at these fields in the git tree, they look -// strange. They are modified on the fly by the build process. The +// strange. They are set by the build process with ldflags -X. The // in-tree values are dummy values used for "git archive", which also // works for GitHub tar downloads. -// -// When releasing a new Kubernetes version, this file is updated by -// build/mark_new_version.sh to reflect the new version, and then a -// git annotated tag (using format vX.Y where X == Major version and Y -// == Minor version) is created to point to the commit that updates -// component-base/version/base.go var ( // TODO: Deprecate gitMajor and gitMinor, use only gitVersion // instead. First step in deprecation, keep the fields but make @@ -66,5 +60,5 @@ const ( // DefaultKubeBinaryVersion is the hard coded k8 binary version based on the latest K8s release. // It is supposed to be consistent with gitMajor and gitMinor, except for local tests, where gitMajor and gitMinor are "". // Should update for each minor release! - DefaultKubeBinaryVersion = "1.32" + DefaultKubeBinaryVersion = "1.34" ) diff --git a/vendor/k8s.io/component-base/version/version.go b/vendor/k8s.io/component-base/version/version.go index 99d368534..c71ccf196 100644 --- a/vendor/k8s.io/component-base/version/version.go +++ b/vendor/k8s.io/component-base/version/version.go @@ -19,43 +19,14 @@ package version import ( "fmt" "runtime" - "sync/atomic" - "k8s.io/apimachinery/pkg/util/version" apimachineryversion "k8s.io/apimachinery/pkg/version" ) -type EffectiveVersion interface { - BinaryVersion() *version.Version - EmulationVersion() *version.Version - MinCompatibilityVersion() *version.Version - EqualTo(other EffectiveVersion) bool - String() string - Validate() []error -} - -type MutableEffectiveVersion interface { - EffectiveVersion - Set(binaryVersion, emulationVersion, minCompatibilityVersion *version.Version) - SetEmulationVersion(emulationVersion *version.Version) - SetMinCompatibilityVersion(minCompatibilityVersion *version.Version) -} - -type effectiveVersion struct { - // When true, BinaryVersion() returns the current binary version - useDefaultBuildBinaryVersion atomic.Bool - // Holds the last binary version stored in Set() - binaryVersion atomic.Pointer[version.Version] - // If the emulationVersion is set by the users, it could only contain major and minor versions. - // In tests, emulationVersion could be the same as the binary version, or set directly, - // which can have "alpha" as pre-release to continue serving expired apis while we clean up the test. - emulationVersion atomic.Pointer[version.Version] - // minCompatibilityVersion could only contain major and minor versions. - minCompatibilityVersion atomic.Pointer[version.Version] -} - // Get returns the overall codebase version. It's for detecting // what code a binary was built from. +// The caller should use BinaryMajor and BinaryMinor to determine +// the binary version. The Major and Minor fields are still set by git version for backwards compatibility. func Get() apimachineryversion.Info { // These variables typically come from -ldflags settings and in // their absence fallback to the settings in ./base.go @@ -71,129 +42,3 @@ func Get() apimachineryversion.Info { Platform: fmt.Sprintf("%s/%s", runtime.GOOS, runtime.GOARCH), } } - -func (m *effectiveVersion) BinaryVersion() *version.Version { - if m.useDefaultBuildBinaryVersion.Load() { - return defaultBuildBinaryVersion() - } - return m.binaryVersion.Load() -} - -func (m *effectiveVersion) EmulationVersion() *version.Version { - ver := m.emulationVersion.Load() - if ver != nil { - // Emulation version can have "alpha" as pre-release to continue serving expired apis while we clean up the test. - // The pre-release should not be accessible to the users. - return ver.WithPreRelease(m.BinaryVersion().PreRelease()) - } - return ver -} - -func (m *effectiveVersion) MinCompatibilityVersion() *version.Version { - return m.minCompatibilityVersion.Load() -} - -func (m *effectiveVersion) EqualTo(other EffectiveVersion) bool { - return m.BinaryVersion().EqualTo(other.BinaryVersion()) && m.EmulationVersion().EqualTo(other.EmulationVersion()) && m.MinCompatibilityVersion().EqualTo(other.MinCompatibilityVersion()) -} - -func (m *effectiveVersion) String() string { - if m == nil { - return "" - } - return fmt.Sprintf("{BinaryVersion: %s, EmulationVersion: %s, MinCompatibilityVersion: %s}", - m.BinaryVersion().String(), m.EmulationVersion().String(), m.MinCompatibilityVersion().String()) -} - -func majorMinor(ver *version.Version) *version.Version { - if ver == nil { - return ver - } - return version.MajorMinor(ver.Major(), ver.Minor()) -} - -func (m *effectiveVersion) Set(binaryVersion, emulationVersion, minCompatibilityVersion *version.Version) { - m.binaryVersion.Store(binaryVersion) - m.useDefaultBuildBinaryVersion.Store(false) - m.emulationVersion.Store(majorMinor(emulationVersion)) - m.minCompatibilityVersion.Store(majorMinor(minCompatibilityVersion)) -} - -func (m *effectiveVersion) SetEmulationVersion(emulationVersion *version.Version) { - m.emulationVersion.Store(majorMinor(emulationVersion)) -} - -func (m *effectiveVersion) SetMinCompatibilityVersion(minCompatibilityVersion *version.Version) { - m.minCompatibilityVersion.Store(majorMinor(minCompatibilityVersion)) -} - -func (m *effectiveVersion) Validate() []error { - var errs []error - // Validate only checks the major and minor versions. - binaryVersion := m.BinaryVersion().WithPatch(0) - emulationVersion := m.emulationVersion.Load() - minCompatibilityVersion := m.minCompatibilityVersion.Load() - - // emulationVersion can only be 1.{binaryMinor-1}...1.{binaryMinor}. - maxEmuVer := binaryVersion - minEmuVer := binaryVersion.SubtractMinor(1) - if emulationVersion.GreaterThan(maxEmuVer) || emulationVersion.LessThan(minEmuVer) { - errs = append(errs, fmt.Errorf("emulation version %s is not between [%s, %s]", emulationVersion.String(), minEmuVer.String(), maxEmuVer.String())) - } - // minCompatibilityVersion can only be 1.{binaryMinor-1} for alpha. - maxCompVer := binaryVersion.SubtractMinor(1) - minCompVer := binaryVersion.SubtractMinor(1) - if minCompatibilityVersion.GreaterThan(maxCompVer) || minCompatibilityVersion.LessThan(minCompVer) { - errs = append(errs, fmt.Errorf("minCompatibilityVersion version %s is not between [%s, %s]", minCompatibilityVersion.String(), minCompVer.String(), maxCompVer.String())) - } - return errs -} - -func newEffectiveVersion(binaryVersion *version.Version, useDefaultBuildBinaryVersion bool) MutableEffectiveVersion { - effective := &effectiveVersion{} - compatVersion := binaryVersion.SubtractMinor(1) - effective.Set(binaryVersion, binaryVersion, compatVersion) - effective.useDefaultBuildBinaryVersion.Store(useDefaultBuildBinaryVersion) - return effective -} - -func NewEffectiveVersion(binaryVer string) MutableEffectiveVersion { - if binaryVer == "" { - return &effectiveVersion{} - } - binaryVersion := version.MustParse(binaryVer) - return newEffectiveVersion(binaryVersion, false) -} - -func defaultBuildBinaryVersion() *version.Version { - verInfo := Get() - return version.MustParse(verInfo.String()).WithInfo(verInfo) -} - -// DefaultBuildEffectiveVersion returns the MutableEffectiveVersion based on the -// current build information. -func DefaultBuildEffectiveVersion() MutableEffectiveVersion { - binaryVersion := defaultBuildBinaryVersion() - if binaryVersion.Major() == 0 && binaryVersion.Minor() == 0 { - return DefaultKubeEffectiveVersion() - } - return newEffectiveVersion(binaryVersion, true) -} - -// DefaultKubeEffectiveVersion returns the MutableEffectiveVersion based on the -// latest K8s release. -func DefaultKubeEffectiveVersion() MutableEffectiveVersion { - binaryVersion := version.MustParse(DefaultKubeBinaryVersion).WithInfo(Get()) - return newEffectiveVersion(binaryVersion, false) -} - -// ValidateKubeEffectiveVersion validates the EmulationVersion is equal to the binary version at 1.31 for kube components. -// emulationVersion is introduced in 1.31, so it is only allowed to be equal to the binary version at 1.31. -func ValidateKubeEffectiveVersion(effectiveVersion EffectiveVersion) error { - binaryVersion := version.MajorMinor(effectiveVersion.BinaryVersion().Major(), effectiveVersion.BinaryVersion().Minor()) - if binaryVersion.EqualTo(version.MajorMinor(1, 31)) && !effectiveVersion.EmulationVersion().EqualTo(binaryVersion) { - return fmt.Errorf("emulation version needs to be equal to binary version(%s) in compatibility-version alpha, got %s", - binaryVersion.String(), effectiveVersion.EmulationVersion().String()) - } - return nil -} diff --git a/vendor/k8s.io/utils/net/multi_listen.go b/vendor/k8s.io/utils/net/multi_listen.go index 7cb7795be..e5d508055 100644 --- a/vendor/k8s.io/utils/net/multi_listen.go +++ b/vendor/k8s.io/utils/net/multi_listen.go @@ -21,6 +21,7 @@ import ( "fmt" "net" "sync" + "sync/atomic" ) // connErrPair pairs conn and error which is returned by accept on sub-listeners. @@ -38,6 +39,7 @@ type multiListener struct { connCh chan connErrPair // stopCh communicates from parent to child listeners. stopCh chan struct{} + closed atomic.Bool } // compile time check to ensure *multiListener implements net.Listener @@ -150,10 +152,8 @@ func (ml *multiListener) Accept() (net.Conn, error) { // the go-routines to exit. func (ml *multiListener) Close() error { // Make sure this can be called repeatedly without explosions. - select { - case <-ml.stopCh: + if !ml.closed.CompareAndSwap(false, true) { return fmt.Errorf("use of closed network connection") - default: } // Tell all sub-listeners to stop. diff --git a/vendor/modules.txt b/vendor/modules.txt index 6b0d0464d..03fdb6cd8 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -29,7 +29,7 @@ github.com/blang/semver/v4 # github.com/cenkalti/backoff/v4 v4.3.0 ## explicit; go 1.18 github.com/cenkalti/backoff/v4 -# github.com/cenkalti/backoff/v5 v5.0.2 +# github.com/cenkalti/backoff/v5 v5.0.3 ## explicit; go 1.23 github.com/cenkalti/backoff/v5 # github.com/cenkalti/hub v1.0.2 @@ -58,8 +58,8 @@ github.com/cilium/ebpf/internal/sysenc github.com/cilium/ebpf/internal/testutils/testmain github.com/cilium/ebpf/internal/tracefs github.com/cilium/ebpf/internal/unix -# github.com/containernetworking/cni v1.1.2 -## explicit; go 1.14 +# github.com/containernetworking/cni v1.3.0 +## explicit; go 1.21 github.com/containernetworking/cni/libcni github.com/containernetworking/cni/pkg/invoke github.com/containernetworking/cni/pkg/types @@ -70,12 +70,14 @@ github.com/containernetworking/cni/pkg/types/create github.com/containernetworking/cni/pkg/types/internal github.com/containernetworking/cni/pkg/utils github.com/containernetworking/cni/pkg/version -# github.com/containernetworking/plugins v1.2.0 -## explicit; go 1.17 +# github.com/containernetworking/plugins v1.8.0 +## explicit; go 1.24.2 github.com/containernetworking/plugins/pkg/ip +github.com/containernetworking/plugins/pkg/netlinksafe github.com/containernetworking/plugins/pkg/ns +github.com/containernetworking/plugins/pkg/utils github.com/containernetworking/plugins/pkg/utils/sysctl -# github.com/coreos/go-iptables v0.6.0 +# github.com/coreos/go-iptables v0.8.0 ## explicit; go 1.16 github.com/coreos/go-iptables/iptables # github.com/cpuguy83/go-md2man/v2 v2.0.7 @@ -90,7 +92,7 @@ github.com/dennwc/varint # github.com/dustin/go-humanize v1.0.1 ## explicit; go 1.16 github.com/dustin/go-humanize -# github.com/emicklei/go-restful/v3 v3.12.2 +# github.com/emicklei/go-restful/v3 v3.13.0 ## explicit; go 1.13 github.com/emicklei/go-restful/v3 github.com/emicklei/go-restful/v3/log @@ -130,16 +132,49 @@ github.com/go-logr/logr/funcr # github.com/go-logr/stdr v1.2.2 ## explicit; go 1.16 github.com/go-logr/stdr -# github.com/go-openapi/jsonpointer v0.21.1 +# github.com/go-openapi/jsonpointer v0.22.0 ## explicit; go 1.20 github.com/go-openapi/jsonpointer -# github.com/go-openapi/jsonreference v0.21.0 +# github.com/go-openapi/jsonreference v0.21.1 ## explicit; go 1.20 github.com/go-openapi/jsonreference github.com/go-openapi/jsonreference/internal -# github.com/go-openapi/swag v0.23.1 -## explicit; go 1.20 +# github.com/go-openapi/swag v0.24.1 +## explicit; go 1.20.0 github.com/go-openapi/swag +# github.com/go-openapi/swag/cmdutils v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/cmdutils +# github.com/go-openapi/swag/conv v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/conv +# github.com/go-openapi/swag/fileutils v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/fileutils +# github.com/go-openapi/swag/jsonname v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/jsonname +# github.com/go-openapi/swag/jsonutils v0.24.0 +## explicit; go 1.20 +github.com/go-openapi/swag/jsonutils +# github.com/go-openapi/swag/loading v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/loading +# github.com/go-openapi/swag/mangling v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/mangling +# github.com/go-openapi/swag/netutils v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/netutils +# github.com/go-openapi/swag/stringutils v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/stringutils +# github.com/go-openapi/swag/typeutils v0.24.0 +## explicit; go 1.20.0 +github.com/go-openapi/swag/typeutils +# github.com/go-openapi/swag/yamlutils v0.24.0 +## explicit; go 1.20 +github.com/go-openapi/swag/yamlutils # github.com/go-viper/mapstructure/v2 v2.4.0 ## explicit; go 1.18 github.com/go-viper/mapstructure/v2 @@ -182,14 +217,15 @@ github.com/google/go-cmp/cmp/internal/diff github.com/google/go-cmp/cmp/internal/flags github.com/google/go-cmp/cmp/internal/function github.com/google/go-cmp/cmp/internal/value -# github.com/google/go-jsonnet v0.20.0 -## explicit; go 1.17 +# github.com/google/go-jsonnet v0.21.0 +## explicit; go 1.23.7 github.com/google/go-jsonnet github.com/google/go-jsonnet/ast github.com/google/go-jsonnet/astgen github.com/google/go-jsonnet/internal/errors github.com/google/go-jsonnet/internal/parser github.com/google/go-jsonnet/internal/program +github.com/google/go-jsonnet/toolutils # github.com/google/uuid v1.6.0 ## explicit github.com/google/uuid @@ -200,7 +236,7 @@ github.com/gorilla/websocket ## explicit; go 1.21 github.com/grafana/regexp github.com/grafana/regexp/syntax -# github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 +# github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 ## explicit; go 1.23.0 github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule github.com/grpc-ecosystem/grpc-gateway/v2/runtime @@ -211,7 +247,7 @@ github.com/heptiolabs/healthcheck # github.com/inconshreveable/mousetrap v1.1.0 ## explicit; go 1.18 github.com/inconshreveable/mousetrap -# github.com/ip2location/ip2location-go/v9 v9.7.1 +# github.com/ip2location/ip2location-go/v9 v9.8.0 ## explicit; go 1.14 github.com/ip2location/ip2location-go/v9 # github.com/josharian/intern v1.0.0 @@ -238,7 +274,7 @@ github.com/klauspost/compress/s2 github.com/klauspost/compress/snappy github.com/klauspost/compress/zstd github.com/klauspost/compress/zstd/internal/xxhash -# github.com/klauspost/cpuid/v2 v2.2.11 +# github.com/klauspost/cpuid/v2 v2.3.0 ## explicit; go 1.22 github.com/klauspost/cpuid/v2 # github.com/libp2p/go-reuseport v0.4.0 @@ -246,6 +282,7 @@ github.com/klauspost/cpuid/v2 github.com/libp2p/go-reuseport # github.com/mailru/easyjson v0.9.0 ## explicit; go 1.20 +github.com/mailru/easyjson github.com/mailru/easyjson/buffer github.com/mailru/easyjson/jlexer github.com/mailru/easyjson/jwriter @@ -255,7 +292,7 @@ github.com/mariomac/guara/pkg/test # github.com/mdlayher/ethernet v0.0.0-20220221185849-529eae5b6118 ## explicit; go 1.12 github.com/mdlayher/ethernet -# github.com/minio/crc64nvme v1.0.2 +# github.com/minio/crc64nvme v1.1.1 ## explicit; go 1.22 github.com/minio/crc64nvme # github.com/minio/md5-simd v1.1.2 @@ -398,7 +435,7 @@ github.com/pion/dtls/v2/pkg/protocol/alert github.com/pion/dtls/v2/pkg/protocol/extension github.com/pion/dtls/v2/pkg/protocol/handshake github.com/pion/dtls/v2/pkg/protocol/recordlayer -# github.com/pion/logging v0.2.3 +# github.com/pion/logging v0.2.4 ## explicit; go 1.20 github.com/pion/logging # github.com/pion/transport/v2 v2.2.10 @@ -414,7 +451,7 @@ github.com/pkg/errors # github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 ## explicit github.com/pmezard/go-difflib/difflib -# github.com/prometheus/client_golang v1.23.0 +# github.com/prometheus/client_golang v1.23.1 ## explicit; go 1.23.0 github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header @@ -426,18 +463,18 @@ github.com/prometheus/client_golang/prometheus/promhttp/internal # github.com/prometheus/client_model v0.6.2 ## explicit; go 1.22.0 github.com/prometheus/client_model/go -# github.com/prometheus/common v0.65.0 +# github.com/prometheus/common v0.66.0 ## explicit; go 1.23.0 github.com/prometheus/common/config github.com/prometheus/common/expfmt github.com/prometheus/common/model github.com/prometheus/common/version -# github.com/prometheus/procfs v0.16.1 +# github.com/prometheus/procfs v0.17.0 ## explicit; go 1.23.0 github.com/prometheus/procfs github.com/prometheus/procfs/internal/fs github.com/prometheus/procfs/internal/util -# github.com/prometheus/prometheus v0.304.0 +# github.com/prometheus/prometheus v0.305.0 ## explicit; go 1.23.0 github.com/prometheus/prometheus/model/exemplar github.com/prometheus/prometheus/model/histogram @@ -460,10 +497,10 @@ github.com/rs/xid # github.com/russross/blackfriday/v2 v2.1.0 ## explicit github.com/russross/blackfriday/v2 -# github.com/safchain/ethtool v0.5.10 -## explicit; go 1.16 +# github.com/safchain/ethtool v0.6.2 +## explicit; go 1.23.0 github.com/safchain/ethtool -# github.com/sagikazarmark/locafero v0.9.0 +# github.com/sagikazarmark/locafero v0.10.0 ## explicit; go 1.23.0 github.com/sagikazarmark/locafero # github.com/segmentio/kafka-go v0.4.49 @@ -522,24 +559,24 @@ github.com/segmentio/kafka-go/sasl/scram # github.com/sirupsen/logrus v1.9.3 ## explicit; go 1.13 github.com/sirupsen/logrus -# github.com/sourcegraph/conc v0.3.0 -## explicit; go 1.19 +# github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 +## explicit; go 1.20 github.com/sourcegraph/conc -github.com/sourcegraph/conc/internal/multierror -github.com/sourcegraph/conc/iter github.com/sourcegraph/conc/panics +github.com/sourcegraph/conc/pool # github.com/spf13/afero v1.14.0 ## explicit; go 1.23.0 github.com/spf13/afero github.com/spf13/afero/internal/common github.com/spf13/afero/mem -# github.com/spf13/cast v1.7.1 -## explicit; go 1.19 +# github.com/spf13/cast v1.9.2 +## explicit; go 1.21.0 github.com/spf13/cast -# github.com/spf13/cobra v1.9.1 +github.com/spf13/cast/internal +# github.com/spf13/cobra v1.10.1 ## explicit; go 1.15 github.com/spf13/cobra -# github.com/spf13/pflag v1.0.9 +# github.com/spf13/pflag v1.0.10 ## explicit; go 1.12 github.com/spf13/pflag # github.com/spf13/viper v1.20.1 @@ -553,7 +590,7 @@ github.com/spf13/viper/internal/features # github.com/stretchr/objx v0.5.2 ## explicit; go 1.20 github.com/stretchr/objx -# github.com/stretchr/testify v1.10.0 +# github.com/stretchr/testify v1.11.1 ## explicit; go 1.17 github.com/stretchr/testify/assert github.com/stretchr/testify/assert/yaml @@ -562,13 +599,13 @@ github.com/stretchr/testify/require # github.com/subosito/gotenv v1.6.0 ## explicit; go 1.18 github.com/subosito/gotenv -# github.com/tinylib/msgp v1.3.0 -## explicit; go 1.20 +# github.com/tinylib/msgp v1.4.0 +## explicit; go 1.22 github.com/tinylib/msgp/msgp -# github.com/urfave/cli/v2 v2.27.6 +# github.com/urfave/cli/v2 v2.27.7 ## explicit; go 1.18 github.com/urfave/cli/v2 -# github.com/vishvananda/netlink v1.3.1-0.20250425193846-9d88d8385bf9 +# github.com/vishvananda/netlink v1.3.1 ## explicit; go 1.12 github.com/vishvananda/netlink github.com/vishvananda/netlink/nl @@ -585,7 +622,7 @@ github.com/vladimirvivien/gexe/net github.com/vladimirvivien/gexe/prog github.com/vladimirvivien/gexe/str github.com/vladimirvivien/gexe/vars -# github.com/vmware/go-ipfix v0.15.0 => github.com/jotak/go-ipfix v0.0.0-20250708115123-407c539ea101 +# github.com/vmware/go-ipfix v0.16.0 => github.com/jotak/go-ipfix v0.0.0-20250616210357-961f78e9fa2d ## explicit; go 1.23.0 github.com/vmware/go-ipfix/pkg/collector github.com/vmware/go-ipfix/pkg/entities @@ -603,14 +640,14 @@ github.com/xdg-go/scram # github.com/xdg-go/stringprep v1.0.4 ## explicit; go 1.11 github.com/xdg-go/stringprep -# github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 +# github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 ## explicit; go 1.15 github.com/xrash/smetrics # go.opentelemetry.io/auto/sdk v1.1.0 ## explicit; go 1.22.0 go.opentelemetry.io/auto/sdk go.opentelemetry.io/auto/sdk/internal/telemetry -# go.opentelemetry.io/otel v1.37.0 +# go.opentelemetry.io/otel v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel go.opentelemetry.io/otel/attribute @@ -622,8 +659,9 @@ go.opentelemetry.io/otel/internal/global go.opentelemetry.io/otel/propagation go.opentelemetry.io/otel/semconv/v1.21.0 go.opentelemetry.io/otel/semconv/v1.26.0 -go.opentelemetry.io/otel/semconv/v1.34.0 -# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 +go.opentelemetry.io/otel/semconv/v1.37.0 +go.opentelemetry.io/otel/semconv/v1.37.0/otelconv +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal @@ -631,7 +669,7 @@ go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envco go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/retry go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/transform -# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.37.0 +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal @@ -639,30 +677,30 @@ go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envco go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/retry go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/transform -# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform -# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry -# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/retry -# go.opentelemetry.io/otel/metric v1.37.0 +# go.opentelemetry.io/otel/metric v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/metric go.opentelemetry.io/otel/metric/embedded go.opentelemetry.io/otel/metric/noop -# go.opentelemetry.io/otel/sdk v1.37.0 +# go.opentelemetry.io/otel/sdk v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/sdk go.opentelemetry.io/otel/sdk/instrumentation @@ -670,7 +708,8 @@ go.opentelemetry.io/otel/sdk/internal/env go.opentelemetry.io/otel/sdk/internal/x go.opentelemetry.io/otel/sdk/resource go.opentelemetry.io/otel/sdk/trace -# go.opentelemetry.io/otel/sdk/metric v1.37.0 +go.opentelemetry.io/otel/sdk/trace/internal/x +# go.opentelemetry.io/otel/sdk/metric v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/sdk/metric go.opentelemetry.io/otel/sdk/metric/exemplar @@ -678,13 +717,13 @@ go.opentelemetry.io/otel/sdk/metric/internal go.opentelemetry.io/otel/sdk/metric/internal/aggregate go.opentelemetry.io/otel/sdk/metric/internal/x go.opentelemetry.io/otel/sdk/metric/metricdata -# go.opentelemetry.io/otel/trace v1.37.0 +# go.opentelemetry.io/otel/trace v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/trace go.opentelemetry.io/otel/trace/embedded go.opentelemetry.io/otel/trace/internal/telemetry go.opentelemetry.io/otel/trace/noop -# go.opentelemetry.io/proto/otlp v1.7.0 +# go.opentelemetry.io/proto/otlp v1.8.0 ## explicit; go 1.23.0 go.opentelemetry.io/proto/otlp/collector/logs/v1 go.opentelemetry.io/proto/otlp/collector/metrics/v1 @@ -697,9 +736,6 @@ go.opentelemetry.io/proto/otlp/trace/v1 # go.uber.org/atomic v1.11.0 ## explicit; go 1.18 go.uber.org/atomic -# go.uber.org/multierr v1.11.0 -## explicit; go 1.19 -go.uber.org/multierr # go.yaml.in/yaml/v2 v2.4.2 ## explicit; go 1.15 go.yaml.in/yaml/v2 @@ -713,8 +749,9 @@ golang.org/x/crypto/blake2b golang.org/x/crypto/cryptobyte golang.org/x/crypto/cryptobyte/asn1 golang.org/x/crypto/curve25519 -# golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 -## explicit; go 1.23.0 +golang.org/x/crypto/sha3 +# golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b +## explicit; go 1.24.0 # golang.org/x/net v0.43.0 ## explicit; go 1.23.0 golang.org/x/net/bpf @@ -764,14 +801,14 @@ golang.org/x/text/secure/bidirule golang.org/x/text/transform golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm -# golang.org/x/time v0.11.0 +# golang.org/x/time v0.12.0 ## explicit; go 1.23.0 golang.org/x/time/rate -# google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 -## explicit; go 1.23.0 +# google.golang.org/genproto/googleapis/api v0.0.0-20250826171959-ef028d996bc1 +## explicit; go 1.24.0 google.golang.org/genproto/googleapis/api/httpbody -# google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 -## explicit; go 1.23.0 +# google.golang.org/genproto/googleapis/rpc v0.0.0-20250826171959-ef028d996bc1 +## explicit; go 1.24.0 google.golang.org/genproto/googleapis/rpc/errdetails google.golang.org/genproto/googleapis/rpc/status # google.golang.org/grpc v1.75.0 @@ -887,7 +924,7 @@ google.golang.org/protobuf/types/known/timestamppb google.golang.org/protobuf/types/known/wrapperspb # gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 ## explicit -# gopkg.in/evanphx/json-patch.v4 v4.12.0 +# gopkg.in/evanphx/json-patch.v4 v4.13.0 ## explicit gopkg.in/evanphx/json-patch.v4 # gopkg.in/gcfg.v1 v1.2.3 @@ -1312,9 +1349,8 @@ k8s.io/client-go/util/flowcontrol k8s.io/client-go/util/homedir k8s.io/client-go/util/keyutil k8s.io/client-go/util/workqueue -# k8s.io/component-base v0.32.3 -## explicit; go 1.23.0 -k8s.io/component-base/cli/flag +# k8s.io/component-base v0.34.0 +## explicit; go 1.24.0 k8s.io/component-base/featuregate k8s.io/component-base/metrics k8s.io/component-base/metrics/legacyregistry @@ -1332,8 +1368,8 @@ k8s.io/klog/v2/internal/severity k8s.io/klog/v2/internal/sloghandler k8s.io/klog/v2/internal/verbosity k8s.io/klog/v2/textlogger -# k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b -## explicit; go 1.23 +# k8s.io/kube-openapi v0.0.0-20250902184714-7fc278399c7f +## explicit; go 1.23.0 k8s.io/kube-openapi/pkg/cached k8s.io/kube-openapi/pkg/common k8s.io/kube-openapi/pkg/handler3 @@ -1343,7 +1379,7 @@ k8s.io/kube-openapi/pkg/schemaconv k8s.io/kube-openapi/pkg/spec3 k8s.io/kube-openapi/pkg/util/proto k8s.io/kube-openapi/pkg/validation/spec -# k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 +# k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d ## explicit; go 1.18 k8s.io/utils/buffer k8s.io/utils/clock @@ -1355,8 +1391,8 @@ k8s.io/utils/trace # lukechampine.com/uint128 v1.3.0 ## explicit; go 1.12 lukechampine.com/uint128 -# sigs.k8s.io/controller-runtime v0.20.4 -## explicit; go 1.23.0 +# sigs.k8s.io/controller-runtime v0.22.0 +## explicit; go 1.24.0 sigs.k8s.io/controller-runtime/pkg/client sigs.k8s.io/controller-runtime/pkg/client/apiutil sigs.k8s.io/controller-runtime/pkg/controller/controllerutil @@ -1382,10 +1418,13 @@ sigs.k8s.io/e2e-framework/pkg/utils sigs.k8s.io/e2e-framework/support sigs.k8s.io/e2e-framework/support/kind sigs.k8s.io/e2e-framework/third_party/kind -# sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 +# sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 ## explicit; go 1.23 sigs.k8s.io/json sigs.k8s.io/json/internal/golang/encoding/json +# sigs.k8s.io/knftables v0.0.18 +## explicit; go 1.20 +sigs.k8s.io/knftables # sigs.k8s.io/randfill v1.0.0 ## explicit; go 1.18 sigs.k8s.io/randfill @@ -1400,5 +1439,4 @@ sigs.k8s.io/structured-merge-diff/v6/value # sigs.k8s.io/yaml v1.6.0 ## explicit; go 1.22 sigs.k8s.io/yaml -sigs.k8s.io/yaml/goyaml.v2 -# github.com/vmware/go-ipfix => github.com/jotak/go-ipfix v0.0.0-20250708115123-407c539ea101 +# github.com/vmware/go-ipfix => github.com/jotak/go-ipfix v0.0.0-20250616210357-961f78e9fa2d diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/apimachinery.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/apimachinery.go index 1d4ce264c..b132cb2d4 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/apimachinery.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/apimachinery.go @@ -161,15 +161,27 @@ func GVKForObject(obj runtime.Object, scheme *runtime.Scheme) (schema.GroupVersi // RESTClientForGVK constructs a new rest.Interface capable of accessing the resource associated // with the given GroupVersionKind. The REST client will be configured to use the negotiated serializer from // baseConfig, if set, otherwise a default serializer will be set. -func RESTClientForGVK(gvk schema.GroupVersionKind, isUnstructured bool, baseConfig *rest.Config, codecs serializer.CodecFactory, httpClient *http.Client) (rest.Interface, error) { +func RESTClientForGVK( + gvk schema.GroupVersionKind, + forceDisableProtoBuf bool, + isUnstructured bool, + baseConfig *rest.Config, + codecs serializer.CodecFactory, + httpClient *http.Client, +) (rest.Interface, error) { if httpClient == nil { return nil, fmt.Errorf("httpClient must not be nil, consider using rest.HTTPClientFor(c) to create a client") } - return rest.RESTClientForConfigAndClient(createRestConfig(gvk, isUnstructured, baseConfig, codecs), httpClient) + return rest.RESTClientForConfigAndClient(createRestConfig(gvk, forceDisableProtoBuf, isUnstructured, baseConfig, codecs), httpClient) } // createRestConfig copies the base config and updates needed fields for a new rest config. -func createRestConfig(gvk schema.GroupVersionKind, isUnstructured bool, baseConfig *rest.Config, codecs serializer.CodecFactory) *rest.Config { +func createRestConfig(gvk schema.GroupVersionKind, + forceDisableProtoBuf bool, + isUnstructured bool, + baseConfig *rest.Config, + codecs serializer.CodecFactory, +) *rest.Config { gv := gvk.GroupVersion() cfg := rest.CopyConfig(baseConfig) @@ -183,7 +195,7 @@ func createRestConfig(gvk schema.GroupVersionKind, isUnstructured bool, baseConf cfg.UserAgent = rest.DefaultKubernetesUserAgent() } // TODO(FillZpp): In the long run, we want to check discovery or something to make sure that this is actually true. - if cfg.ContentType == "" && !isUnstructured { + if cfg.ContentType == "" && !forceDisableProtoBuf { protobufSchemeLock.RLock() if protobufScheme.Recognizes(gvk) { cfg.ContentType = runtime.ContentTypeProtobuf diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/applyconfigurations.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/applyconfigurations.go new file mode 100644 index 000000000..97192050f --- /dev/null +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/applyconfigurations.go @@ -0,0 +1,75 @@ +/* +Copyright 2025 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package client + +import ( + "fmt" + + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/utils/ptr" +) + +type unstructuredApplyConfiguration struct { + *unstructured.Unstructured +} + +func (u *unstructuredApplyConfiguration) IsApplyConfiguration() {} + +// ApplyConfigurationFromUnstructured creates a runtime.ApplyConfiguration from an *unstructured.Unstructured object. +// +// Do not use Unstructured objects here that were generated from API objects, as its impossible to tell +// if a zero value was explicitly set. +func ApplyConfigurationFromUnstructured(u *unstructured.Unstructured) runtime.ApplyConfiguration { + return &unstructuredApplyConfiguration{Unstructured: u} +} + +type applyconfigurationRuntimeObject struct { + runtime.ApplyConfiguration +} + +func (a *applyconfigurationRuntimeObject) GetObjectKind() schema.ObjectKind { + return a +} + +func (a *applyconfigurationRuntimeObject) GroupVersionKind() schema.GroupVersionKind { + return schema.GroupVersionKind{} +} + +func (a *applyconfigurationRuntimeObject) SetGroupVersionKind(gvk schema.GroupVersionKind) {} + +func (a *applyconfigurationRuntimeObject) DeepCopyObject() runtime.Object { + panic("applyconfigurationRuntimeObject does not support DeepCopyObject") +} + +func runtimeObjectFromApplyConfiguration(ac runtime.ApplyConfiguration) runtime.Object { + return &applyconfigurationRuntimeObject{ApplyConfiguration: ac} +} + +func gvkFromApplyConfiguration(ac applyConfiguration) (schema.GroupVersionKind, error) { + var gvk schema.GroupVersionKind + gv, err := schema.ParseGroupVersion(ptr.Deref(ac.GetAPIVersion(), "")) + if err != nil { + return gvk, fmt.Errorf("failed to parse %q as GroupVersion: %w", ptr.Deref(ac.GetAPIVersion(), ""), err) + } + gvk.Group = gv.Group + gvk.Version = gv.Version + gvk.Kind = ptr.Deref(ac.GetKind(), "") + + return gvk, nil +} diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/client.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/client.go index 6d8744017..092deb43d 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/client.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/client.go @@ -74,8 +74,8 @@ type NewClientFunc func(config *rest.Config, options Options) (Client, error) // New returns a new Client using the provided config and Options. // // By default, the client surfaces warnings returned by the server. To -// suppress warnings, set config.WarningHandler = rest.NoWarnings{}. To -// define custom behavior, implement the rest.WarningHandler interface. +// suppress warnings, set config.WarningHandlerWithContext = rest.NoWarnings{}. To +// define custom behavior, implement the rest.WarningHandlerWithContext interface. // See [sigs.k8s.io/controller-runtime/pkg/log.KubeAPIWarningLogger] for // an example. // @@ -112,10 +112,9 @@ func newClient(config *rest.Config, options Options) (*client, error) { config.UserAgent = rest.DefaultKubernetesUserAgent() } - if config.WarningHandler == nil { + if config.WarningHandler == nil && config.WarningHandlerWithContext == nil { // By default, we surface warnings. - config.WarningHandler = log.NewKubeAPIWarningLogger( - log.Log.WithName("KubeAPIWarningLogger"), + config.WarningHandlerWithContext = log.NewKubeAPIWarningLogger( log.KubeAPIWarningLoggerOptions{ Deduplicate: false, }, @@ -330,6 +329,16 @@ func (c *client) Patch(ctx context.Context, obj Object, patch Patch, opts ...Pat } } +func (c *client) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...ApplyOption) error { + switch obj := obj.(type) { + case *unstructuredApplyConfiguration: + defer c.resetGroupVersionKind(obj, obj.GetObjectKind().GroupVersionKind()) + return c.unstructuredClient.Apply(ctx, obj, opts...) + default: + return c.typedClient.Apply(ctx, obj, opts...) + } +} + // Get implements client.Client. func (c *client) Get(ctx context.Context, key ObjectKey, obj Object, opts ...GetOption) error { if isUncached, err := c.shouldBypassCache(obj); err != nil { diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/client_rest_resources.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/client_rest_resources.go index 2d0787952..acff7a46a 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/client_rest_resources.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/client_rest_resources.go @@ -17,16 +17,17 @@ limitations under the License. package client import ( + "fmt" "net/http" "strings" "sync" "k8s.io/apimachinery/pkg/api/meta" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/client-go/rest" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client/apiutil" ) @@ -56,13 +57,17 @@ type clientRestResources struct { // newResource maps obj to a Kubernetes Resource and constructs a client for that Resource. // If the object is a list, the resource represents the item's type instead. -func (c *clientRestResources) newResource(gvk schema.GroupVersionKind, isList, isUnstructured bool) (*resourceMeta, error) { +func (c *clientRestResources) newResource(gvk schema.GroupVersionKind, + isList bool, + forceDisableProtoBuf bool, + isUnstructured bool, +) (*resourceMeta, error) { if strings.HasSuffix(gvk.Kind, "List") && isList { // if this was a list, treat it as a request for the item's resource gvk.Kind = gvk.Kind[:len(gvk.Kind)-4] } - client, err := apiutil.RESTClientForGVK(gvk, isUnstructured, c.config, c.codecs, c.httpClient) + client, err := apiutil.RESTClientForGVK(gvk, forceDisableProtoBuf, isUnstructured, c.config, c.codecs, c.httpClient) if err != nil { return nil, err } @@ -73,15 +78,41 @@ func (c *clientRestResources) newResource(gvk schema.GroupVersionKind, isList, i return &resourceMeta{Interface: client, mapping: mapping, gvk: gvk}, nil } +type applyConfiguration interface { + GetName() *string + GetNamespace() *string + GetKind() *string + GetAPIVersion() *string +} + // getResource returns the resource meta information for the given type of object. // If the object is a list, the resource represents the item's type instead. -func (c *clientRestResources) getResource(obj runtime.Object) (*resourceMeta, error) { - gvk, err := apiutil.GVKForObject(obj, c.scheme) - if err != nil { - return nil, err +func (c *clientRestResources) getResource(obj any) (*resourceMeta, error) { + var gvk schema.GroupVersionKind + var err error + var isApplyConfiguration bool + switch o := obj.(type) { + case runtime.Object: + gvk, err = apiutil.GVKForObject(o, c.scheme) + if err != nil { + return nil, err + } + case runtime.ApplyConfiguration: + ac, ok := o.(applyConfiguration) + if !ok { + return nil, fmt.Errorf("%T is a runtime.ApplyConfiguration but not an applyConfiguration", o) + } + gvk, err = gvkFromApplyConfiguration(ac) + if err != nil { + return nil, err + } + isApplyConfiguration = true + default: + return nil, fmt.Errorf("bug: %T is neither a runtime.Object nor a runtime.ApplyConfiguration", o) } _, isUnstructured := obj.(runtime.Unstructured) + forceDisableProtoBuf := isUnstructured || isApplyConfiguration // It's better to do creation work twice than to not let multiple // people make requests at once @@ -97,10 +128,15 @@ func (c *clientRestResources) getResource(obj runtime.Object) (*resourceMeta, er return r, nil } + var isList bool + if runtimeObject, ok := obj.(runtime.Object); ok && meta.IsListType(runtimeObject) { + isList = true + } + // Initialize a new Client c.mu.Lock() defer c.mu.Unlock() - r, err = c.newResource(gvk, meta.IsListType(obj), isUnstructured) + r, err = c.newResource(gvk, isList, forceDisableProtoBuf, isUnstructured) if err != nil { return nil, err } @@ -109,16 +145,29 @@ func (c *clientRestResources) getResource(obj runtime.Object) (*resourceMeta, er } // getObjMeta returns objMeta containing both type and object metadata and state. -func (c *clientRestResources) getObjMeta(obj runtime.Object) (*objMeta, error) { +func (c *clientRestResources) getObjMeta(obj any) (*objMeta, error) { r, err := c.getResource(obj) if err != nil { return nil, err } - m, err := meta.Accessor(obj) - if err != nil { - return nil, err + objMeta := &objMeta{resourceMeta: r} + + switch o := obj.(type) { + case runtime.Object: + m, err := meta.Accessor(obj) + if err != nil { + return nil, err + } + objMeta.namespace = m.GetNamespace() + objMeta.name = m.GetName() + case applyConfiguration: + objMeta.namespace = ptr.Deref(o.GetNamespace(), "") + objMeta.name = ptr.Deref(o.GetName(), "") + default: + return nil, fmt.Errorf("object %T is neither a runtime.Object nor a runtime.ApplyConfiguration", obj) } - return &objMeta{resourceMeta: r, Object: m}, err + + return objMeta, nil } // resourceMeta stores state for a Kubernetes type. @@ -146,6 +195,6 @@ type objMeta struct { // resourceMeta contains type information for the object *resourceMeta - // Object contains meta data for the object instance - metav1.Object + namespace string + name string } diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/dryrun.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/dryrun.go index bbcdd3832..a185860d3 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/dryrun.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/dryrun.go @@ -82,6 +82,10 @@ func (c *dryRunClient) Patch(ctx context.Context, obj Object, patch Patch, opts return c.client.Patch(ctx, obj, patch, append(opts, DryRunAll)...) } +func (c *dryRunClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...ApplyOption) error { + return c.client.Apply(ctx, obj, append(opts, DryRunAll)...) +} + // Get implements client.Client. func (c *dryRunClient) Get(ctx context.Context, key ObjectKey, obj Object, opts ...GetOption) error { return c.client.Get(ctx, key, obj, opts...) diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/fieldowner.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/fieldowner.go index 07183cd19..93274f950 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/fieldowner.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/fieldowner.go @@ -54,6 +54,10 @@ func (f *clientWithFieldManager) Patch(ctx context.Context, obj Object, patch Pa return f.c.Patch(ctx, obj, patch, append([]PatchOption{FieldOwner(f.owner)}, opts...)...) } +func (f *clientWithFieldManager) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...ApplyOption) error { + return f.c.Apply(ctx, obj, append([]ApplyOption{FieldOwner(f.owner)}, opts...)...) +} + func (f *clientWithFieldManager) Delete(ctx context.Context, obj Object, opts ...DeleteOption) error { return f.c.Delete(ctx, obj, opts...) } diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/fieldvalidation.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/fieldvalidation.go index 659b3d44c..ce8d0576c 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/fieldvalidation.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/fieldvalidation.go @@ -53,6 +53,10 @@ func (c *clientWithFieldValidation) Patch(ctx context.Context, obj Object, patch return c.client.Patch(ctx, obj, patch, append([]PatchOption{c.validation}, opts...)...) } +func (c *clientWithFieldValidation) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...ApplyOption) error { + return c.client.Apply(ctx, obj, opts...) +} + func (c *clientWithFieldValidation) Delete(ctx context.Context, obj Object, opts ...DeleteOption) error { return c.client.Delete(ctx, obj, opts...) } diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/interfaces.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/interfaces.go index 3b282fc2c..61559ecbe 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/interfaces.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/interfaces.go @@ -61,6 +61,9 @@ type Reader interface { // Writer knows how to create, delete, and update Kubernetes objects. type Writer interface { + // Apply applies the given apply configuration to the Kubernetes cluster. + Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...ApplyOption) error + // Create saves the object obj in the Kubernetes cluster. obj must be a // struct pointer so that obj can be updated with the content returned by the Server. Create(ctx context.Context, obj Object, opts ...CreateOption) error diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/namespaced_client.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/namespaced_client.go index 222dc7957..cacba4a9c 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/namespaced_client.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/namespaced_client.go @@ -19,10 +19,13 @@ package client import ( "context" "fmt" + "reflect" "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/utils/ptr" + "sigs.k8s.io/controller-runtime/pkg/client/apiutil" ) // NewNamespacedClient wraps an existing client enforcing the namespace value. @@ -147,6 +150,52 @@ func (n *namespacedClient) Patch(ctx context.Context, obj Object, patch Patch, o return n.client.Patch(ctx, obj, patch, opts...) } +func (n *namespacedClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...ApplyOption) error { + var gvk schema.GroupVersionKind + switch o := obj.(type) { + case applyConfiguration: + var err error + gvk, err = gvkFromApplyConfiguration(o) + if err != nil { + return err + } + case *unstructuredApplyConfiguration: + gvk = o.GroupVersionKind() + default: + return fmt.Errorf("object %T is not a valid apply configuration", obj) + } + isNamespaceScoped, err := apiutil.IsGVKNamespaced(gvk, n.RESTMapper()) + if err != nil { + return fmt.Errorf("error finding the scope of the object: %w", err) + } + if isNamespaceScoped { + switch o := obj.(type) { + case applyConfiguration: + if o.GetNamespace() != nil && *o.GetNamespace() != "" && *o.GetNamespace() != n.namespace { + return fmt.Errorf("namespace %s provided for the object %s does not match the namespace %s on the client", + *o.GetNamespace(), ptr.Deref(o.GetName(), ""), n.namespace) + } + v := reflect.ValueOf(o) + withNamespace := v.MethodByName("WithNamespace") + if !withNamespace.IsValid() { + return fmt.Errorf("ApplyConfiguration %T does not have a WithNamespace method", o) + } + if tp := withNamespace.Type(); tp.NumIn() != 1 || tp.In(0).Kind() != reflect.String { + return fmt.Errorf("WithNamespace method of ApplyConfiguration %T must take a single string argument", o) + } + withNamespace.Call([]reflect.Value{reflect.ValueOf(n.namespace)}) + case *unstructuredApplyConfiguration: + if o.GetNamespace() != "" && o.GetNamespace() != n.namespace { + return fmt.Errorf("namespace %s provided for the object %s does not match the namespace %s on the client", + o.GetNamespace(), o.GetName(), n.namespace) + } + o.SetNamespace(n.namespace) + } + } + + return n.client.Apply(ctx, obj, opts...) +} + // Get implements client.Client. func (n *namespacedClient) Get(ctx context.Context, key ObjectKey, obj Object, opts ...GetOption) error { isNamespaceScoped, err := n.IsObjectNamespaced(obj) diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/options.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/options.go index db50ed8fe..33c460738 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/options.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/options.go @@ -21,6 +21,7 @@ import ( "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/selection" + "k8s.io/utils/ptr" ) // {{{ "Functional" Option Interfaces @@ -61,6 +62,12 @@ type PatchOption interface { ApplyToPatch(*PatchOptions) } +// ApplyOption is some configuration that modifies options for an apply request. +type ApplyOption interface { + // ApplyToApply applies this configuration to the given apply options. + ApplyToApply(*ApplyOptions) +} + // DeleteAllOfOption is some configuration that modifies options for a delete request. type DeleteAllOfOption interface { // ApplyToDeleteAllOf applies this configuration to the given deletecollection options. @@ -115,7 +122,12 @@ func (dryRunAll) ApplyToPatch(opts *PatchOptions) { opts.DryRun = []string{metav1.DryRunAll} } -// ApplyToPatch applies this configuration to the given delete options. +// ApplyToApply applies this configuration to the given apply options. +func (dryRunAll) ApplyToApply(opts *ApplyOptions) { + opts.DryRun = []string{metav1.DryRunAll} +} + +// ApplyToDelete applies this configuration to the given delete options. func (dryRunAll) ApplyToDelete(opts *DeleteOptions) { opts.DryRun = []string{metav1.DryRunAll} } @@ -154,6 +166,11 @@ func (f FieldOwner) ApplyToUpdate(opts *UpdateOptions) { opts.FieldManager = string(f) } +// ApplyToApply applies this configuration to the given apply options. +func (f FieldOwner) ApplyToApply(opts *ApplyOptions) { + opts.FieldManager = string(f) +} + // ApplyToSubResourcePatch applies this configuration to the given patch options. func (f FieldOwner) ApplyToSubResourcePatch(opts *SubResourcePatchOptions) { opts.FieldManager = string(f) @@ -431,6 +448,12 @@ type GetOptions struct { // Raw represents raw GetOptions, as passed to the API server. Note // that these may not be respected by all implementations of interface. Raw *metav1.GetOptions + + // UnsafeDisableDeepCopy indicates not to deep copy objects during get object. + // Be very careful with this, when enabled you must DeepCopy any object before mutating it, + // otherwise you will mutate the object in the cache. + // +optional + UnsafeDisableDeepCopy *bool } var _ GetOption = &GetOptions{} @@ -440,6 +463,9 @@ func (o *GetOptions) ApplyToGet(lo *GetOptions) { if o.Raw != nil { lo.Raw = o.Raw } + if o.UnsafeDisableDeepCopy != nil { + lo.UnsafeDisableDeepCopy = o.UnsafeDisableDeepCopy + } } // AsGetOptions returns these options as a flattened metav1.GetOptions. @@ -618,6 +644,9 @@ type MatchingLabelsSelector struct { // ApplyToList applies this configuration to the given list options. func (m MatchingLabelsSelector) ApplyToList(opts *ListOptions) { + if m.Selector == nil { + m.Selector = labels.Nothing() + } opts.LabelSelector = m } @@ -651,6 +680,9 @@ type MatchingFieldsSelector struct { // ApplyToList applies this configuration to the given list options. func (m MatchingFieldsSelector) ApplyToList(opts *ListOptions) { + if m.Selector == nil { + m.Selector = fields.Nothing() + } opts.FieldSelector = m } @@ -692,15 +724,14 @@ func (l Limit) ApplyToList(opts *ListOptions) { // otherwise you will mutate the object in the cache. type UnsafeDisableDeepCopyOption bool +// ApplyToGet applies this configuration to the given an Get options. +func (d UnsafeDisableDeepCopyOption) ApplyToGet(opts *GetOptions) { + opts.UnsafeDisableDeepCopy = ptr.To(bool(d)) +} + // ApplyToList applies this configuration to the given an List options. func (d UnsafeDisableDeepCopyOption) ApplyToList(opts *ListOptions) { - definitelyTrue := true - definitelyFalse := false - if d { - opts.UnsafeDisableDeepCopy = &definitelyTrue - } else { - opts.UnsafeDisableDeepCopy = &definitelyFalse - } + opts.UnsafeDisableDeepCopy = ptr.To(bool(d)) } // UnsafeDisableDeepCopy indicates not to deep copy objects during list objects. @@ -863,10 +894,18 @@ func (o *PatchOptions) AsPatchOptions() *metav1.PatchOptions { o.Raw = &metav1.PatchOptions{} } - o.Raw.DryRun = o.DryRun - o.Raw.Force = o.Force - o.Raw.FieldManager = o.FieldManager - o.Raw.FieldValidation = o.FieldValidation + if o.DryRun != nil { + o.Raw.DryRun = o.DryRun + } + if o.Force != nil { + o.Raw.Force = o.Force + } + if o.FieldManager != "" { + o.Raw.FieldManager = o.FieldManager + } + if o.FieldValidation != "" { + o.Raw.FieldValidation = o.FieldValidation + } return o.Raw } @@ -899,13 +938,15 @@ var ForceOwnership = forceOwnership{} type forceOwnership struct{} func (forceOwnership) ApplyToPatch(opts *PatchOptions) { - definitelyTrue := true - opts.Force = &definitelyTrue + opts.Force = ptr.To(true) } func (forceOwnership) ApplyToSubResourcePatch(opts *SubResourcePatchOptions) { - definitelyTrue := true - opts.Force = &definitelyTrue + opts.Force = ptr.To(true) +} + +func (forceOwnership) ApplyToApply(opts *ApplyOptions) { + opts.Force = ptr.To(true) } // }}} @@ -939,3 +980,57 @@ func (o *DeleteAllOfOptions) ApplyToDeleteAllOf(do *DeleteAllOfOptions) { } // }}} + +// ApplyOptions are the options for an apply request. +type ApplyOptions struct { + // When present, indicates that modifications should not be + // persisted. An invalid or unrecognized dryRun directive will + // result in an error response and no further processing of the + // request. Valid values are: + // - All: all dry run stages will be processed + DryRun []string + + // Force is going to "force" Apply requests. It means user will + // re-acquire conflicting fields owned by other people. + Force *bool + + // fieldManager is a name associated with the actor or entity + // that is making these changes. The value must be less than or + // 128 characters long, and only contain printable characters, + // as defined by https://golang.org/pkg/unicode/#IsPrint. This + // field is required. + // + // +required + FieldManager string +} + +// ApplyOptions applies the given opts onto the ApplyOptions +func (o *ApplyOptions) ApplyOptions(opts []ApplyOption) *ApplyOptions { + for _, opt := range opts { + opt.ApplyToApply(o) + } + return o +} + +// ApplyToApply applies the given opts onto the ApplyOptions +func (o *ApplyOptions) ApplyToApply(opts *ApplyOptions) { + if o.DryRun != nil { + opts.DryRun = o.DryRun + } + if o.Force != nil { + opts.Force = o.Force + } + + if o.FieldManager != "" { + opts.FieldManager = o.FieldManager + } +} + +// AsPatchOptions constructs patch options from the given ApplyOptions +func (o *ApplyOptions) AsPatchOptions() *metav1.PatchOptions { + return &metav1.PatchOptions{ + DryRun: o.DryRun, + Force: o.Force, + FieldManager: o.FieldManager, + } +} diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/patch.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/patch.go index 11d608388..ec5586108 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/patch.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/patch.go @@ -27,6 +27,8 @@ import ( var ( // Apply uses server-side apply to patch the given object. + // + // Deprecated: Use client.Client.Apply() instead. Apply Patch = applyPatch{} // Merge uses the raw object as a merge patch, without modifications. diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/typed_client.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/typed_client.go index 92afd9a9c..3bd762a63 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/typed_client.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/typed_client.go @@ -18,8 +18,10 @@ package client import ( "context" + "fmt" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/util/apply" ) var _ Reader = &typedClient{} @@ -41,7 +43,7 @@ func (c *typedClient) Create(ctx context.Context, obj Object, opts ...CreateOpti createOpts.ApplyOptions(opts) return o.Post(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). Body(obj). VersionedParams(createOpts.AsCreateOptions(), c.paramCodec). @@ -60,9 +62,9 @@ func (c *typedClient) Update(ctx context.Context, obj Object, opts ...UpdateOpti updateOpts.ApplyOptions(opts) return o.Put(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). Body(obj). VersionedParams(updateOpts.AsUpdateOptions(), c.paramCodec). Do(ctx). @@ -80,9 +82,9 @@ func (c *typedClient) Delete(ctx context.Context, obj Object, opts ...DeleteOpti deleteOpts.ApplyOptions(opts) return o.Delete(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). Body(deleteOpts.AsDeleteOptions()). Do(ctx). Error() @@ -123,15 +125,40 @@ func (c *typedClient) Patch(ctx context.Context, obj Object, patch Patch, opts . patchOpts.ApplyOptions(opts) return o.Patch(patch.Type()). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). VersionedParams(patchOpts.AsPatchOptions(), c.paramCodec). Body(data). Do(ctx). Into(obj) } +func (c *typedClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...ApplyOption) error { + o, err := c.resources.getObjMeta(obj) + if err != nil { + return err + } + req, err := apply.NewRequest(o, obj) + if err != nil { + return fmt.Errorf("failed to create apply request: %w", err) + } + applyOpts := &ApplyOptions{} + applyOpts.ApplyOptions(opts) + + return req. + NamespaceIfScoped(o.namespace, o.isNamespaced()). + Resource(o.resource()). + Name(o.name). + VersionedParams(applyOpts.AsPatchOptions(), c.paramCodec). + Do(ctx). + // This is hacky, it is required because `Into` takes a `runtime.Object` and + // that is not implemented by the ApplyConfigurations. The generated clients + // don't have this problem because they deserialize into the api type, not the + // apply configuration: https://github.com/kubernetes/kubernetes/blob/22f5e01a37c0bc6a5f494dec14dd4e3688ee1d55/staging/src/k8s.io/client-go/gentype/type.go#L296-L317 + Into(runtimeObjectFromApplyConfiguration(obj)) +} + // Get implements client.Client. func (c *typedClient) Get(ctx context.Context, key ObjectKey, obj Object, opts ...GetOption) error { r, err := c.resources.getResource(obj) @@ -179,9 +206,9 @@ func (c *typedClient) GetSubResource(ctx context.Context, obj, subResourceObj Ob getOpts.ApplyOptions(opts) return o.Get(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). SubResource(subResource). VersionedParams(getOpts.AsGetOptions(), c.paramCodec). Do(ctx). @@ -202,9 +229,9 @@ func (c *typedClient) CreateSubResource(ctx context.Context, obj Object, subReso createOpts.ApplyOptions(opts) return o.Post(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). SubResource(subResource). Body(subResourceObj). VersionedParams(createOpts.AsCreateOptions(), c.paramCodec). @@ -237,9 +264,9 @@ func (c *typedClient) UpdateSubResource(ctx context.Context, obj Object, subReso } return o.Put(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). SubResource(subResource). Body(body). VersionedParams(updateOpts.AsUpdateOptions(), c.paramCodec). @@ -268,9 +295,9 @@ func (c *typedClient) PatchSubResource(ctx context.Context, obj Object, subResou } return o.Patch(patch.Type()). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). SubResource(subResource). Body(data). VersionedParams(patchOpts.AsPatchOptions(), c.paramCodec). diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/client/unstructured_client.go b/vendor/sigs.k8s.io/controller-runtime/pkg/client/unstructured_client.go index 0d9695178..e636c3bee 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/client/unstructured_client.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/client/unstructured_client.go @@ -22,6 +22,7 @@ import ( "strings" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/util/apply" ) var _ Reader = &unstructuredClient{} @@ -50,7 +51,7 @@ func (uc *unstructuredClient) Create(ctx context.Context, obj Object, opts ...Cr createOpts.ApplyOptions(opts) result := o.Post(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). Body(obj). VersionedParams(createOpts.AsCreateOptions(), uc.paramCodec). @@ -79,9 +80,9 @@ func (uc *unstructuredClient) Update(ctx context.Context, obj Object, opts ...Up updateOpts.ApplyOptions(opts) result := o.Put(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). Body(obj). VersionedParams(updateOpts.AsUpdateOptions(), uc.paramCodec). Do(ctx). @@ -106,9 +107,9 @@ func (uc *unstructuredClient) Delete(ctx context.Context, obj Object, opts ...De deleteOpts.ApplyOptions(opts) return o.Delete(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). Body(deleteOpts.AsDeleteOptions()). Do(ctx). Error() @@ -157,15 +158,41 @@ func (uc *unstructuredClient) Patch(ctx context.Context, obj Object, patch Patch patchOpts.ApplyOptions(opts) return o.Patch(patch.Type()). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). VersionedParams(patchOpts.AsPatchOptions(), uc.paramCodec). Body(data). Do(ctx). Into(obj) } +func (uc *unstructuredClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...ApplyOption) error { + unstructuredApplyConfig, ok := obj.(*unstructuredApplyConfiguration) + if !ok { + return fmt.Errorf("bug: unstructured client got an applyconfiguration that was not %T but %T", &unstructuredApplyConfiguration{}, obj) + } + o, err := uc.resources.getObjMeta(unstructuredApplyConfig.Unstructured) + if err != nil { + return err + } + + req, err := apply.NewRequest(o, obj) + if err != nil { + return fmt.Errorf("failed to create apply request: %w", err) + } + applyOpts := &ApplyOptions{} + applyOpts.ApplyOptions(opts) + + return req. + NamespaceIfScoped(o.namespace, o.isNamespaced()). + Resource(o.resource()). + Name(o.name). + VersionedParams(applyOpts.AsPatchOptions(), uc.paramCodec). + Do(ctx). + Into(unstructuredApplyConfig.Unstructured) +} + // Get implements client.Client. func (uc *unstructuredClient) Get(ctx context.Context, key ObjectKey, obj Object, opts ...GetOption) error { u, ok := obj.(runtime.Unstructured) @@ -244,9 +271,9 @@ func (uc *unstructuredClient) GetSubResource(ctx context.Context, obj, subResour getOpts.ApplyOptions(opts) return o.Get(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). SubResource(subResource). VersionedParams(getOpts.AsGetOptions(), uc.paramCodec). Do(ctx). @@ -275,9 +302,9 @@ func (uc *unstructuredClient) CreateSubResource(ctx context.Context, obj, subRes createOpts.ApplyOptions(opts) return o.Post(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). SubResource(subResource). Body(subResourceObj). VersionedParams(createOpts.AsCreateOptions(), uc.paramCodec). @@ -310,9 +337,9 @@ func (uc *unstructuredClient) UpdateSubResource(ctx context.Context, obj Object, } return o.Put(). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). SubResource(subResource). Body(body). VersionedParams(updateOpts.AsUpdateOptions(), uc.paramCodec). @@ -347,9 +374,9 @@ func (uc *unstructuredClient) PatchSubResource(ctx context.Context, obj Object, } result := o.Patch(patch.Type()). - NamespaceIfScoped(o.GetNamespace(), o.isNamespaced()). + NamespaceIfScoped(o.namespace, o.isNamespaced()). Resource(o.resource()). - Name(o.GetName()). + Name(o.name). SubResource(subResource). Body(data). VersionedParams(patchOpts.AsPatchOptions(), uc.paramCodec). diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/controller/controllerutil/controllerutil.go b/vendor/sigs.k8s.io/controller-runtime/pkg/controller/controllerutil/controllerutil.go index ba3f931e4..0088f88e5 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/controller/controllerutil/controllerutil.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/controller/controllerutil/controllerutil.go @@ -278,7 +278,7 @@ func referSameObject(a, b metav1.OwnerReference) bool { return aGV.Group == bGV.Group && a.Kind == b.Kind && a.Name == b.Name } -// OperationResult is the action result of a CreateOrUpdate call. +// OperationResult is the action result of a CreateOrUpdate or CreateOrPatch call. type OperationResult string const ( // They should complete the sentence "Deployment default/foo has been ..." @@ -294,13 +294,26 @@ const ( // They should complete the sentence "Deployment default/foo has been .. OperationResultUpdatedStatusOnly OperationResult = "updatedStatusOnly" ) -// CreateOrUpdate creates or updates the given object in the Kubernetes -// cluster. The object's desired state must be reconciled with the existing -// state inside the passed in callback MutateFn. +// CreateOrUpdate attempts to fetch the given object from the Kubernetes cluster. +// If the object didn't exist, MutateFn will be called, and it will be created. +// If the object did exist, MutateFn will be called, and if it changed the +// object, it will be updated. +// Otherwise, it will be left unchanged. +// The executed operation (and an error) will be returned. // -// The MutateFn is called regardless of creating or updating an object. +// WARNING: If the MutateFn resets a value on obj that has a default value, +// CreateOrUpdate will *always* perform an update. This is because when the +// object is fetched from the API server, the value will have taken on the +// default value, and the check for equality will fail. For example, Deployments +// must have a Replicas value set. If the MutateFn sets a Deployment's Replicas +// to nil, then it will never match with the object returned from the API +// server, which defaults the value to 1. // -// It returns the executed operation and an error. +// WARNING: CreateOrUpdate assumes that no values have been set on obj aside +// from the Name/Namespace. Values other than Name and Namespace that existed on +// obj may be overwritten by the corresponding values in the object returned +// from the Kubernetes API server. When this happens, the Update will not work +// as expected. // // Note: changes made by MutateFn to any sub-resource (status...), will be // discarded. @@ -310,9 +323,12 @@ func CreateOrUpdate(ctx context.Context, c client.Client, obj client.Object, f M if !apierrors.IsNotFound(err) { return OperationResultNone, err } - if err := mutate(f, key, obj); err != nil { - return OperationResultNone, err + if f != nil { + if err := mutate(f, key, obj); err != nil { + return OperationResultNone, err + } } + if err := c.Create(ctx, obj); err != nil { return OperationResultNone, err } @@ -320,8 +336,10 @@ func CreateOrUpdate(ctx context.Context, c client.Client, obj client.Object, f M } existing := obj.DeepCopyObject() - if err := mutate(f, key, obj); err != nil { - return OperationResultNone, err + if f != nil { + if err := mutate(f, key, obj); err != nil { + return OperationResultNone, err + } } if equality.Semantic.DeepEqual(existing, obj) { @@ -334,13 +352,26 @@ func CreateOrUpdate(ctx context.Context, c client.Client, obj client.Object, f M return OperationResultUpdated, nil } -// CreateOrPatch creates or patches the given object in the Kubernetes -// cluster. The object's desired state must be reconciled with the before -// state inside the passed in callback MutateFn. +// CreateOrPatch attempts to fetch the given object from the Kubernetes cluster. +// If the object didn't exist, MutateFn will be called, and it will be created. +// If the object did exist, MutateFn will be called, and if it changed the +// object, it will be patched. +// Otherwise, it will be left unchanged. +// The executed operation (and an error) will be returned. // -// The MutateFn is called regardless of creating or updating an object. +// WARNING: If the MutateFn resets a value on obj that has a default value, +// CreateOrPatch will *always* perform a patch. This is because when the +// object is fetched from the API server, the value will have taken on the +// default value, and the check for equality will fail. +// For example, Deployments must have a Replicas value set. If the MutateFn sets +// a Deployment's Replicas to nil, then it will never match with the object +// returned from the API server, which defaults the value to 1. // -// It returns the executed operation and an error. +// WARNING: CreateOrPatch assumes that no values have been set on obj aside +// from the Name/Namespace. Values other than Name and Namespace that existed on +// obj may be overwritten by the corresponding values in the object returned +// from the Kubernetes API server. When this happens, the Patch will not work +// as expected. // // Note: changes to any sub-resource other than status will be ignored. // Changes to the status sub-resource will only be applied if the object diff --git a/vendor/sigs.k8s.io/controller-runtime/pkg/log/warning_handler.go b/vendor/sigs.k8s.io/controller-runtime/pkg/log/warning_handler.go index e9522632d..413b56d2e 100644 --- a/vendor/sigs.k8s.io/controller-runtime/pkg/log/warning_handler.go +++ b/vendor/sigs.k8s.io/controller-runtime/pkg/log/warning_handler.go @@ -17,13 +17,12 @@ limitations under the License. package log import ( + "context" "sync" - - "github.com/go-logr/logr" ) // KubeAPIWarningLoggerOptions controls the behavior -// of a rest.WarningHandler constructed using NewKubeAPIWarningLogger(). +// of a rest.WarningHandlerWithContext constructed using NewKubeAPIWarningLogger(). type KubeAPIWarningLoggerOptions struct { // Deduplicate indicates a given warning message should only be written once. // Setting this to true in a long-running process handling many warnings can @@ -33,10 +32,8 @@ type KubeAPIWarningLoggerOptions struct { // KubeAPIWarningLogger is a wrapper around // a provided logr.Logger that implements the -// rest.WarningHandler interface. +// rest.WarningHandlerWithContext interface. type KubeAPIWarningLogger struct { - // logger is used to log responses with the warning header - logger logr.Logger // opts contain options controlling warning output opts KubeAPIWarningLoggerOptions // writtenLock gurads written @@ -46,9 +43,11 @@ type KubeAPIWarningLogger struct { written map[string]struct{} } -// HandleWarningHeader handles logging for responses from API server that are -// warnings with code being 299 and uses a logr.Logger for its logging purposes. -func (l *KubeAPIWarningLogger) HandleWarningHeader(code int, agent string, message string) { +// HandleWarningHeaderWithContext handles logging for responses from API server that are +// warnings with code being 299 and uses a logr.Logger from context for its logging purposes. +func (l *KubeAPIWarningLogger) HandleWarningHeaderWithContext(ctx context.Context, code int, _ string, message string) { + log := FromContext(ctx) + if code != 299 || len(message) == 0 { return } @@ -62,13 +61,13 @@ func (l *KubeAPIWarningLogger) HandleWarningHeader(code int, agent string, messa } l.written[message] = struct{}{} } - l.logger.Info(message) + log.Info(message) } -// NewKubeAPIWarningLogger returns an implementation of rest.WarningHandler that logs warnings -// with code = 299 to the provided logr.Logger. -func NewKubeAPIWarningLogger(l logr.Logger, opts KubeAPIWarningLoggerOptions) *KubeAPIWarningLogger { - h := &KubeAPIWarningLogger{logger: l, opts: opts} +// NewKubeAPIWarningLogger returns an implementation of rest.WarningHandlerWithContext that logs warnings +// with code = 299 to the logger passed into HandleWarningHeaderWithContext via the context. +func NewKubeAPIWarningLogger(opts KubeAPIWarningLoggerOptions) *KubeAPIWarningLogger { + h := &KubeAPIWarningLogger{opts: opts} if opts.Deduplicate { h.written = map[string]struct{}{} } diff --git a/vendor/sigs.k8s.io/json/internal/golang/encoding/json/decode.go b/vendor/sigs.k8s.io/json/internal/golang/encoding/json/decode.go index d538ac119..3fe528bbf 100644 --- a/vendor/sigs.k8s.io/json/internal/golang/encoding/json/decode.go +++ b/vendor/sigs.k8s.io/json/internal/golang/encoding/json/decode.go @@ -52,8 +52,8 @@ import ( // - bool, for JSON booleans // - float64, for JSON numbers // - string, for JSON strings -// - []interface{}, for JSON arrays -// - map[string]interface{}, for JSON objects +// - []any, for JSON arrays +// - map[string]any, for JSON objects // - nil for JSON null // // To unmarshal a JSON array into a slice, Unmarshal resets the slice length @@ -117,9 +117,6 @@ func Unmarshal(data []byte, v any, opts ...UnmarshalOpt) error { // The input can be assumed to be a valid encoding of // a JSON value. UnmarshalJSON must copy the JSON data // if it wishes to retain the data after returning. -// -// By convention, to approximate the behavior of [Unmarshal] itself, -// Unmarshalers implement UnmarshalJSON([]byte("null")) as a no-op. type Unmarshaler interface { UnmarshalJSON([]byte) error } @@ -132,7 +129,7 @@ type UnmarshalTypeError struct { Type reflect.Type // type of Go value it could not be assigned to Offset int64 // error occurred after reading Offset bytes Struct string // name of the struct type containing the field - Field string // the full path from root node to the field + Field string // the full path from root node to the field, include embedded struct } func (e *UnmarshalTypeError) Error() string { @@ -281,7 +278,11 @@ func (d *decodeState) addErrorContext(err error) error { switch err := err.(type) { case *UnmarshalTypeError: err.Struct = d.errorContext.Struct.Name() - err.Field = strings.Join(d.errorContext.FieldStack, ".") + fieldStack := d.errorContext.FieldStack + if err.Field != "" { + fieldStack = append(fieldStack, err.Field) + } + err.Field = strings.Join(fieldStack, ".") } } return err @@ -492,9 +493,9 @@ func indirect(v reflect.Value, decodingNull bool) (Unmarshaler, encoding.TextUnm } // Prevent infinite loop if v is an interface pointing to its own address: - // var v interface{} + // var v any // v = &v - if v.Elem().Kind() == reflect.Interface && v.Elem().Elem() == v { + if v.Elem().Kind() == reflect.Interface && v.Elem().Elem().Equal(v) { v = v.Elem() break } @@ -784,7 +785,10 @@ func (d *decodeState) object(v reflect.Value) error { } subv = v destring = f.quoted - for _, i := range f.index { + if d.errorContext == nil { + d.errorContext = new(errorContext) + } + for i, ind := range f.index { if subv.Kind() == reflect.Pointer { if subv.IsNil() { // If a struct embeds a pointer to an unexported type, @@ -804,13 +808,16 @@ func (d *decodeState) object(v reflect.Value) error { } subv = subv.Elem() } - subv = subv.Field(i) - } - if d.errorContext == nil { - d.errorContext = new(errorContext) + if i < len(f.index)-1 { + d.errorContext.FieldStack = append( + d.errorContext.FieldStack, + subv.Type().Field(ind).Name, + ) + } + subv = subv.Field(ind) } - d.errorContext.FieldStack = append(d.errorContext.FieldStack, f.name) d.errorContext.Struct = t + d.errorContext.FieldStack = append(d.errorContext.FieldStack, f.name) d.appendStrictFieldStackKey(f.name) } else if d.disallowUnknownFields { d.saveStrictError(d.newFieldError(unknownStrictErrType, string(key))) @@ -1118,7 +1125,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool // in an empty interface. They are not strictly necessary, // but they avoid the weight of reflection in this common case. -// valueInterface is like value but returns interface{} +// valueInterface is like value but returns any. func (d *decodeState) valueInterface() (val any) { switch d.opcode { default: @@ -1135,7 +1142,7 @@ func (d *decodeState) valueInterface() (val any) { return } -// arrayInterface is like array but returns []interface{}. +// arrayInterface is like array but returns []any. func (d *decodeState) arrayInterface() []any { origStrictFieldStackLen := len(d.strictFieldStack) defer func() { @@ -1170,7 +1177,7 @@ func (d *decodeState) arrayInterface() []any { return v } -// objectInterface is like object but returns map[string]interface{}. +// objectInterface is like object but returns map[string]any. func (d *decodeState) objectInterface() map[string]any { origStrictFieldStackLen := len(d.strictFieldStack) defer func() { diff --git a/vendor/sigs.k8s.io/json/internal/golang/encoding/json/encode.go b/vendor/sigs.k8s.io/json/internal/golang/encoding/json/encode.go index eb73bff58..4e3a1a2f1 100644 --- a/vendor/sigs.k8s.io/json/internal/golang/encoding/json/encode.go +++ b/vendor/sigs.k8s.io/json/internal/golang/encoding/json/encode.go @@ -71,8 +71,8 @@ import ( // // The "omitempty" option specifies that the field should be omitted // from the encoding if the field has an empty value, defined as -// false, 0, a nil pointer, a nil interface value, and any empty array, -// slice, map, or string. +// false, 0, a nil pointer, a nil interface value, and any array, +// slice, map, or string of length zero. // // As a special case, if the field tag is "-", the field is always omitted. // Note that a field with name "-" can still be generated using the tag "-,". @@ -98,6 +98,17 @@ import ( // // Field appears in JSON as key "-". // Field int `json:"-,"` // +// The "omitzero" option specifies that the field should be omitted +// from the encoding if the field has a zero value, according to rules: +// +// 1) If the field type has an "IsZero() bool" method, that will be used to +// determine whether the value is zero. +// +// 2) Otherwise, the value is zero if it is the zero value for its type. +// +// If both "omitempty" and "omitzero" are specified, the field will be omitted +// if the value is either empty or zero (or both). +// // The "string" option signals that a field is stored as JSON inside a // JSON-encoded string. It applies only to fields of string, floating point, // integer, or boolean types. This extra level of encoding is sometimes used @@ -690,7 +701,8 @@ FieldLoop: fv = fv.Field(i) } - if f.omitEmpty && isEmptyValue(fv) { + if (f.omitEmpty && isEmptyValue(fv)) || + (f.omitZero && (f.isZero == nil && fv.IsZero() || (f.isZero != nil && f.isZero(fv)))) { continue } e.WriteByte(next) @@ -808,7 +820,7 @@ func (se sliceEncoder) encode(e *encodeState, v reflect.Value, opts encOpts) { // Here we use a struct to memorize the pointer to the first element of the slice // and its length. ptr := struct { - ptr interface{} // always an unsafe.Pointer, but avoids a dependency on package unsafe + ptr any // always an unsafe.Pointer, but avoids a dependency on package unsafe len int }{v.UnsafePointer(), v.Len()} if _, ok := e.ptrSeen[ptr]; ok { @@ -1039,11 +1051,19 @@ type field struct { index []int typ reflect.Type omitEmpty bool + omitZero bool + isZero func(reflect.Value) bool quoted bool encoder encoderFunc } +type isZeroer interface { + IsZero() bool +} + +var isZeroerType = reflect.TypeFor[isZeroer]() + // typeFields returns a list of fields that JSON should recognize for the given type. // The algorithm is breadth-first search over the set of structs to include - the top struct // and then any reachable anonymous structs. @@ -1135,6 +1155,7 @@ func typeFields(t reflect.Type) structFields { index: index, typ: ft, omitEmpty: opts.Contains("omitempty"), + omitZero: opts.Contains("omitzero"), quoted: quoted, } field.nameBytes = []byte(field.name) @@ -1144,6 +1165,40 @@ func typeFields(t reflect.Type) structFields { field.nameEscHTML = `"` + string(nameEscBuf) + `":` field.nameNonEsc = `"` + field.name + `":` + if field.omitZero { + t := sf.Type + // Provide a function that uses a type's IsZero method. + switch { + case t.Kind() == reflect.Interface && t.Implements(isZeroerType): + field.isZero = func(v reflect.Value) bool { + // Avoid panics calling IsZero on a nil interface or + // non-nil interface with nil pointer. + return v.IsNil() || + (v.Elem().Kind() == reflect.Pointer && v.Elem().IsNil()) || + v.Interface().(isZeroer).IsZero() + } + case t.Kind() == reflect.Pointer && t.Implements(isZeroerType): + field.isZero = func(v reflect.Value) bool { + // Avoid panics calling IsZero on nil pointer. + return v.IsNil() || v.Interface().(isZeroer).IsZero() + } + case t.Implements(isZeroerType): + field.isZero = func(v reflect.Value) bool { + return v.Interface().(isZeroer).IsZero() + } + case reflect.PointerTo(t).Implements(isZeroerType): + field.isZero = func(v reflect.Value) bool { + if !v.CanAddr() { + // Temporarily box v so we can take the address. + v2 := reflect.New(v.Type()).Elem() + v2.Set(v) + v = v2 + } + return v.Addr().Interface().(isZeroer).IsZero() + } + } + } + fields = append(fields, field) if count[f.typ] > 1 { // If there were multiple instances, add a second, diff --git a/vendor/sigs.k8s.io/json/internal/golang/encoding/json/stream.go b/vendor/sigs.k8s.io/json/internal/golang/encoding/json/stream.go index 48fc4d945..cc2108b92 100644 --- a/vendor/sigs.k8s.io/json/internal/golang/encoding/json/stream.go +++ b/vendor/sigs.k8s.io/json/internal/golang/encoding/json/stream.go @@ -31,8 +31,8 @@ func NewDecoder(r io.Reader) *Decoder { return &Decoder{r: r} } -// UseNumber causes the Decoder to unmarshal a number into an interface{} as a -// [Number] instead of as a float64. +// UseNumber causes the Decoder to unmarshal a number into an +// interface value as a [Number] instead of as a float64. func (dec *Decoder) UseNumber() { dec.d.useNumber = true } // DisallowUnknownFields causes the Decoder to return an error when the destination diff --git a/vendor/sigs.k8s.io/knftables/.gitignore b/vendor/sigs.k8s.io/knftables/.gitignore new file mode 100644 index 000000000..896d5783b --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/.gitignore @@ -0,0 +1,2 @@ +*~ +hack/bin/golangci-lint diff --git a/vendor/sigs.k8s.io/knftables/CHANGELOG.md b/vendor/sigs.k8s.io/knftables/CHANGELOG.md new file mode 100644 index 000000000..e16d197d7 --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/CHANGELOG.md @@ -0,0 +1,181 @@ +# ChangeLog + +## v0.0.18 + +- Added locking to `Fake` to allow it to be safely used concurrently. + (`@npinaeva`) + +- Added a `Flowtable` object, and `Fake` support for correctly parsing + flowtable references. (`@aojea`) + +- Fixed a bug in `Fake.ParseDump`, which accidentally required the + table to have a comment. (`@danwinship`) + +## v0.0.17 + +- `ListRules()` now accepts `""` for the chain name, meaning to list + all rules in the table. (`@caseydavenport`) + +- `ListElements()` now handles elements with prefix/CIDR values (e.g., + `"192.168.0.0/16"`; these are represented specially in the JSON + format and the old code didn't handle them). (`@caseydavenport`) + +- Added `NumOperations()` to `Transaction` (which lets you figure out + belatedly whether you added anything to the transaction or not, and + could also be used for metrics). (`@fasaxc`) + +- `knftables.Interface` now reuses the same `bytes.Buffer` for each + call to `nft` rather than constructing a new one each time, saving + time and memory. (`@aroradaman`) + +- Fixed map element deletion in `knftables.Fake` to not mistakenly + require that you fill in the `.Value` of the element. (`@npinaeva`) + +- Added `Fake.LastTransaction`, to retrieve the most-recently-executed + transaction. (`@npinaeva`) + +## v0.0.16 + +- Fixed a bug in `Fake.ParseDump()` when using IPv6. (`@npinaeva`) + +## v0.0.15 + +- knftables now requires the nft binary to be v1.0.1 or later. This is + because earlier versions (a) had bugs that might cause them to crash + when parsing rules created by later versions of nft, and (b) always + parsed the entire ruleset at startup, even if you were only trying + to operate on a single table. The combination of those two factors + means that older versions of nft can't reliably be used from inside + a container. (`@danwinship`) + +- Fixed a bug that meant we were never setting comments on + tables/chains/sets/etc, even if nft and the kernel were both new + enough to support it. (`@tnqn`) + +- Added `Fake.ParseDump()`, to load a `Fake` from a `Fake.Dump()` + output. (`@npinaeva`) + +## v0.0.14 + +- Renamed the package `"sigs.k8s.io/knftables"`, reflecting its new + home at https://github.com/kubernetes-sigs/knftables/ + +- Improvements to `Fake`: + + - `Fake.Run()` is now properly transactional, and will have no + side effects if an error occurs. + + - `Fake.Dump()` now outputs all `add chain`, `add set`, and `add + table` commands before any `add rule` and `add element` + commands, to ensure that the dumped ruleset can be passed to + `nft -f` without errors. + + - Conversely, `Fake.Run()` now does enough parsing of rules and + elements that it will notice rules that do lookups in + non-existent sets/maps, and rules/verdicts that jump to + non-existent chains, so it can error out in those cases. + +- Added `nft.Check()`, which is like `nft.Run()`, but using + `nft --check`. + +- Fixed support for ingress and egress hooks (by adding + `Chain.Device`). + +## v0.0.13 + +- Fixed a bug in `Fake.Run` where it was not properly returning "not + found" / "already exists" errors. + +## v0.0.12 + +- Renamed the package from `"github.com/danwinship/nftables"` to + `"github.com/danwinship/knftables"`, for less ambiguity. + +- Added `NameLengthMax` and `CommentLengthMax` constants. + +- Changed serialization of `Chain` to convert string-valued `Priority` + to numeric form, if possible. + +- (The `v0.0.11` tag exists but is not usable due to a bad `go.mod`) + +## v0.0.10 + +- Dropped `Define`, because nft defines turned out to not work the way + I thought (in particular, you can't do "$IP daddr"), so they end up + not really being useful for our purposes. + +- Made `NewTransaction` a method on `Interface` rather than a + top-level function. + +- Added `Transaction.String()`, for debugging + +- Fixed serialization of set/map elements with timeouts + +- Added special treament for `"@"` to `Concat` + +- Changed `nftables.New()` to return an `error` (doing the work that + used to be done by `nft.Present()`.) + +- Add autodetection for "object comment" support, and have + serialization just ignore comments on `Table`/`Chain`/`Set`/`Map` if + nft or the kernel does not support them. + +- Renamed `Optional()` to `PtrTo()` + +## v0.0.9 + +- Various tweaks to `Element`: + + - Changed `Key` and `Value` from `string` to `[]string` to better + support concatenated types (and dropped the `Join()` and + `Split()` helper functions that were previously used to join and + split concatenated values). + + - Split `Name` into separate `Set` and `Map` fields, which make it + clearer what is being named, and are more consistent with + `Rule.Chain`, and provide more redundancy for distinguishing set + elements from map elements. + + - Fixed serialization of map elements with a comments. + +- Rewrote `ListElements` and `ListRules` to use `nft -j`, for easier / + more reliable parsing. But this meant that `ListRules` no longer + returns the actual text of the rule. + +## v0.0.8 + +- Fixed `Fake.List` / `Fake.ListRules` / `Fake.ListElements` to return + errors that would be properly recognized by + `IsNotFound`/`IsAlreadyExists`. + +## v0.0.7 + +- Implemented `tx.Create`, `tx.Insert`, `tx.Replace` + +- Replaced `tx.AddRule` with the `Concat` function + +## v0.0.6 + +- Added `IsNotFound` and `IsAlreadyExists` error-checking functions + +## v0.0.5 + +- Moved `Define` from `Transaction` to `Interface` + +## v0.0.3, v0.0.4 + +- Improvements to `Fake` to handle `Rule` and `Element` + deletion/overwrite. + +- Added `ListRules` and `ListElements` + +- (The `v0.0.3` and `v0.0.4` tags are identical.) + +## v0.0.2 + +- Made `Interface` be specific to a single family and table. (Before, + that was specified at the `Transaction` level.) + +## v0.0.1 + +- Initial "release" diff --git a/vendor/sigs.k8s.io/knftables/CONTRIBUTING.md b/vendor/sigs.k8s.io/knftables/CONTRIBUTING.md new file mode 100644 index 000000000..50a4c6a37 --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/CONTRIBUTING.md @@ -0,0 +1,28 @@ +# Contributing Guidelines + +Welcome to Kubernetes. We are excited about the prospect of you joining our [community](https://git.k8s.io/community)! The Kubernetes community abides by the CNCF [code of conduct](code-of-conduct.md). Here is an excerpt: + +_As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities._ + +## Getting Started + +We have full documentation on how to get started contributing here: + + + +- [Contributor License Agreement](https://git.k8s.io/community/CLA.md) - Kubernetes projects require that you sign a Contributor License Agreement (CLA) before we can accept your pull requests +- [Kubernetes Contributor Guide](https://k8s.dev/guide) - Main contributor documentation, or you can just jump directly to the [contributing page](https://k8s.dev/docs/guide/contributing/) +- [Contributor Cheat Sheet](https://k8s.dev/cheatsheet) - Common resources for existing developers + +## Mentorship + +- [Mentoring Initiatives](https://k8s.dev/community/mentoring) - We have a diverse set of mentorship programs available that are always looking for volunteers! + +## Contact Information + +knftables is maintained by [Kubernetes SIG Network](https://github.com/kubernetes/community/tree/master/sig-network). + +- [sig-network slack channel](https://kubernetes.slack.com/messages/sig-network) +- [kubernetes-sig-network mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-network) diff --git a/vendor/sigs.k8s.io/knftables/LICENSE b/vendor/sigs.k8s.io/knftables/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/sigs.k8s.io/knftables/Makefile b/vendor/sigs.k8s.io/knftables/Makefile new file mode 100644 index 000000000..981e6256a --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/Makefile @@ -0,0 +1,32 @@ +# Copyright 2023 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +all build: + echo "Usage:" + echo "make test - run unit tests" + echo "make update - run gofmt, etc" + echo "make verify - run golangci, etc" + +clean: + +test: + ./hack/test.sh + +update: + ./hack/update.sh + +verify: + ./hack/verify.sh + +.PHONY: all build clean test update verify diff --git a/vendor/sigs.k8s.io/knftables/OWNERS b/vendor/sigs.k8s.io/knftables/OWNERS new file mode 100644 index 000000000..01baa6237 --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/OWNERS @@ -0,0 +1,7 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - aojea + - danwinship +approvers: + - danwinship diff --git a/vendor/sigs.k8s.io/knftables/README.md b/vendor/sigs.k8s.io/knftables/README.md new file mode 100644 index 000000000..0cb6313bc --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/README.md @@ -0,0 +1,279 @@ +# knftables: a golang nftables library + +This is a library for using nftables from Go. + +It is not intended to support arbitrary use cases, but instead +specifically focuses on supporting Kubernetes components which are +using nftables in the way that nftables is supposed to be used (as +opposed to using nftables in a naively-translated-from-iptables way, +or using nftables to do totally valid things that aren't the sorts of +things Kubernetes components are likely to need to do; see the +"[iptables porting](./docs/iptables-porting.md)" doc for more thoughts +on porting old iptables-based components to nftables.) + +knftables is still under development and is not yet API stable. (See the +section on "Possible future changes" below.) + +The library is implemented as a wrapper around the `nft` CLI, because +the CLI API is the only well-documented interface to nftables. +Although it would be possible to use netlink directly (and some other +golang-based nftables libraries do this), that would result in an API +that is quite different from all documented examples of nftables usage +(e.g. the man pages and the [nftables wiki](http://wiki.nftables.org/)) +because there is no easy way to convert the "standard" representation +of nftables rules into the netlink form. + +(Actually, it's not quite true that there's no other usable API: the +`nft` CLI is just a thin wrapper around `libnftables`, and it would be +possible for knftables to use cgo to invoke that library instead of +using an external binary. However, this would be harder to build and +ship, so I'm not bothering with that for now. But this could be done +in the future without needing to change knftables's API.) + +knftables requires nft version 1.0.1 or later, because earlier +versions would download and process the entire ruleset regardless of +what you were doing, which, besides being pointlessly inefficient, +means that in some cases, other people using new features in _their_ +tables could prevent you from modifying _your_ table. (In particular, +a change in how some rules are generated starting in nft 1.0.3 +triggers a crash in nft 0.9.9 and earlier, _even if you aren't looking +at the table containing that rule_.) + +## Usage + +Create an `Interface` object to manage operations on a single nftables +table: + +```golang +nft, err := knftables.New(knftables.IPv4Family, "my-table") +if err != nil { + return fmt.Errorf("no nftables support: %v", err) +} +``` + +(If you want to operate on multiple tables or multiple nftables +families, you will need separate `Interface` objects for each. If you +need to check whether the system supports an nftables feature as with +`nft --check`, use `nft.Check()`, which works the same as `nft.Run()` +below.) + +You can use the `List`, `ListRules`, and `ListElements` methods on the +`Interface` to check if objects exist. `List` returns the names of +`"chains"`, `"sets"`, or `"maps"` in the table, while `ListElements` +returns `Element` objects and `ListRules` returns *partial* `Rule` +objects. + +```golang +chains, err := nft.List(ctx, "chains") +if err != nil { + return fmt.Errorf("could not list chains: %v", err) +} + +FIXME + +elements, err := nft.ListElements(ctx, "map", "mymap") +if err != nil { + return fmt.Errorf("could not list map elements: %v", err) +} + +FIXME +``` + +To make changes, create a `Transaction`, add the appropriate +operations to the transaction, and then call `nft.Run` on it: + +```golang +tx := nft.NewTransaction() + +tx.Add(&knftables.Chain{ + Name: "mychain", + Comment: knftables.PtrTo("this is my chain"), +}) +tx.Flush(&knftables.Chain{ + Name: "mychain", +}) + +var destIP net.IP +var destPort uint16 +... +tx.Add(&knftables.Rule{ + Chain: "mychain", + Rule: knftables.Concat( + "ip daddr", destIP, + "ip protocol", "tcp", + "th port", destPort, + "jump", destChain, + ) +}) + +err := nft.Run(context, tx) +``` + +If any operation in the transaction would fail, then `Run()` will +return an error and the entire transaction will be ignored. You can +use the `knftables.IsNotFound()` and `knftables.IsAlreadyExists()` +methods to check for those well-known error types. In a large +transaction, there is no supported way to determine exactly which +operation failed. + +## `knftables.Transaction` operations + +`knftables.Transaction` operations correspond to the top-level commands +in the `nft` binary. Currently-supported operations are: + +- `tx.Add()`: adds an object, which may already exist, as with `nft add` +- `tx.Create()`: creates an object, which must not already exist, as with `nft create` +- `tx.Flush()`: flushes the contents of a table/chain/set/map, as with `nft flush` +- `tx.Delete()`: deletes an object, as with `nft delete` +- `tx.Insert()`: inserts a rule before another rule, as with `nft insert rule` +- `tx.Replace()`: replaces a rule, as with `nft replace rule` + +## Objects + +The `Transaction` methods take arguments of type `knftables.Object`. +The currently-supported objects are: + +- `Table` +- `Flowtable` +- `Chain` +- `Rule` +- `Set` +- `Map` +- `Element` + +Optional fields in objects can be filled in with the help of the +`PtrTo()` function, which just returns a pointer to its argument. + +`Concat()` can be used to concatenate a series of strings, `[]string` +arrays, and other arguments (including numbers, `net.IP`s / +`net.IPNet`s, and anything else that can be formatted usefully via +`fmt.Sprintf("%s")`) together into a single string. This is often +useful when constructing `Rule`s. + +## `knftables.Fake` + +There is a fake (in-memory) implementation of `knftables.Interface` +for use in unit tests. Use `knftables.NewFake()` instead of +`knftables.New()` to create it, and then it should work mostly the +same. See `fake.go` for more details of the public APIs for examining +the current state of the fake nftables database. + +## Missing APIs + +Various top-level object types are not yet supported (notably the +"stateful objects" like `counter`). + +Most IPTables libraries have an API for "add this rule only if it +doesn't already exist", but that does not seem as useful in nftables +(or at least "in nftables as used by Kubernetes-ish components that +aren't just blindly copying over old iptables APIs"), because chains +tend to have static rules and dynamic sets/maps, rather than having +dynamic rules. If you aren't sure if a chain has the correct rules, +you can just `Flush` it and recreate all of the rules. + +The "destroy" (delete-without-ENOENT) command that exists in newer +versions of `nft` is not currently supported because it would be +unexpectedly heavyweight to emulate on systems that don't have it, so +it is better (for now) to force callers to implement it by hand. + +`ListRules` returns `Rule` objects without the `Rule` field filled in, +because it uses the JSON API to list the rules, but there is no easy +way to convert the JSON rule representation back into plaintext form. +This means that it is only useful when either (a) you know the order +of the rules in the chain, but want to know their handles, or (b) you +can recognize the rules you are looking for by their comments, rather +than the rule bodies. + +## Possible future changes + +### `nft` output parsing + +`nft`'s output is documented and standardized, so it ought to be +possible for us to extract better error messages in the event of a +transaction failure. + +Additionally, if we used the `--echo` (`-e`) and `--handle` (`-a`) +flags, we could learn the handles associated with newly-created +objects in a transaction, and return these to the caller somehow. +(E.g., by setting the `Handle` field in the object that had been +passed to `tx.Add` when the transaction is run.) + +(For now, `ListRules` fills in the handles of the rules it returns, so +it's possible to find out a rule's handle after the fact that way. For +other supported object types, either handles don't exist (`Element`) +or you don't really need to know their handles because it's possible +to delete by name instead (`Table`, `Chain`, `Set`, `Map`).) + +### List APIs + +The fact that `List` works completely differently from `ListRules` and +`ListElements` is a historical artifact. + +I would like to have a single function + +```golang +List[T Object](ctx context.Context, template T) ([]T, error) +``` + +So you could say + +```golang +elements, err := nft.List(ctx, &knftables.Element{Set: "myset"}) +``` + +to list the elements of "myset". But this doesn't actually compile +("`syntax error: method must have no type parameters`") because +allowing that would apparently introduce extremely complicated edge +cases in Go generics. + +### Set/map type representation + +There is currently an annoying asymmetry in the representation of +concatenated types between `Set`/`Map` and `Element`, where the former +uses a string containing `nft` syntax, and the latter uses an array: + +```golang +tx.Add(&knftables.Set{ + Name: "firewall", + Type: "ipv4_addr . inet_proto . inet_service", +}) +tx.Add(&knftables.Element{ + Set: "firewall", + Key: []string{"10.1.2.3", "tcp", "80"}, +}) +``` + +This will probably be fixed at some point, which may result in a +change to how the `type` vs `typeof` distinction is handled as well. + +### Optimization and rule representation + +We will need to optimize the performance of large transactions. One +change that is likely is to avoid pre-concatenating rule elements in +cases like: + +```golang +tx.Add(&knftables.Rule{ + Chain: "mychain", + Rule: knftables.Concat( + "ip daddr", destIP, + "ip protocol", "tcp", + "th port", destPort, + "jump", destChain, + ) +}) +``` + +This will presumably require a change to `knftables.Rule` and/or +`knftables.Concat()` but I'm not sure exactly what it will be. + +## Community, discussion, contribution, and support + +knftables is maintained by [Kubernetes SIG Network](https://github.com/kubernetes/community/tree/master/sig-network). + +- [sig-network slack channel](https://kubernetes.slack.com/messages/sig-network) +- [kubernetes-sig-network mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-network) + +See [`CONTRIBUTING.md`](CONTRIBUTING.md) for more information about +contributing. Participation in the Kubernetes community is governed by +the [Kubernetes Code of Conduct](code-of-conduct.md). diff --git a/vendor/sigs.k8s.io/knftables/SECURITY_CONTACTS b/vendor/sigs.k8s.io/knftables/SECURITY_CONTACTS new file mode 100644 index 000000000..eb4390a2e --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/SECURITY_CONTACTS @@ -0,0 +1,13 @@ +# Defined below are the security contacts for this repo. +# +# They are the contact point for the Security Response Committee to reach out +# to for triaging and handling of incoming issues. +# +# The below names agree to abide by the +# [Embargo Policy](https://git.k8s.io/security/private-distributors-list.md#embargo-policy) +# and will be removed and replaced if they violate that agreement. +# +# DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE +# INSTRUCTIONS AT https://kubernetes.io/security/ + +danwinship diff --git a/vendor/sigs.k8s.io/knftables/code-of-conduct.md b/vendor/sigs.k8s.io/knftables/code-of-conduct.md new file mode 100644 index 000000000..0d15c00cf --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/code-of-conduct.md @@ -0,0 +1,3 @@ +# Kubernetes Community Code of Conduct + +Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md) diff --git a/vendor/sigs.k8s.io/knftables/error.go b/vendor/sigs.k8s.io/knftables/error.go new file mode 100644 index 000000000..fe57da03b --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/error.go @@ -0,0 +1,94 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knftables + +import ( + "errors" + "fmt" + "os/exec" + "strings" + "syscall" +) + +type nftablesError struct { + wrapped error + msg string + errno syscall.Errno +} + +// wrapError wraps an error resulting from running nft +func wrapError(err error) error { + nerr := &nftablesError{wrapped: err, msg: err.Error()} + ee := &exec.ExitError{} + if errors.As(err, &ee) { + if len(ee.Stderr) > 0 { + nerr.msg = string(ee.Stderr) + eol := strings.Index(nerr.msg, "\n") + // The nft binary does not call setlocale() and so will return + // English error strings regardless of the locale. + enoent := strings.Index(nerr.msg, "No such file or directory") + eexist := strings.Index(nerr.msg, "File exists") + if enoent != -1 && (enoent < eol || eol == -1) { + nerr.errno = syscall.ENOENT + } else if eexist != -1 && (eexist < eol || eol == -1) { + nerr.errno = syscall.EEXIST + } + } + } + return nerr +} + +// notFoundError returns an nftablesError with the given message for which IsNotFound will +// return true. +func notFoundError(format string, args ...interface{}) error { + return &nftablesError{msg: fmt.Sprintf(format, args...), errno: syscall.ENOENT} +} + +// existsError returns an nftablesError with the given message for which IsAlreadyExists +// will return true. +func existsError(format string, args ...interface{}) error { + return &nftablesError{msg: fmt.Sprintf(format, args...), errno: syscall.EEXIST} +} + +func (nerr *nftablesError) Error() string { + return nerr.msg +} + +func (nerr *nftablesError) Unwrap() error { + return nerr.wrapped +} + +// IsNotFound tests if err corresponds to an nftables "not found" error of any sort. +// (e.g., in response to a "delete rule" command, this might indicate that the rule +// doesn't exist, or the chain doesn't exist, or the table doesn't exist.) +func IsNotFound(err error) bool { + var nerr *nftablesError + if errors.As(err, &nerr) { + return nerr.errno == syscall.ENOENT + } + return false +} + +// IsAlreadyExists tests if err corresponds to an nftables "already exists" error (e.g. +// when doing a "create" rather than an "add"). +func IsAlreadyExists(err error) bool { + var nerr *nftablesError + if errors.As(err, &nerr) { + return nerr.errno == syscall.EEXIST + } + return false +} diff --git a/vendor/sigs.k8s.io/knftables/exec.go b/vendor/sigs.k8s.io/knftables/exec.go new file mode 100644 index 000000000..154b5bc45 --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/exec.go @@ -0,0 +1,48 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knftables + +import ( + "os/exec" +) + +// execer is a mockable wrapper around os/exec. +type execer interface { + // LookPath wraps exec.LookPath + LookPath(file string) (string, error) + + // Run runs cmd as with cmd.Output(). If an error occurs, and the process outputs + // stderr, then that output will be returned in the error. + Run(cmd *exec.Cmd) (string, error) +} + +// realExec implements execer by actually using os/exec +type realExec struct{} + +// LookPath is part of execer +func (realExec) LookPath(file string) (string, error) { + return exec.LookPath(file) +} + +// Run is part of execer +func (realExec) Run(cmd *exec.Cmd) (string, error) { + out, err := cmd.Output() + if err != nil { + err = wrapError(err) + } + return string(out), err +} diff --git a/vendor/sigs.k8s.io/knftables/fake.go b/vendor/sigs.k8s.io/knftables/fake.go new file mode 100644 index 000000000..6f209f936 --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/fake.go @@ -0,0 +1,744 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knftables + +import ( + "context" + "fmt" + "reflect" + "regexp" + "sort" + "strings" + "sync" +) + +// Fake is a fake implementation of Interface +type Fake struct { + nftContext + // mutex is used to protect Table and LastTransaction. + // When Table and LastTransaction are accessed directly, the caller must acquire Fake.RLock + // and release when finished. + sync.RWMutex + + nextHandle int + + // Table contains the Interface's table. This will be `nil` until you `tx.Add()` + // the table. + // Make sure to acquire Fake.RLock before accessing Table in a concurrent environment. + Table *FakeTable + + // LastTransaction is the last transaction passed to Run(). It will remain set until the + // next time Run() is called. (It is not affected by Check().) + // Make sure to acquire Fake.RLock before accessing LastTransaction in a concurrent environment. + LastTransaction *Transaction +} + +// FakeTable wraps Table for the Fake implementation +type FakeTable struct { + Table + + // Flowtables contains the table's flowtables, keyed by name + Flowtables map[string]*FakeFlowtable + + // Chains contains the table's chains, keyed by name + Chains map[string]*FakeChain + + // Sets contains the table's sets, keyed by name + Sets map[string]*FakeSet + + // Maps contains the table's maps, keyed by name + Maps map[string]*FakeMap +} + +// FakeFlowtable wraps Flowtable for the Fake implementation +type FakeFlowtable struct { + Flowtable +} + +// FakeChain wraps Chain for the Fake implementation +type FakeChain struct { + Chain + + // Rules contains the chain's rules, in order + Rules []*Rule +} + +// FakeSet wraps Set for the Fake implementation +type FakeSet struct { + Set + + // Elements contains the set's elements. You can also use the FakeSet's + // FindElement() method to see if a particular element is present. + Elements []*Element +} + +// FakeMap wraps Set for the Fake implementation +type FakeMap struct { + Map + + // Elements contains the map's elements. You can also use the FakeMap's + // FindElement() method to see if a particular element is present. + Elements []*Element +} + +// NewFake creates a new fake Interface, for unit tests +func NewFake(family Family, table string) *Fake { + return &Fake{ + nftContext: nftContext{ + family: family, + table: table, + }, + } +} + +var _ Interface = &Fake{} + +// List is part of Interface. +func (fake *Fake) List(_ context.Context, objectType string) ([]string, error) { + fake.RLock() + defer fake.RUnlock() + if fake.Table == nil { + return nil, notFoundError("no such table %q", fake.table) + } + + var result []string + + switch objectType { + case "flowtable", "flowtables": + for name := range fake.Table.Flowtables { + result = append(result, name) + } + case "chain", "chains": + for name := range fake.Table.Chains { + result = append(result, name) + } + case "set", "sets": + for name := range fake.Table.Sets { + result = append(result, name) + } + case "map", "maps": + for name := range fake.Table.Maps { + result = append(result, name) + } + + default: + return nil, fmt.Errorf("unsupported object type %q", objectType) + } + + return result, nil +} + +// ListRules is part of Interface +func (fake *Fake) ListRules(_ context.Context, chain string) ([]*Rule, error) { + fake.RLock() + defer fake.RUnlock() + if fake.Table == nil { + return nil, notFoundError("no such table %q", fake.table) + } + + rules := []*Rule{} + if chain == "" { + // Include all rules across all chains. + for _, ch := range fake.Table.Chains { + rules = append(rules, ch.Rules...) + } + } else { + ch := fake.Table.Chains[chain] + if ch == nil { + return nil, notFoundError("no such chain %q", chain) + } + rules = append(rules, ch.Rules...) + } + return rules, nil +} + +// ListElements is part of Interface +func (fake *Fake) ListElements(_ context.Context, objectType, name string) ([]*Element, error) { + fake.RLock() + defer fake.RUnlock() + if fake.Table == nil { + return nil, notFoundError("no such %s %q", objectType, name) + } + if objectType == "set" { + s := fake.Table.Sets[name] + if s != nil { + return s.Elements, nil + } + } else if objectType == "map" { + m := fake.Table.Maps[name] + if m != nil { + return m.Elements, nil + } + } + return nil, notFoundError("no such %s %q", objectType, name) +} + +// NewTransaction is part of Interface +func (fake *Fake) NewTransaction() *Transaction { + return &Transaction{nftContext: &fake.nftContext} +} + +// Run is part of Interface +func (fake *Fake) Run(_ context.Context, tx *Transaction) error { + fake.Lock() + defer fake.Unlock() + fake.LastTransaction = tx + updatedTable, err := fake.run(tx) + if err == nil { + fake.Table = updatedTable + } + return err +} + +// Check is part of Interface +func (fake *Fake) Check(_ context.Context, tx *Transaction) error { + fake.RLock() + defer fake.RUnlock() + _, err := fake.run(tx) + return err +} + +// must be called with fake.lock held +func (fake *Fake) run(tx *Transaction) (*FakeTable, error) { + if tx.err != nil { + return nil, tx.err + } + + updatedTable := fake.Table.copy() + for _, op := range tx.operations { + // If the table hasn't been created, and this isn't a Table operation, then fail + if updatedTable == nil { + if _, ok := op.obj.(*Table); !ok { + return nil, notFoundError("no such table \"%s %s\"", fake.family, fake.table) + } + } + + if op.verb == addVerb || op.verb == createVerb || op.verb == insertVerb { + fake.nextHandle++ + } + + switch obj := op.obj.(type) { + case *Table: + err := checkExists(op.verb, "table", fake.table, updatedTable != nil) + if err != nil { + return nil, err + } + switch op.verb { + case flushVerb: + updatedTable = nil + fallthrough + case addVerb, createVerb: + if updatedTable != nil { + continue + } + table := *obj + table.Handle = PtrTo(fake.nextHandle) + updatedTable = &FakeTable{ + Table: table, + Flowtables: make(map[string]*FakeFlowtable), + Chains: make(map[string]*FakeChain), + Sets: make(map[string]*FakeSet), + Maps: make(map[string]*FakeMap), + } + case deleteVerb: + updatedTable = nil + default: + return nil, fmt.Errorf("unhandled operation %q", op.verb) + } + + case *Flowtable: + existingFlowtable := updatedTable.Flowtables[obj.Name] + err := checkExists(op.verb, "flowtable", obj.Name, existingFlowtable != nil) + if err != nil { + return nil, err + } + switch op.verb { + case addVerb, createVerb: + if existingFlowtable != nil { + continue + } + flowtable := *obj + flowtable.Handle = PtrTo(fake.nextHandle) + updatedTable.Flowtables[obj.Name] = &FakeFlowtable{ + Flowtable: flowtable, + } + case deleteVerb: + // FIXME delete-by-handle + delete(updatedTable.Flowtables, obj.Name) + default: + return nil, fmt.Errorf("unhandled operation %q", op.verb) + } + + case *Chain: + existingChain := updatedTable.Chains[obj.Name] + err := checkExists(op.verb, "chain", obj.Name, existingChain != nil) + if err != nil { + return nil, err + } + switch op.verb { + case addVerb, createVerb: + if existingChain != nil { + continue + } + chain := *obj + chain.Handle = PtrTo(fake.nextHandle) + updatedTable.Chains[obj.Name] = &FakeChain{ + Chain: chain, + } + case flushVerb: + existingChain.Rules = nil + case deleteVerb: + // FIXME delete-by-handle + delete(updatedTable.Chains, obj.Name) + default: + return nil, fmt.Errorf("unhandled operation %q", op.verb) + } + + case *Rule: + existingChain := updatedTable.Chains[obj.Chain] + if existingChain == nil { + return nil, notFoundError("no such chain %q", obj.Chain) + } + if op.verb == deleteVerb { + i := findRule(existingChain.Rules, *obj.Handle) + if i == -1 { + return nil, notFoundError("no rule with handle %d", *obj.Handle) + } + existingChain.Rules = append(existingChain.Rules[:i], existingChain.Rules[i+1:]...) + continue + } + + rule := *obj + refRule := -1 + if rule.Handle != nil { + refRule = findRule(existingChain.Rules, *obj.Handle) + if refRule == -1 { + return nil, notFoundError("no rule with handle %d", *obj.Handle) + } + } else if obj.Index != nil { + if *obj.Index >= len(existingChain.Rules) { + return nil, notFoundError("no rule with index %d", *obj.Index) + } + refRule = *obj.Index + } + + if err := checkRuleRefs(obj, updatedTable); err != nil { + return nil, err + } + + switch op.verb { + case addVerb: + if refRule == -1 { + existingChain.Rules = append(existingChain.Rules, &rule) + } else { + existingChain.Rules = append(existingChain.Rules[:refRule+1], append([]*Rule{&rule}, existingChain.Rules[refRule+1:]...)...) + } + rule.Handle = PtrTo(fake.nextHandle) + case insertVerb: + if refRule == -1 { + existingChain.Rules = append([]*Rule{&rule}, existingChain.Rules...) + } else { + existingChain.Rules = append(existingChain.Rules[:refRule], append([]*Rule{&rule}, existingChain.Rules[refRule:]...)...) + } + rule.Handle = PtrTo(fake.nextHandle) + case replaceVerb: + existingChain.Rules[refRule] = &rule + default: + return nil, fmt.Errorf("unhandled operation %q", op.verb) + } + + case *Set: + existingSet := updatedTable.Sets[obj.Name] + err := checkExists(op.verb, "set", obj.Name, existingSet != nil) + if err != nil { + return nil, err + } + switch op.verb { + case addVerb, createVerb: + if existingSet != nil { + continue + } + set := *obj + set.Handle = PtrTo(fake.nextHandle) + updatedTable.Sets[obj.Name] = &FakeSet{ + Set: set, + } + case flushVerb: + existingSet.Elements = nil + case deleteVerb: + // FIXME delete-by-handle + delete(updatedTable.Sets, obj.Name) + default: + return nil, fmt.Errorf("unhandled operation %q", op.verb) + } + case *Map: + existingMap := updatedTable.Maps[obj.Name] + err := checkExists(op.verb, "map", obj.Name, existingMap != nil) + if err != nil { + return nil, err + } + switch op.verb { + case addVerb: + if existingMap != nil { + continue + } + mapObj := *obj + mapObj.Handle = PtrTo(fake.nextHandle) + updatedTable.Maps[obj.Name] = &FakeMap{ + Map: mapObj, + } + case flushVerb: + existingMap.Elements = nil + case deleteVerb: + // FIXME delete-by-handle + delete(updatedTable.Maps, obj.Name) + default: + return nil, fmt.Errorf("unhandled operation %q", op.verb) + } + case *Element: + if obj.Set != "" { + existingSet := updatedTable.Sets[obj.Set] + if existingSet == nil { + return nil, notFoundError("no such set %q", obj.Set) + } + switch op.verb { + case addVerb, createVerb: + element := *obj + if i := findElement(existingSet.Elements, element.Key); i != -1 { + if op.verb == createVerb { + return nil, existsError("element %q already exists", strings.Join(element.Key, " . ")) + } + existingSet.Elements[i] = &element + } else { + existingSet.Elements = append(existingSet.Elements, &element) + } + case deleteVerb: + element := *obj + if i := findElement(existingSet.Elements, element.Key); i != -1 { + existingSet.Elements = append(existingSet.Elements[:i], existingSet.Elements[i+1:]...) + } else { + return nil, notFoundError("no such element %q", strings.Join(element.Key, " . ")) + } + default: + return nil, fmt.Errorf("unhandled operation %q", op.verb) + } + } else { + existingMap := updatedTable.Maps[obj.Map] + if existingMap == nil { + return nil, notFoundError("no such map %q", obj.Map) + } + if err := checkElementRefs(obj, updatedTable); err != nil { + return nil, err + } + switch op.verb { + case addVerb, createVerb: + element := *obj + if i := findElement(existingMap.Elements, element.Key); i != -1 { + if op.verb == createVerb { + return nil, existsError("element %q already exists", strings.Join(element.Key, ". ")) + } + existingMap.Elements[i] = &element + } else { + existingMap.Elements = append(existingMap.Elements, &element) + } + case deleteVerb: + element := *obj + if i := findElement(existingMap.Elements, element.Key); i != -1 { + existingMap.Elements = append(existingMap.Elements[:i], existingMap.Elements[i+1:]...) + } else { + return nil, notFoundError("no such element %q", strings.Join(element.Key, " . ")) + } + default: + return nil, fmt.Errorf("unhandled operation %q", op.verb) + } + } + default: + return nil, fmt.Errorf("unhandled object type %T", op.obj) + } + } + + return updatedTable, nil +} + +func checkExists(verb verb, objectType, name string, exists bool) error { + switch verb { + case addVerb: + // It's fine if the object either exists or doesn't + return nil + case createVerb: + if exists { + return existsError("%s %q already exists", objectType, name) + } + default: + if !exists { + return notFoundError("no such %s %q", objectType, name) + } + } + return nil +} + +// checkRuleRefs checks for chains, sets, and maps referenced by rule in table +func checkRuleRefs(rule *Rule, table *FakeTable) error { + words := strings.Split(rule.Rule, " ") + for i, word := range words { + if strings.HasPrefix(word, "@") { + name := word[1:] + if i > 0 && (words[i-1] == "map" || words[i-1] == "vmap") { + if table.Maps[name] == nil { + return notFoundError("no such map %q", name) + } + } else if i > 0 && words[i-1] == "offload" { + if table.Flowtables[name] == nil { + return notFoundError("no such flowtable %q", name) + } + } else { + // recent nft lets you use a map in a set lookup + if table.Sets[name] == nil && table.Maps[name] == nil { + return notFoundError("no such set %q", name) + } + } + } else if (word == "goto" || word == "jump") && i < len(words)-1 { + name := words[i+1] + if table.Chains[name] == nil { + return notFoundError("no such chain %q", name) + } + } + } + return nil +} + +// checkElementRefs checks for chains referenced by an element +func checkElementRefs(element *Element, table *FakeTable) error { + if len(element.Value) != 1 { + return nil + } + words := strings.Split(element.Value[0], " ") + if len(words) == 2 && (words[0] == "goto" || words[0] == "jump") { + name := words[1] + if table.Chains[name] == nil { + return notFoundError("no such chain %q", name) + } + } + return nil +} + +// Dump dumps the current contents of fake, in a way that looks like an nft transaction. +func (fake *Fake) Dump() string { + fake.RLock() + defer fake.RUnlock() + if fake.Table == nil { + return "" + } + + buf := &strings.Builder{} + + table := fake.Table + flowtables := sortKeys(table.Flowtables) + chains := sortKeys(table.Chains) + sets := sortKeys(table.Sets) + maps := sortKeys(table.Maps) + + // Write out all of the object adds first. + + table.writeOperation(addVerb, &fake.nftContext, buf) + for _, fname := range flowtables { + ft := table.Flowtables[fname] + ft.writeOperation(addVerb, &fake.nftContext, buf) + } + for _, cname := range chains { + ch := table.Chains[cname] + ch.writeOperation(addVerb, &fake.nftContext, buf) + } + for _, sname := range sets { + s := table.Sets[sname] + s.writeOperation(addVerb, &fake.nftContext, buf) + } + for _, mname := range maps { + m := table.Maps[mname] + m.writeOperation(addVerb, &fake.nftContext, buf) + } + + // Now write their contents. + + for _, cname := range chains { + ch := table.Chains[cname] + for _, rule := range ch.Rules { + // Avoid outputing handles + dumpRule := *rule + dumpRule.Handle = nil + dumpRule.Index = nil + dumpRule.writeOperation(addVerb, &fake.nftContext, buf) + } + } + for _, sname := range sets { + s := table.Sets[sname] + for _, element := range s.Elements { + element.writeOperation(addVerb, &fake.nftContext, buf) + } + } + for _, mname := range maps { + m := table.Maps[mname] + for _, element := range m.Elements { + element.writeOperation(addVerb, &fake.nftContext, buf) + } + } + + return buf.String() +} + +// ParseDump can parse a dump for a given nft instance. +// It expects fake's table name and family in all rules. +// The best way to verify that everything important was properly parsed is to +// compare given data with nft.Dump() output. +func (fake *Fake) ParseDump(data string) (err error) { + lines := strings.Split(data, "\n") + var i int + var line string + parsingDone := false + defer func() { + if err != nil && !parsingDone { + err = fmt.Errorf("%w (at line %v: %s", err, i+1, line) + } + }() + tx := fake.NewTransaction() + commonRegexp := regexp.MustCompile(fmt.Sprintf(`add ([^ ]*) %s %s( (.*))?`, fake.family, fake.table)) + + for i, line = range lines { + line = strings.TrimSpace(line) + if line == "" || line[0] == '#' { + continue + } + match := commonRegexp.FindStringSubmatch(line) + if match == nil { + return fmt.Errorf("could not parse, or wrong table/family") + } + var obj Object + switch match[1] { + case "table": + obj = &Table{} + case "flowtable": + obj = &Flowtable{} + case "chain": + obj = &Chain{} + case "rule": + obj = &Rule{} + case "map": + obj = &Map{} + case "set": + obj = &Set{} + case "element": + obj = &Element{} + default: + return fmt.Errorf("unknown object %s", match[1]) + } + err = obj.parse(match[3]) + if err != nil { + return err + } + tx.Add(obj) + } + parsingDone = true + return fake.Run(context.Background(), tx) +} + +func sortKeys[K ~string, V any](m map[K]V) []K { + keys := make([]K, 0, len(m)) + for key := range m { + keys = append(keys, key) + } + sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] }) + return keys +} + +func findRule(rules []*Rule, handle int) int { + for i := range rules { + if rules[i].Handle != nil && *rules[i].Handle == handle { + return i + } + } + return -1 +} + +func findElement(elements []*Element, key []string) int { + for i := range elements { + if reflect.DeepEqual(elements[i].Key, key) { + return i + } + } + return -1 +} + +// copy creates a copy of table with new arrays/maps so we can perform a transaction +// on it without changing the original table. +func (table *FakeTable) copy() *FakeTable { + if table == nil { + return nil + } + + tcopy := &FakeTable{ + Table: table.Table, + Flowtables: make(map[string]*FakeFlowtable), + Chains: make(map[string]*FakeChain), + Sets: make(map[string]*FakeSet), + Maps: make(map[string]*FakeMap), + } + for name, flowtable := range table.Flowtables { + tcopy.Flowtables[name] = &FakeFlowtable{ + Flowtable: flowtable.Flowtable, + } + } + for name, chain := range table.Chains { + tcopy.Chains[name] = &FakeChain{ + Chain: chain.Chain, + Rules: append([]*Rule{}, chain.Rules...), + } + } + for name, set := range table.Sets { + tcopy.Sets[name] = &FakeSet{ + Set: set.Set, + Elements: append([]*Element{}, set.Elements...), + } + } + for name, mapObj := range table.Maps { + tcopy.Maps[name] = &FakeMap{ + Map: mapObj.Map, + Elements: append([]*Element{}, mapObj.Elements...), + } + } + + return tcopy +} + +// FindElement finds an element of the set with the given key. If there is no matching +// element, it returns nil. +func (s *FakeSet) FindElement(key ...string) *Element { + index := findElement(s.Elements, key) + if index == -1 { + return nil + } + return s.Elements[index] +} + +// FindElement finds an element of the map with the given key. If there is no matching +// element, it returns nil. +func (m *FakeMap) FindElement(key ...string) *Element { + index := findElement(m.Elements, key) + if index == -1 { + return nil + } + return m.Elements[index] +} diff --git a/vendor/sigs.k8s.io/knftables/nftables.go b/vendor/sigs.k8s.io/knftables/nftables.go new file mode 100644 index 000000000..8cb343806 --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/nftables.go @@ -0,0 +1,514 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knftables + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "os/exec" + "strings" + "sync" +) + +// Interface is an interface for running nftables commands against a given family and table. +type Interface interface { + // NewTransaction returns a new (empty) Transaction + NewTransaction() *Transaction + + // Run runs a Transaction and returns the result. The IsNotFound and + // IsAlreadyExists methods can be used to test the result. + Run(ctx context.Context, tx *Transaction) error + + // Check does a dry-run of a Transaction (as with `nft --check`) and returns the + // result. The IsNotFound and IsAlreadyExists methods can be used to test the + // result. + Check(ctx context.Context, tx *Transaction) error + + // List returns a list of the names of the objects of objectType ("chain", "set", + // or "map") in the table. If there are no such objects, this will return an empty + // list and no error. + List(ctx context.Context, objectType string) ([]string, error) + + // ListRules returns a list of the rules in a chain, in order. If no chain name is + // specified, then all rules within the table will be returned. Note that at the + // present time, the Rule objects will have their `Comment` and `Handle` fields + // filled in, but *not* the actual `Rule` field. So this can only be used to find + // the handles of rules if they have unique comments to recognize them by, or if + // you know the order of the rules within the chain. If the chain exists but + // contains no rules, this will return an empty list and no error. + ListRules(ctx context.Context, chain string) ([]*Rule, error) + + // ListElements returns a list of the elements in a set or map. (objectType should + // be "set" or "map".) If the set/map exists but contains no elements, this will + // return an empty list and no error. + ListElements(ctx context.Context, objectType, name string) ([]*Element, error) +} + +type nftContext struct { + family Family + table string + + // noObjectComments is true if comments on Table/Chain/Set/Map are not supported. + // (Comments on Rule and Element are always supported.) + noObjectComments bool +} + +// realNFTables is an implementation of Interface +type realNFTables struct { + nftContext + + bufferMutex sync.Mutex + buffer *bytes.Buffer + + exec execer + path string +} + +// newInternal creates a new nftables.Interface for interacting with the given table; this +// is split out from New() so it can be used from unit tests with a fakeExec. +func newInternal(family Family, table string, execer execer) (Interface, error) { + var err error + + nft := &realNFTables{ + nftContext: nftContext{ + family: family, + table: table, + }, + buffer: &bytes.Buffer{}, + exec: execer, + } + + nft.path, err = nft.exec.LookPath("nft") + if err != nil { + return nil, fmt.Errorf("could not find nftables binary: %w", err) + } + + cmd := exec.Command(nft.path, "--version") + out, err := nft.exec.Run(cmd) + if err != nil { + return nil, fmt.Errorf("could not run nftables command: %w", err) + } + if strings.HasPrefix(out, "nftables v0.") || strings.HasPrefix(out, "nftables v1.0.0 ") { + return nil, fmt.Errorf("nft version must be v1.0.1 or later (got %s)", strings.TrimSpace(out)) + } + + // Check that (a) nft works, (b) we have permission, (c) the kernel is new enough + // to support object comments. + tx := nft.NewTransaction() + tx.Add(&Table{ + Comment: PtrTo("test"), + }) + if err := nft.Check(context.TODO(), tx); err != nil { + // Try again, checking just that (a) nft works, (b) we have permission. + tx := nft.NewTransaction() + tx.Add(&Table{}) + if err := nft.Check(context.TODO(), tx); err != nil { + return nil, fmt.Errorf("could not run nftables command: %w", err) + } + + nft.noObjectComments = true + } + + return nft, nil +} + +// New creates a new nftables.Interface for interacting with the given table. If nftables +// is not available/usable on the current host, it will return an error. +func New(family Family, table string) (Interface, error) { + return newInternal(family, table, realExec{}) +} + +// NewTransaction is part of Interface +func (nft *realNFTables) NewTransaction() *Transaction { + return &Transaction{nftContext: &nft.nftContext} +} + +// Run is part of Interface +func (nft *realNFTables) Run(ctx context.Context, tx *Transaction) error { + nft.bufferMutex.Lock() + defer nft.bufferMutex.Unlock() + + if tx.err != nil { + return tx.err + } + + nft.buffer.Reset() + err := tx.populateCommandBuf(nft.buffer) + if err != nil { + return err + } + + cmd := exec.CommandContext(ctx, nft.path, "-f", "-") + cmd.Stdin = nft.buffer + _, err = nft.exec.Run(cmd) + return err +} + +// Check is part of Interface +func (nft *realNFTables) Check(ctx context.Context, tx *Transaction) error { + nft.bufferMutex.Lock() + defer nft.bufferMutex.Unlock() + + if tx.err != nil { + return tx.err + } + + nft.buffer.Reset() + err := tx.populateCommandBuf(nft.buffer) + if err != nil { + return err + } + + cmd := exec.CommandContext(ctx, nft.path, "--check", "-f", "-") + cmd.Stdin = nft.buffer + _, err = nft.exec.Run(cmd) + return err +} + +// jsonVal looks up key in json; if it exists and is of type T, it returns (json[key], true). +// Otherwise it returns (_, false). +func jsonVal[T any](json map[string]interface{}, key string) (T, bool) { + if ifVal, exists := json[key]; exists { + tVal, ok := ifVal.(T) + return tVal, ok + } + var zero T + return zero, false +} + +// getJSONObjects takes the output of "nft -j list", validates it, and returns an array +// of just the objects of objectType. +func getJSONObjects(listOutput, objectType string) ([]map[string]interface{}, error) { + // listOutput should contain JSON looking like: + // + // { + // "nftables": [ + // { + // "metainfo": { + // "json_schema_version": 1, + // ... + // } + // }, + // { + // "chain": { + // "family": "ip", + // "table": "kube-proxy", + // "name": "KUBE-SERVICES", + // "handle": 3 + // } + // }, + // { + // "chain": { + // "family": "ip", + // "table": "kube-proxy", + // "name": "KUBE-NODEPORTS", + // "handle": 4 + // } + // }, + // ... + // ] + // } + // + // In this case, given objectType "chain", we would return + // + // [ + // { + // "family": "ip", + // "table": "kube-proxy", + // "name": "KUBE-SERVICES", + // "handle": 3 + // }, + // { + // "family": "ip", + // "table": "kube-proxy", + // "name": "KUBE-NODEPORTS", + // "handle": 4 + // }, + // ... + // ] + + jsonResult := map[string][]map[string]map[string]interface{}{} + if err := json.Unmarshal([]byte(listOutput), &jsonResult); err != nil { + return nil, fmt.Errorf("could not parse nft output: %w", err) + } + + nftablesResult := jsonResult["nftables"] + if len(nftablesResult) == 0 { + return nil, fmt.Errorf("could not find result in nft output %q", listOutput) + } + metainfo := nftablesResult[0]["metainfo"] + if metainfo == nil { + return nil, fmt.Errorf("could not find metadata in nft output %q", listOutput) + } + // json_schema_version is an integer but `json.Unmarshal()` will have parsed it as + // a float64 since we didn't tell it otherwise. + if version, ok := jsonVal[float64](metainfo, "json_schema_version"); !ok || version != 1.0 { + return nil, fmt.Errorf("could not find supported json_schema_version in nft output %q", listOutput) + } + + var objects []map[string]interface{} + for _, objContainer := range nftablesResult { + obj := objContainer[objectType] + if obj != nil { + objects = append(objects, obj) + } + } + return objects, nil +} + +// List is part of Interface. +func (nft *realNFTables) List(ctx context.Context, objectType string) ([]string, error) { + // All currently-existing nftables object types have plural forms that are just + // the singular form plus 's'. + var typeSingular, typePlural string + if objectType[len(objectType)-1] == 's' { + typeSingular = objectType[:len(objectType)-1] + typePlural = objectType + } else { + typeSingular = objectType + typePlural = objectType + "s" + } + + cmd := exec.CommandContext(ctx, nft.path, "--json", "list", typePlural, string(nft.family)) + out, err := nft.exec.Run(cmd) + if err != nil { + return nil, fmt.Errorf("failed to run nft: %w", err) + } + + objects, err := getJSONObjects(out, typeSingular) + if err != nil { + return nil, err + } + + var result []string + for _, obj := range objects { + objTable, _ := jsonVal[string](obj, "table") + if objTable != nft.table { + continue + } + + if name, ok := jsonVal[string](obj, "name"); ok { + result = append(result, name) + } + } + return result, nil +} + +// ListRules is part of Interface +func (nft *realNFTables) ListRules(ctx context.Context, chain string) ([]*Rule, error) { + // If no chain is given, return all rules from within the table. + var cmd *exec.Cmd + if chain == "" { + cmd = exec.CommandContext(ctx, nft.path, "--json", "list", "table", string(nft.family), nft.table) + } else { + cmd = exec.CommandContext(ctx, nft.path, "--json", "list", "chain", string(nft.family), nft.table, chain) + } + out, err := nft.exec.Run(cmd) + if err != nil { + return nil, fmt.Errorf("failed to run nft: %w", err) + } + + jsonRules, err := getJSONObjects(out, "rule") + if err != nil { + return nil, fmt.Errorf("unable to parse JSON output: %w", err) + } + + rules := make([]*Rule, 0, len(jsonRules)) + for _, jsonRule := range jsonRules { + parentChain, ok := jsonVal[string](jsonRule, "chain") + if !ok { + return nil, fmt.Errorf("unexpected JSON output from nft (rule with no chain)") + } + rule := &Rule{ + Chain: parentChain, + } + + // handle is written as an integer in nft's output, but json.Unmarshal + // will have parsed it as a float64. (Handles are uint64s, but they are + // assigned consecutively starting from 1, so as long as fewer than 2**53 + // nftables objects have been created since boot time, we won't run into + // float64-vs-uint64 precision issues.) + if handle, ok := jsonVal[float64](jsonRule, "handle"); ok { + rule.Handle = PtrTo(int(handle)) + } + if comment, ok := jsonVal[string](jsonRule, "comment"); ok { + rule.Comment = &comment + } + + rules = append(rules, rule) + } + return rules, nil +} + +// ListElements is part of Interface +func (nft *realNFTables) ListElements(ctx context.Context, objectType, name string) ([]*Element, error) { + cmd := exec.CommandContext(ctx, nft.path, "--json", "list", objectType, string(nft.family), nft.table, name) + out, err := nft.exec.Run(cmd) + if err != nil { + return nil, fmt.Errorf("failed to run nft: %w", err) + } + + jsonSetsOrMaps, err := getJSONObjects(out, objectType) + if err != nil { + return nil, fmt.Errorf("unable to parse JSON output: %w", err) + } + if len(jsonSetsOrMaps) != 1 { + return nil, fmt.Errorf("unexpected JSON output from nft (multiple results)") + } + + jsonElements, _ := jsonVal[[]interface{}](jsonSetsOrMaps[0], "elem") + elements := make([]*Element, 0, len(jsonElements)) + for _, jsonElement := range jsonElements { + var key, value interface{} + + elem := &Element{} + if objectType == "set" { + elem.Set = name + key = jsonElement + } else { + elem.Map = name + tuple, ok := jsonElement.([]interface{}) + if !ok || len(tuple) != 2 { + return nil, fmt.Errorf("unexpected JSON output from nft (elem is not [key,val]: %q)", jsonElement) + } + key, value = tuple[0], tuple[1] + } + + // If the element has a comment, then key will be a compound object like: + // + // { + // "elem": { + // "val": "192.168.0.1", + // "comment": "this is a comment" + // } + // } + // + // (Where "val" contains the value that key would have held if there was no + // comment.) + if obj, ok := key.(map[string]interface{}); ok { + if compoundElem, ok := jsonVal[map[string]interface{}](obj, "elem"); ok { + if key, ok = jsonVal[interface{}](compoundElem, "val"); !ok { + return nil, fmt.Errorf("unexpected JSON output from nft (elem with no val: %q)", jsonElement) + } + if comment, ok := jsonVal[string](compoundElem, "comment"); ok { + elem.Comment = &comment + } + } + } + + elem.Key, err = parseElementValue(key) + if err != nil { + return nil, err + } + if value != nil { + elem.Value, err = parseElementValue(value) + if err != nil { + return nil, err + } + } + + elements = append(elements, elem) + } + return elements, nil +} + +// parseElementValue parses a JSON element key/value, handling concatenations, prefixes, and +// converting numeric or "verdict" values to strings. +func parseElementValue(json interface{}) ([]string, error) { + // json can be: + // + // - a single string, e.g. "192.168.1.3" + // + // - a single number, e.g. 80 + // + // - a prefix, expressed as an object: + // { + // "prefix": { + // "addr": "192.168.0.0", + // "len": 16, + // } + // } + // + // - a concatenation, expressed as an object containing an array of simple + // values: + // { + // "concat": [ + // "192.168.1.3", + // "tcp", + // 80 + // ] + // } + // + // - a verdict (for a vmap value), expressed as an object: + // { + // "drop": null + // } + // + // { + // "goto": { + // "target": "destchain" + // } + // } + + switch val := json.(type) { + case string: + return []string{val}, nil + case float64: + return []string{fmt.Sprintf("%d", int(val))}, nil + case map[string]interface{}: + if concat, _ := jsonVal[[]interface{}](val, "concat"); concat != nil { + vals := make([]string, len(concat)) + for i := range concat { + if str, ok := concat[i].(string); ok { + vals[i] = str + } else if num, ok := concat[i].(float64); ok { + vals[i] = fmt.Sprintf("%d", int(num)) + } else { + return nil, fmt.Errorf("could not parse element value %q", concat[i]) + } + } + return vals, nil + } else if prefix, _ := jsonVal[map[string]interface{}](val, "prefix"); prefix != nil { + // For prefix-type elements, return the element in CIDR representation. + addr, ok := jsonVal[string](prefix, "addr") + if !ok { + return nil, fmt.Errorf("could not parse 'addr' value as string: %q", prefix) + } + length, ok := jsonVal[float64](prefix, "len") + if !ok { + return nil, fmt.Errorf("could not parse 'len' value as number: %q", prefix) + } + return []string{fmt.Sprintf("%s/%d", addr, int(length))}, nil + } else if len(val) == 1 { + var verdict string + // We just checked that len(val) == 1, so this loop body will only + // run once + for k, v := range val { + if v == nil { + verdict = k + } else if target, ok := v.(map[string]interface{}); ok { + verdict = fmt.Sprintf("%s %s", k, target["target"]) + } + } + return []string{verdict}, nil + } + } + + return nil, fmt.Errorf("could not parse element value %q", json) +} diff --git a/vendor/sigs.k8s.io/knftables/objects.go b/vendor/sigs.k8s.io/knftables/objects.go new file mode 100644 index 000000000..ed11db29f --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/objects.go @@ -0,0 +1,658 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knftables + +import ( + "fmt" + "io" + "regexp" + "strconv" + "strings" + "time" +) + +func parseInt(numbersOnly string) *int { + i64, _ := strconv.ParseInt(numbersOnly, 10, 64) + i := int(i64) + return &i +} + +func parseUint(numbersOnly string) *uint64 { + ui64, _ := strconv.ParseUint(numbersOnly, 10, 64) + return &ui64 +} + +// getComment parses a match for the commentGroup regexp (below). To distinguish between empty comment and no comment, +// we capture comment with double quotes. +func getComment(commentGroup string) *string { + if commentGroup == "" { + return nil + } + noQuotes := strings.Trim(commentGroup, "\"") + return &noQuotes +} + +var commentGroup = `(".*")` +var noSpaceGroup = `([^ ]*)` +var numberGroup = `([0-9]*)` + +// Object implementation for Table +func (table *Table) validate(verb verb) error { + switch verb { + case addVerb, createVerb, flushVerb: + if table.Handle != nil { + return fmt.Errorf("cannot specify Handle in %s operation", verb) + } + case deleteVerb: + // Handle can be nil or non-nil + default: + return fmt.Errorf("%s is not implemented for tables", verb) + } + + return nil +} + +func (table *Table) writeOperation(verb verb, ctx *nftContext, writer io.Writer) { + // Special case for delete-by-handle + if verb == deleteVerb && table.Handle != nil { + fmt.Fprintf(writer, "delete table %s handle %d", ctx.family, *table.Handle) + return + } + + // All other cases refer to the table by name + fmt.Fprintf(writer, "%s table %s %s", verb, ctx.family, ctx.table) + if verb == addVerb || verb == createVerb { + if table.Comment != nil && !ctx.noObjectComments { + fmt.Fprintf(writer, " { comment %q ; }", *table.Comment) + } + } + fmt.Fprintf(writer, "\n") +} + +var tableRegexp = regexp.MustCompile(fmt.Sprintf( + `(?:{ comment %s ; })?`, commentGroup)) + +func (table *Table) parse(line string) error { + match := tableRegexp.FindStringSubmatch(line) + if match == nil { + return fmt.Errorf("failed parsing table add command") + } + table.Comment = getComment(match[1]) + return nil +} + +// Object implementation for Chain +func (chain *Chain) validate(verb verb) error { + if chain.Hook == nil { + if chain.Type != nil || chain.Priority != nil { + return fmt.Errorf("regular chain %q must not specify Type or Priority", chain.Name) + } + if chain.Device != nil { + return fmt.Errorf("regular chain %q must not specify Device", chain.Name) + } + } else { + if chain.Type == nil || chain.Priority == nil { + return fmt.Errorf("base chain %q must specify Type and Priority", chain.Name) + } + } + + switch verb { + case addVerb, createVerb, flushVerb: + if chain.Name == "" { + return fmt.Errorf("no name specified for chain") + } + if chain.Handle != nil { + return fmt.Errorf("cannot specify Handle in %s operation", verb) + } + case deleteVerb: + if chain.Name == "" && chain.Handle == nil { + return fmt.Errorf("must specify either name or handle") + } + default: + return fmt.Errorf("%s is not implemented for chains", verb) + } + + return nil +} + +func (chain *Chain) writeOperation(verb verb, ctx *nftContext, writer io.Writer) { + // Special case for delete-by-handle + if verb == deleteVerb && chain.Handle != nil { + fmt.Fprintf(writer, "delete chain %s %s handle %d", ctx.family, ctx.table, *chain.Handle) + return + } + + fmt.Fprintf(writer, "%s chain %s %s %s", verb, ctx.family, ctx.table, chain.Name) + if verb == addVerb || verb == createVerb { + if chain.Type != nil || (chain.Comment != nil && !ctx.noObjectComments) { + fmt.Fprintf(writer, " {") + + if chain.Type != nil { + fmt.Fprintf(writer, " type %s hook %s", *chain.Type, *chain.Hook) + if chain.Device != nil { + fmt.Fprintf(writer, " device %q", *chain.Device) + } + + // Parse the priority to a number if we can, because older + // versions of nft don't accept certain named priorities + // in all contexts (eg, "dstnat" priority in the "output" + // hook). + if priority, err := ParsePriority(ctx.family, string(*chain.Priority)); err == nil { + fmt.Fprintf(writer, " priority %d ;", priority) + } else { + fmt.Fprintf(writer, " priority %s ;", *chain.Priority) + } + } + if chain.Comment != nil && !ctx.noObjectComments { + fmt.Fprintf(writer, " comment %q ;", *chain.Comment) + } + + fmt.Fprintf(writer, " }") + } + } + + fmt.Fprintf(writer, "\n") +} + +// groups in []: [1]%s(?: {(?: type [2]%s hook [3]%s(?: device "[4]%s")(?: priority [5]%s ;))(?: comment [6]%s ;) }) +var chainRegexp = regexp.MustCompile(fmt.Sprintf( + `%s(?: {(?: type %s hook %s(?: device "%s")?(?: priority %s ;))?(?: comment %s ;)? })?`, + noSpaceGroup, noSpaceGroup, noSpaceGroup, noSpaceGroup, noSpaceGroup, commentGroup)) + +func (chain *Chain) parse(line string) error { + match := chainRegexp.FindStringSubmatch(line) + if match == nil { + return fmt.Errorf("failed parsing chain add command") + } + chain.Name = match[1] + chain.Comment = getComment(match[6]) + if match[2] != "" { + chain.Type = (*BaseChainType)(&match[2]) + } + if match[3] != "" { + chain.Hook = (*BaseChainHook)(&match[3]) + } + if match[4] != "" { + chain.Device = &match[4] + } + if match[5] != "" { + chain.Priority = (*BaseChainPriority)(&match[5]) + } + return nil +} + +// Object implementation for Rule +func (rule *Rule) validate(verb verb) error { + if rule.Chain == "" { + return fmt.Errorf("no chain name specified for rule") + } + + if rule.Index != nil && rule.Handle != nil { + return fmt.Errorf("cannot specify both Index and Handle") + } + + switch verb { + case addVerb, insertVerb: + if rule.Rule == "" { + return fmt.Errorf("no rule specified") + } + case replaceVerb: + if rule.Rule == "" { + return fmt.Errorf("no rule specified") + } + if rule.Handle == nil { + return fmt.Errorf("must specify Handle with %s", verb) + } + case deleteVerb: + if rule.Handle == nil { + return fmt.Errorf("must specify Handle with %s", verb) + } + default: + return fmt.Errorf("%s is not implemented for rules", verb) + } + + return nil +} + +func (rule *Rule) writeOperation(verb verb, ctx *nftContext, writer io.Writer) { + fmt.Fprintf(writer, "%s rule %s %s %s", verb, ctx.family, ctx.table, rule.Chain) + if rule.Index != nil { + fmt.Fprintf(writer, " index %d", *rule.Index) + } else if rule.Handle != nil { + fmt.Fprintf(writer, " handle %d", *rule.Handle) + } + + switch verb { + case addVerb, insertVerb, replaceVerb: + fmt.Fprintf(writer, " %s", rule.Rule) + + if rule.Comment != nil { + fmt.Fprintf(writer, " comment %q", *rule.Comment) + } + } + + fmt.Fprintf(writer, "\n") +} + +// groups in []: [1]%s(?: index [2]%s)?(?: handle [3]%s)? [4]([^"]*)(?: comment [5]%s)?$ +var ruleRegexp = regexp.MustCompile(fmt.Sprintf( + `%s(?: index %s)?(?: handle %s)? ([^"]*)(?: comment %s)?$`, + noSpaceGroup, numberGroup, numberGroup, commentGroup)) + +func (rule *Rule) parse(line string) error { + match := ruleRegexp.FindStringSubmatch(line) + if match == nil { + return fmt.Errorf("failed parsing rule add command") + } + rule.Chain = match[1] + rule.Rule = match[4] + rule.Comment = getComment(match[5]) + if match[2] != "" { + rule.Index = parseInt(match[2]) + } + if match[3] != "" { + rule.Handle = parseInt(match[3]) + } + return nil +} + +// Object implementation for Set +func (set *Set) validate(verb verb) error { + switch verb { + case addVerb, createVerb: + if (set.Type == "" && set.TypeOf == "") || (set.Type != "" && set.TypeOf != "") { + return fmt.Errorf("set must specify either Type or TypeOf") + } + if set.Handle != nil { + return fmt.Errorf("cannot specify Handle in %s operation", verb) + } + fallthrough + case flushVerb: + if set.Name == "" { + return fmt.Errorf("no name specified for set") + } + case deleteVerb: + if set.Name == "" && set.Handle == nil { + return fmt.Errorf("must specify either name or handle") + } + default: + return fmt.Errorf("%s is not implemented for sets", verb) + } + + return nil +} + +func (set *Set) writeOperation(verb verb, ctx *nftContext, writer io.Writer) { + // Special case for delete-by-handle + if verb == deleteVerb && set.Handle != nil { + fmt.Fprintf(writer, "delete set %s %s handle %d", ctx.family, ctx.table, *set.Handle) + return + } + + fmt.Fprintf(writer, "%s set %s %s %s", verb, ctx.family, ctx.table, set.Name) + if verb == addVerb || verb == createVerb { + fmt.Fprintf(writer, " {") + + if set.Type != "" { + fmt.Fprintf(writer, " type %s ;", set.Type) + } else { + fmt.Fprintf(writer, " typeof %s ;", set.TypeOf) + } + + if len(set.Flags) != 0 { + fmt.Fprintf(writer, " flags ") + for i := range set.Flags { + if i > 0 { + fmt.Fprintf(writer, ",") + } + fmt.Fprintf(writer, "%s", set.Flags[i]) + } + fmt.Fprintf(writer, " ;") + } + + if set.Timeout != nil { + fmt.Fprintf(writer, " timeout %ds ;", int64(set.Timeout.Seconds())) + } + if set.GCInterval != nil { + fmt.Fprintf(writer, " gc-interval %ds ;", int64(set.GCInterval.Seconds())) + } + if set.Size != nil { + fmt.Fprintf(writer, " size %d ;", *set.Size) + } + if set.Policy != nil { + fmt.Fprintf(writer, " policy %s ;", *set.Policy) + } + if set.AutoMerge != nil && *set.AutoMerge { + fmt.Fprintf(writer, " auto-merge ;") + } + + if set.Comment != nil && !ctx.noObjectComments { + fmt.Fprintf(writer, " comment %q ;", *set.Comment) + } + + fmt.Fprintf(writer, " }") + } + + fmt.Fprintf(writer, "\n") +} + +func (set *Set) parse(line string) error { + match := setRegexp.FindStringSubmatch(line) + if match == nil { + return fmt.Errorf("failed parsing set add command") + } + set.Name, set.Type, set.TypeOf, set.Flags, set.Timeout, set.GCInterval, + set.Size, set.Policy, set.Comment, set.AutoMerge = parseMapAndSetProps(match) + return nil +} + +// Object implementation for Map +func (mapObj *Map) validate(verb verb) error { + switch verb { + case addVerb, createVerb: + if (mapObj.Type == "" && mapObj.TypeOf == "") || (mapObj.Type != "" && mapObj.TypeOf != "") { + return fmt.Errorf("map must specify either Type or TypeOf") + } + if mapObj.Handle != nil { + return fmt.Errorf("cannot specify Handle in %s operation", verb) + } + fallthrough + case flushVerb: + if mapObj.Name == "" { + return fmt.Errorf("no name specified for map") + } + case deleteVerb: + if mapObj.Name == "" && mapObj.Handle == nil { + return fmt.Errorf("must specify either name or handle") + } + default: + return fmt.Errorf("%s is not implemented for maps", verb) + } + + return nil +} + +func (mapObj *Map) writeOperation(verb verb, ctx *nftContext, writer io.Writer) { + // Special case for delete-by-handle + if verb == deleteVerb && mapObj.Handle != nil { + fmt.Fprintf(writer, "delete map %s %s handle %d", ctx.family, ctx.table, *mapObj.Handle) + return + } + + fmt.Fprintf(writer, "%s map %s %s %s", verb, ctx.family, ctx.table, mapObj.Name) + if verb == addVerb || verb == createVerb { + fmt.Fprintf(writer, " {") + + if mapObj.Type != "" { + fmt.Fprintf(writer, " type %s ;", mapObj.Type) + } else { + fmt.Fprintf(writer, " typeof %s ;", mapObj.TypeOf) + } + + if len(mapObj.Flags) != 0 { + fmt.Fprintf(writer, " flags ") + for i := range mapObj.Flags { + if i > 0 { + fmt.Fprintf(writer, ",") + } + fmt.Fprintf(writer, "%s", mapObj.Flags[i]) + } + fmt.Fprintf(writer, " ;") + } + + if mapObj.Timeout != nil { + fmt.Fprintf(writer, " timeout %ds ;", int64(mapObj.Timeout.Seconds())) + } + if mapObj.GCInterval != nil { + fmt.Fprintf(writer, " gc-interval %ds ;", int64(mapObj.GCInterval.Seconds())) + } + if mapObj.Size != nil { + fmt.Fprintf(writer, " size %d ;", *mapObj.Size) + } + if mapObj.Policy != nil { + fmt.Fprintf(writer, " policy %s ;", *mapObj.Policy) + } + + if mapObj.Comment != nil && !ctx.noObjectComments { + fmt.Fprintf(writer, " comment %q ;", *mapObj.Comment) + } + + fmt.Fprintf(writer, " }") + } + + fmt.Fprintf(writer, "\n") +} + +func (mapObj *Map) parse(line string) error { + match := mapRegexp.FindStringSubmatch(line) + if match == nil { + return fmt.Errorf("failed parsing map add command") + } + mapObj.Name, mapObj.Type, mapObj.TypeOf, mapObj.Flags, mapObj.Timeout, mapObj.GCInterval, + mapObj.Size, mapObj.Policy, mapObj.Comment, _ = parseMapAndSetProps(match) + return nil +} + +var autoMergeProp = `( auto-merge ;)?` + +// groups in []: [1]%s {(?: [2](type|typeof) [3]([^;]*)) ;(?: flags [4]([^;]*) ;)?(?: timeout [5]%ss ;)?(?: gc-interval [6]%ss ;)?(?: size [7]%s ;)?(?: policy [8]%s ;)?[9]%s(?: comment [10]%s ;)? } +var mapOrSet = `%s {(?: (type|typeof) ([^;]*)) ;(?: flags ([^;]*) ;)?(?: timeout %ss ;)?(?: gc-interval %ss ;)?(?: size %s ;)?(?: policy %s ;)?%s(?: comment %s ;)? }` +var mapRegexp = regexp.MustCompile(fmt.Sprintf(mapOrSet, noSpaceGroup, numberGroup, numberGroup, noSpaceGroup, noSpaceGroup, "", commentGroup)) +var setRegexp = regexp.MustCompile(fmt.Sprintf(mapOrSet, noSpaceGroup, numberGroup, numberGroup, noSpaceGroup, noSpaceGroup, autoMergeProp, commentGroup)) + +func parseMapAndSetProps(match []string) (name string, typeProp string, typeOf string, flags []SetFlag, + timeout *time.Duration, gcInterval *time.Duration, size *uint64, policy *SetPolicy, comment *string, autoMerge *bool) { + name = match[1] + // set and map have different number of match groups, but comment is always the last + comment = getComment(match[len(match)-1]) + if match[2] == "type" { + typeProp = match[3] + } else { + typeOf = match[3] + } + if match[4] != "" { + flags = parseSetFlags(match[4]) + } + if match[5] != "" { + timeoutObj, _ := time.ParseDuration(match[5] + "s") + timeout = &timeoutObj + } + if match[6] != "" { + gcIntervalObj, _ := time.ParseDuration(match[6] + "s") + gcInterval = &gcIntervalObj + } + if match[7] != "" { + size = parseUint(match[7]) + } + if match[8] != "" { + policy = (*SetPolicy)(&match[8]) + } + if len(match) > 10 { + // set + if match[9] != "" { + autoMergeObj := true + autoMerge = &autoMergeObj + } + } + return +} + +func parseSetFlags(s string) []SetFlag { + var res []SetFlag + for _, flag := range strings.Split(s, ",") { + res = append(res, SetFlag(flag)) + } + return res +} + +// Object implementation for Element +func (element *Element) validate(verb verb) error { + if element.Map == "" && element.Set == "" { + return fmt.Errorf("no set/map name specified for element") + } else if element.Set != "" && element.Map != "" { + return fmt.Errorf("element specifies both a set name and a map name") + } + + if len(element.Key) == 0 { + return fmt.Errorf("no key specified for element") + } + if element.Set != "" && len(element.Value) != 0 { + return fmt.Errorf("map value specified for set element") + } + + switch verb { + case addVerb, createVerb: + if element.Map != "" && len(element.Value) == 0 { + return fmt.Errorf("no map value specified for map element") + } + case deleteVerb: + default: + return fmt.Errorf("%s is not implemented for elements", verb) + } + + return nil +} + +func (element *Element) writeOperation(verb verb, ctx *nftContext, writer io.Writer) { + name := element.Set + if name == "" { + name = element.Map + } + + fmt.Fprintf(writer, "%s element %s %s %s { %s", verb, ctx.family, ctx.table, name, + strings.Join(element.Key, " . ")) + + if verb == addVerb || verb == createVerb { + if element.Comment != nil { + fmt.Fprintf(writer, " comment %q", *element.Comment) + } + + if len(element.Value) != 0 { + fmt.Fprintf(writer, " : %s", strings.Join(element.Value, " . ")) + } + } + + fmt.Fprintf(writer, " }\n") +} + +// groups in []: [1]%s { [2]([^:"]*)(?: comment [3]%s)? : [4](.*) } +var mapElementRegexp = regexp.MustCompile(fmt.Sprintf( + `%s { ([^"]*)(?: comment %s)? : (.*) }`, noSpaceGroup, commentGroup)) + +// groups in []: [1]%s { [2]([^:"]*)(?: comment [3]%s)? } +var setElementRegexp = regexp.MustCompile(fmt.Sprintf( + `%s { ([^"]*)(?: comment %s)? }`, noSpaceGroup, commentGroup)) + +func (element *Element) parse(line string) error { + // try to match map element first, since it has more groups, and if it matches, then we can be sure + // this is map element. + match := mapElementRegexp.FindStringSubmatch(line) + if match == nil { + match = setElementRegexp.FindStringSubmatch(line) + if match == nil { + return fmt.Errorf("failed parsing element add command") + } + } + element.Comment = getComment(match[3]) + mapOrSetName := match[1] + element.Key = append(element.Key, strings.Split(match[2], " . ")...) + if len(match) == 5 { + // map regex matched + element.Map = mapOrSetName + element.Value = append(element.Value, strings.Split(match[4], " . ")...) + } else { + element.Set = mapOrSetName + } + return nil +} + +// Object implementation for Flowtable +func (flowtable *Flowtable) validate(verb verb) error { + switch verb { + case addVerb, createVerb: + if flowtable.Name == "" { + return fmt.Errorf("no name specified for flowtable") + } + if flowtable.Handle != nil { + return fmt.Errorf("cannot specify Handle in %s operation", verb) + } + case deleteVerb: + if flowtable.Name == "" && flowtable.Handle == nil { + return fmt.Errorf("must specify either name or handle") + } + default: + return fmt.Errorf("%s is not implemented for flowtables", verb) + } + + return nil +} + +func (flowtable *Flowtable) writeOperation(verb verb, ctx *nftContext, writer io.Writer) { + // Special case for delete-by-handle + if verb == deleteVerb && flowtable.Handle != nil { + fmt.Fprintf(writer, "delete flowtable %s %s handle %d", ctx.family, ctx.table, *flowtable.Handle) + return + } + + fmt.Fprintf(writer, "%s flowtable %s %s %s", verb, ctx.family, ctx.table, flowtable.Name) + if verb == addVerb || verb == createVerb { + fmt.Fprintf(writer, " {") + + if flowtable.Priority != nil { + // since there is only one priority value allowed "filter" just use the value + // provided and not try to parse it. + fmt.Fprintf(writer, " hook ingress priority %s ;", *flowtable.Priority) + } + + if len(flowtable.Devices) > 0 { + fmt.Fprintf(writer, " devices = { %s } ;", strings.Join(flowtable.Devices, ", ")) + } + + fmt.Fprintf(writer, " }") + } + + fmt.Fprintf(writer, "\n") +} + +// nft add flowtable inet example_table example_flowtable { hook ingress priority filter ; devices = { eth0 }; } +var flowtableRegexp = regexp.MustCompile(fmt.Sprintf( + `%s(?: {(?: hook ingress priority %s ;)(?: devices = {(.*)} ;) })?`, + noSpaceGroup, noSpaceGroup)) + +func (flowtable *Flowtable) parse(line string) error { + match := flowtableRegexp.FindStringSubmatch(line) + if match == nil { + return fmt.Errorf("failed parsing flowtableRegexp add command") + } + flowtable.Name = match[1] + if match[2] != "" { + flowtable.Priority = (*FlowtableIngressPriority)(&match[2]) + } + // to avoid complex regular expressions the regex match everything between the brackets + // to match a single interface or a comma separated list of interfaces, and it is postprocessed + // here to remove the whitespaces. + if match[3] != "" { + devices := strings.Split(strings.TrimSpace(match[3]), ",") + for i := range devices { + devices[i] = strings.TrimSpace(devices[i]) + } + if len(devices) > 0 { + flowtable.Devices = devices + } + } + return nil +} diff --git a/vendor/sigs.k8s.io/knftables/transaction.go b/vendor/sigs.k8s.io/knftables/transaction.go new file mode 100644 index 000000000..3063637ad --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/transaction.go @@ -0,0 +1,141 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knftables + +import ( + "bytes" + "fmt" +) + +// Transaction represents an nftables transaction +type Transaction struct { + *nftContext + + operations []operation + err error +} + +// operation contains a single nftables operation (eg "add table", "flush chain") +type operation struct { + verb verb + obj Object +} + +// verb is used internally to represent the different "nft" verbs +type verb string + +const ( + addVerb verb = "add" + createVerb verb = "create" + insertVerb verb = "insert" + replaceVerb verb = "replace" + deleteVerb verb = "delete" + flushVerb verb = "flush" +) + +// populateCommandBuf populates the transaction as series of nft commands to the given bytes.Buffer. +func (tx *Transaction) populateCommandBuf(buf *bytes.Buffer) error { + if tx.err != nil { + return tx.err + } + + for _, op := range tx.operations { + op.obj.writeOperation(op.verb, tx.nftContext, buf) + } + return nil +} + +// String returns the transaction as a string containing the nft commands; if there is +// a pending error, it will be output as a comment at the end of the transaction. +func (tx *Transaction) String() string { + buf := &bytes.Buffer{} + for _, op := range tx.operations { + op.obj.writeOperation(op.verb, tx.nftContext, buf) + } + + if tx.err != nil { + fmt.Fprintf(buf, "# ERROR: %v", tx.err) + } + + return buf.String() +} + +// NumOperations returns the number of operations queued in the transaction. +func (tx *Transaction) NumOperations() int { + return len(tx.operations) +} + +func (tx *Transaction) operation(verb verb, obj Object) { + if tx.err != nil { + return + } + if tx.err = obj.validate(verb); tx.err != nil { + return + } + + tx.operations = append(tx.operations, operation{verb: verb, obj: obj}) +} + +// Add adds an "nft add" operation to tx, ensuring that obj exists by creating it if it +// did not already exist. (If obj is a Rule, it will be appended to the end of its chain, +// or else added after the Rule indicated by this rule's Index or Handle.) The Add() call +// always succeeds, but if obj is invalid, or inconsistent with the existing nftables +// state, then an error will be returned when the transaction is Run. +func (tx *Transaction) Add(obj Object) { + tx.operation(addVerb, obj) +} + +// Create adds an "nft create" operation to tx, creating obj, which must not already +// exist. (If obj is a Rule, it will be appended to the end of its chain, or else added +// after the Rule indicated by this rule's Index or Handle.) The Create() call always +// succeeds, but if obj is invalid, already exists, or is inconsistent with the existing +// nftables state, then an error will be returned when the transaction is Run. +func (tx *Transaction) Create(obj Object) { + tx.operation(createVerb, obj) +} + +// Insert adds an "nft insert" operation to tx, inserting obj (which must be a Rule) at +// the start of its chain, or before the other Rule indicated by this rule's Index or +// Handle. The Insert() call always succeeds, but if obj is invalid or is inconsistent +// with the existing nftables state, then an error will be returned when the transaction +// is Run. +func (tx *Transaction) Insert(obj Object) { + tx.operation(insertVerb, obj) +} + +// Replace adds an "nft replace" operation to tx, replacing an existing rule with obj +// (which must be a Rule). The Replace() call always succeeds, but if obj is invalid, does +// not contain the Handle of an existing rule, or is inconsistent with the existing +// nftables state, then an error will be returned when the transaction is Run. +func (tx *Transaction) Replace(obj Object) { + tx.operation(replaceVerb, obj) +} + +// Flush adds an "nft flush" operation to tx, clearing the contents of obj. The Flush() +// call always succeeds, but if obj does not exist (or does not support flushing) then an +// error will be returned when the transaction is Run. +func (tx *Transaction) Flush(obj Object) { + tx.operation(flushVerb, obj) +} + +// Delete adds an "nft delete" operation to tx, deleting obj. The Delete() call always +// succeeds, but if obj does not exist or cannot be deleted based on the information +// provided (eg, Handle is required but not set) then an error will be returned when the +// transaction is Run. +func (tx *Transaction) Delete(obj Object) { + tx.operation(deleteVerb, obj) +} diff --git a/vendor/sigs.k8s.io/knftables/types.go b/vendor/sigs.k8s.io/knftables/types.go new file mode 100644 index 000000000..1d0da2cbd --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/types.go @@ -0,0 +1,411 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knftables + +import ( + "io" + "time" +) + +const ( + // Maximum length of a table, chain, set, etc, name + NameLengthMax = 256 + + // Maximum length of a comment + CommentLengthMax = 128 +) + +// Object is the interface for an nftables object. All of the concrete object types +// implement this interface. +type Object interface { + // validate validates an object for an operation + validate(verb verb) error + + // writeOperation writes out an "nft" operation involving the object. It assumes + // that the object has been validated. + writeOperation(verb verb, ctx *nftContext, writer io.Writer) + + // parse is the opposite of writeOperation; it fills Object fields based on an "nft add" + // command. line is the part of the line after "nft add " + // (so for most types it starts with the object name). + // If error is returned, Object's fields may be partially filled, therefore Object should not be used. + parse(line string) error +} + +// Family is an nftables family +type Family string + +const ( + // IPv4Family represents the "ip" nftables family, for IPv4 rules. + IPv4Family Family = "ip" + + // IPv6Family represents the "ip6" nftables family, for IPv6 rules. + IPv6Family Family = "ip6" + + // InetFamily represents the "inet" nftables family, for mixed IPv4 and IPv6 rules. + InetFamily Family = "inet" + + // ARPFamily represents the "arp" nftables family, for ARP rules. + ARPFamily Family = "arp" + + // BridgeFamily represents the "bridge" nftables family, for rules operating + // on packets traversing a bridge. + BridgeFamily Family = "bridge" + + // NetDevFamily represents the "netdev" nftables family, for rules operating on + // the device ingress/egress path. + NetDevFamily Family = "netdev" +) + +// Table represents an nftables table. +type Table struct { + // Comment is an optional comment for the table. (Requires kernel >= 5.10 and + // nft >= 0.9.7; otherwise this field will be silently ignored. Requires + // nft >= 1.0.8 to include comments in List() results.) + Comment *string + + // Handle is an identifier that can be used to uniquely identify an object when + // deleting it. When adding a new object, this must be nil. + Handle *int +} + +// BaseChainType represents the "type" of a "base chain" (ie, a chain that is attached to a hook). +// See https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains#Base_chain_types +type BaseChainType string + +const ( + // FilterType is the chain type for basic packet filtering. + FilterType BaseChainType = "filter" + + // NATType is the chain type for doing DNAT, SNAT, and masquerading. + // NAT operations are only available from certain hooks. + NATType BaseChainType = "nat" + + // RouteType is the chain type for rules that change the routing of packets. + // Chains of this type can only be added to the "output" hook. + RouteType BaseChainType = "route" +) + +// BaseChainHook represents the "hook" that a base chain is attached to. +// See https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains#Base_chain_hooks +// and https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks +type BaseChainHook string + +const ( + // PreroutingHook is the "prerouting" stage of packet processing, which is the + // first stage (after "ingress") for inbound ("input path" and "forward path") + // packets. + PreroutingHook BaseChainHook = "prerouting" + + // InputHook is the "input" stage of packet processing, which happens after + // "prerouting" for inbound packets being delivered to an interface on this host, + // in this network namespace. + InputHook BaseChainHook = "input" + + // ForwardHook is the "forward" stage of packet processing, which happens after + // "prerouting" for inbound packets destined for a non-local IP (i.e. on another + // host or in another network namespace) + ForwardHook BaseChainHook = "forward" + + // OutputHook is the "output" stage of packet processing, which is the first stage + // for outbound packets, regardless of their final destination. + OutputHook BaseChainHook = "output" + + // PostroutingHook is the "postrouting" stage of packet processing, which is the + // final stage (before "egress") for outbound ("forward path" and "output path") + // packets. + PostroutingHook BaseChainHook = "postrouting" + + // IngressHook is the "ingress" stage of packet processing, in the "netdev" family + // or (with kernel >= 5.10 and nft >= 0.9.7) the "inet" family. + IngressHook BaseChainHook = "ingress" + + // EgressHook is the "egress" stage of packet processing, in the "netdev" family + // (with kernel >= 5.16 and nft >= 1.0.1). + EgressHook BaseChainHook = "egress" +) + +// BaseChainPriority represents the "priority" of a base chain. Lower values run earlier. +// See https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains#Base_chain_priority +// and https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks#Priority_within_hook +// +// In addition to the const values, you can also use a signed integer value, or an +// arithmetic expression consisting of a const value followed by "+" or "-" and an +// integer. +type BaseChainPriority string + +const ( + // RawPriority is the earliest named priority. In particular, it can be used for + // rules that need to run before conntrack. It is equivalent to the value -300 and + // can be used in the ip, ip6, and inet families. + RawPriority BaseChainPriority = "raw" + + // ManglePriority is the standard priority for packet-rewriting operations. It is + // equivalent to the value -150 and can be used in the ip, ip6, and inet families. + ManglePriority BaseChainPriority = "mangle" + + // DNATPriority is the standard priority for DNAT operations. In the ip, ip6, and + // inet families, it is equivalent to the value -100. In the bridge family it is + // equivalent to the value -300. In both cases it can only be used from the + // prerouting hook. + DNATPriority BaseChainPriority = "dstnat" + + // FilterPriority is the standard priority for filtering operations. In the ip, + // ip6, inet, arp, and netdev families, it is equivalent to the value 0. In the + // bridge family it is equivalent to the value -200. + FilterPriority BaseChainPriority = "filter" + + // OutPriority is FIXME. It is equivalent to the value 300 and can only be used in + // the bridge family. + OutPriority BaseChainPriority = "out" + + // SecurityPriority is the standard priority for security operations ("where + // secmark can be set for example"). It is equivalent to the value 50 and can be + // used in the ip, ip6, and inet families. + SecurityPriority BaseChainPriority = "security" + + // SNATPriority is the standard priority for SNAT operations. In the ip, ip6, and + // inet families, it is equivalent to the value 100. In the bridge family it is + // equivalent to the value 300. In both cases it can only be used from the + // postrouting hook. + SNATPriority BaseChainPriority = "srcnat" +) + +// Chain represents an nftables chain; either a "base chain" (if Type, Hook, and Priority +// are specified), or a "regular chain" (if they are not). +type Chain struct { + // Name is the name of the chain. + Name string + + // Type is the chain type; this must be set for a base chain and unset for a + // regular chain. + Type *BaseChainType + // Hook is the hook that the chain is connected to; this must be set for a base + // chain and unset for a regular chain. + Hook *BaseChainHook + // Priority is the chain priority; this must be set for a base chain and unset for + // a regular chain. You can call ParsePriority() to convert this to a number. + Priority *BaseChainPriority + + // Device is the network interface that the chain is attached to; this must be set + // for a base chain connected to the "ingress" or "egress" hooks, and unset for + // all other chains. + Device *string + + // Comment is an optional comment for the object. (Requires kernel >= 5.10 and + // nft >= 0.9.7; otherwise this field will be silently ignored. Requires + // nft >= 1.0.8 to include comments in List() results.) + Comment *string + + // Handle is an identifier that can be used to uniquely identify an object when + // deleting it. When adding a new object, this must be nil + Handle *int +} + +// Rule represents a rule in a chain +type Rule struct { + // Chain is the name of the chain that contains this rule + Chain string + + // Rule is the rule in standard nftables syntax. (Should be empty on Delete, but + // is ignored if not.) Note that this does not include any rule comment, which is + // separate from the rule itself. + Rule string + + // Comment is an optional comment for the rule. + Comment *string + + // Index is the number of a rule (counting from 0) to Add this Rule after or + // Insert it before. Cannot be specified along with Handle. If neither Index + // nor Handle is specified then Add appends the rule the end of the chain and + // Insert prepends it to the beginning. + Index *int + + // Handle is a rule handle. In Add or Insert, if set, this is the handle of + // existing rule to put the new rule after/before. In Delete or Replace, this + // indicates the existing rule to delete/replace, and is mandatory. In the result + // of a List, this will indicate the rule's handle that can then be used in a + // later operation. + Handle *int +} + +// SetFlag represents a set or map flag +type SetFlag string + +const ( + // ConstantFlag is a flag indicating that the set/map is constant. FIXME UNDOCUMENTED + ConstantFlag SetFlag = "constant" + + // DynamicFlag is a flag indicating that the set contains stateful objects + // (counters, quotas, or limits) that will be dynamically updated. + DynamicFlag SetFlag = "dynamic" + + // IntervalFlag is a flag indicating that the set contains either CIDR elements or + // IP ranges. + IntervalFlag SetFlag = "interval" + + // TimeoutFlag is a flag indicating that the set/map has a timeout after which + // dynamically added elements will be removed. (It is set automatically if the + // set/map has a Timeout.) + TimeoutFlag SetFlag = "timeout" +) + +// SetPolicy represents a set or map storage policy +type SetPolicy string + +const ( + // PolicyPerformance FIXME + PerformancePolicy SetPolicy = "performance" + + // PolicyMemory FIXME + MemoryPolicy SetPolicy = "memory" +) + +// Set represents the definition of an nftables set (but not its elements) +type Set struct { + // Name is the name of the set. + Name string + + // Type is the type of the set key (eg "ipv4_addr"). Either Type or TypeOf, but + // not both, must be non-empty. + Type string + + // TypeOf is the type of the set key as an nftables expression (eg "ip saddr"). + // Either Type or TypeOf, but not both, must be non-empty. (Requires at least nft + // 0.9.4, and newer than that for some types.) + TypeOf string + + // Flags are the set flags + Flags []SetFlag + + // Timeout is the time that an element will stay in the set before being removed. + // (Optional; mandatory for sets that will be added to from the packet path) + Timeout *time.Duration + + // GCInterval is the interval at which timed-out elements will be removed from the + // set. (Optional; FIXME DEFAULT) + GCInterval *time.Duration + + // Size if the maximum numer of elements in the set. + // (Optional; mandatory for sets that will be added to from the packet path) + Size *uint64 + + // Policy is the FIXME + Policy *SetPolicy + + // AutoMerge indicates that adjacent/overlapping set elements should be merged + // together (only for interval sets) + AutoMerge *bool + + // Comment is an optional comment for the object. (Requires kernel >= 5.10 and + // nft >= 0.9.7; otherwise this field will be silently ignored.) + Comment *string + + // Handle is an identifier that can be used to uniquely identify an object when + // deleting it. When adding a new object, this must be nil + Handle *int +} + +// Map represents the definition of an nftables map (but not its elements) +type Map struct { + // Name is the name of the map. + Name string + + // Type is the type of the map key and value (eg "ipv4_addr : verdict"). Either + // Type or TypeOf, but not both, must be non-empty. + Type string + + // TypeOf is the type of the set key as an nftables expression (eg "ip saddr : verdict"). + // Either Type or TypeOf, but not both, must be non-empty. (Requires at least nft 0.9.4, + // and newer than that for some types.) + TypeOf string + + // Flags are the map flags + Flags []SetFlag + + // Timeout is the time that an element will stay in the set before being removed. + // (Optional; mandatory for sets that will be added to from the packet path) + Timeout *time.Duration + + // GCInterval is the interval at which timed-out elements will be removed from the + // set. (Optional; FIXME DEFAULT) + GCInterval *time.Duration + + // Size if the maximum numer of elements in the set. + // (Optional; mandatory for sets that will be added to from the packet path) + Size *uint64 + + // Policy is the FIXME + Policy *SetPolicy + + // Comment is an optional comment for the object. (Requires kernel >= 5.10 and + // nft >= 0.9.7; otherwise this field will be silently ignored.) + Comment *string + + // Handle is an identifier that can be used to uniquely identify an object when + // deleting it. When adding a new object, this must be nil + Handle *int +} + +// Element represents a set or map element +type Element struct { + // Set is the name of the set that contains this element (or the empty string if + // this is a map element.) + Set string + + // Map is the name of the map that contains this element (or the empty string if + // this is a set element.) + Map string + + // Key is the element key. (The list contains a single element for "simple" keys, + // or multiple elements for concatenations.) + Key []string + + // Value is the map element value. As with Key, this may be a single value or + // multiple. For set elements, this must be nil. + Value []string + + // Comment is an optional comment for the element + Comment *string +} + +type FlowtableIngressPriority string + +const ( + // FilterIngressPriority is the priority for the filter value in the Ingress hook + // that stands for 0. + FilterIngressPriority FlowtableIngressPriority = "filter" +) + +// Flowtable represents an nftables flowtable. +// https://wiki.nftables.org/wiki-nftables/index.php/Flowtables +type Flowtable struct { + // Name is the name of the flowtable. + Name string + + // The Priority can be a signed integer or FlowtableIngressPriority which stands for 0. + // Addition and subtraction can be used to set relative priority, e.g. filter + 5 equals to 5. + Priority *FlowtableIngressPriority + + // The Devices are specified as iifname(s) of the input interface(s) of the traffic + // that should be offloaded. + Devices []string + + // Handle is an identifier that can be used to uniquely identify an object when + // deleting it. When adding a new object, this must be nil + Handle *int +} diff --git a/vendor/sigs.k8s.io/knftables/util.go b/vendor/sigs.k8s.io/knftables/util.go new file mode 100644 index 000000000..4ff14af24 --- /dev/null +++ b/vendor/sigs.k8s.io/knftables/util.go @@ -0,0 +1,117 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knftables + +import ( + "fmt" + "strconv" + "strings" +) + +// PtrTo can be used to fill in optional field values in objects +func PtrTo[T any](val T) *T { + return &val +} + +var numericPriorities = map[string]int{ + "raw": -300, + "mangle": -150, + "dstnat": -100, + "filter": 0, + "security": 50, + "srcnat": 100, +} + +var bridgeNumericPriorities = map[string]int{ + "dstnat": -300, + "filter": -200, + "out": 100, + "srcnat": 300, +} + +// ParsePriority tries to convert the string form of a chain priority into a number +func ParsePriority(family Family, priority string) (int, error) { + val, err := strconv.Atoi(priority) + if err == nil { + return val, nil + } + + modVal := 0 + if i := strings.IndexAny(priority, "+-"); i != -1 { + mod := priority[i:] + modVal, err = strconv.Atoi(mod) + if err != nil { + return 0, fmt.Errorf("could not parse modifier %q: %w", mod, err) + } + priority = priority[:i] + } + + var found bool + if family == BridgeFamily { + val, found = bridgeNumericPriorities[priority] + } else { + val, found = numericPriorities[priority] + } + if !found { + return 0, fmt.Errorf("unknown priority %q", priority) + } + + return val + modVal, nil +} + +// Concat is a helper (primarily) for constructing Rule objects. It takes a series of +// arguments and concatenates them together into a single string with spaces between the +// arguments. Strings are output as-is, string arrays are output element by element, +// numbers are output as with `fmt.Sprintf("%d")`, and all other types are output as with +// `fmt.Sprintf("%s")`. To help with set/map lookup syntax, an argument of "@" will not +// be followed by a space, so you can do, eg, `Concat("ip saddr", "@", setName)`. +func Concat(args ...interface{}) string { + b := &strings.Builder{} + var needSpace, wroteAt bool + for _, arg := range args { + switch x := arg.(type) { + case string: + if needSpace { + b.WriteByte(' ') + } + b.WriteString(x) + wroteAt = (x == "@") + case []string: + for _, s := range x { + if needSpace { + b.WriteByte(' ') + } + b.WriteString(s) + wroteAt = (s == "@") + needSpace = b.Len() > 0 && !wroteAt + } + case int, uint, int16, uint16, int32, uint32, int64, uint64: + if needSpace { + b.WriteByte(' ') + } + fmt.Fprintf(b, "%d", x) + default: + if needSpace { + b.WriteByte(' ') + } + fmt.Fprintf(b, "%s", x) + } + + needSpace = b.Len() > 0 && !wroteAt + } + return b.String() +} diff --git a/vendor/sigs.k8s.io/yaml/goyaml.v2/README.md b/vendor/sigs.k8s.io/yaml/goyaml.v2/README.md deleted file mode 100644 index 9a8f1e678..000000000 --- a/vendor/sigs.k8s.io/yaml/goyaml.v2/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# goyaml.v2 - -This package provides type and function aliases for the `go.yaml.in/yaml/v2` package (which is compatible with `gopkg.in/yaml.v2`). - -## Purpose - -The purpose of this package is to: - -1. Provide a transition path for users migrating from the sigs.k8s.io/yaml package to direct usage of go.yaml.in/yaml/v2 -2. Maintain compatibility with existing code while encouraging migration to the upstream package -3. Reduce maintenance overhead by delegating to the upstream implementation - -## Usage - -Instead of importing this package directly, you should migrate to using `go.yaml.in/yaml/v2` directly: - -```go -// Old way -import "sigs.k8s.io/yaml/goyaml.v2" - -// Recommended way -import "go.yaml.in/yaml/v2" -``` - -## Available Types and Functions - -All public types and functions from `go.yaml.in/yaml/v2` are available through this package: - -### Types - -- `MapSlice` - Encodes and decodes as a YAML map with preserved key order -- `MapItem` - An item in a MapSlice -- `Unmarshaler` - Interface for custom unmarshaling behavior -- `Marshaler` - Interface for custom marshaling behavior -- `IsZeroer` - Interface to check if an object is zero -- `Decoder` - Reads and decodes YAML values from an input stream -- `Encoder` - Writes YAML values to an output stream -- `TypeError` - Error returned by Unmarshal for decoding issues - -### Functions - -- `Unmarshal` - Decodes YAML data into a Go value -- `UnmarshalStrict` - Like Unmarshal but errors on unknown fields -- `Marshal` - Serializes a Go value into YAML -- `NewDecoder` - Creates a new Decoder -- `NewEncoder` - Creates a new Encoder -- `FutureLineWrap` - Controls line wrapping behavior - -## Migration Guide - -To migrate from this package to `go.yaml.in/yaml/v2`: - -1. Update your import statements: - ```go - // From - import "sigs.k8s.io/yaml/goyaml.v2" - - // To - import "go.yaml.in/yaml/v2" - ``` - -2. No code changes should be necessary as the API is identical - -3. Update your go.mod file to include the dependency: - ``` - require go.yaml.in/yaml/v2 v2.4.2 - ``` - -## Deprecation Notice - -All types and functions in this package are marked as deprecated. You should migrate to using `go.yaml.in/yaml/v2` directly. diff --git a/vendor/sigs.k8s.io/yaml/goyaml.v2/yaml_aliases.go b/vendor/sigs.k8s.io/yaml/goyaml.v2/yaml_aliases.go deleted file mode 100644 index 8c82bc2cb..000000000 --- a/vendor/sigs.k8s.io/yaml/goyaml.v2/yaml_aliases.go +++ /dev/null @@ -1,85 +0,0 @@ -/* -Copyright 2025 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package yaml - -import ( - gopkg_yaml "go.yaml.in/yaml/v2" -) - -// Type aliases for public types from go.yaml.in/yaml/v2 -type ( - // MapSlice encodes and decodes as a YAML map. - // The order of keys is preserved when encoding and decoding. - // Deprecated: Use go.yaml.in/yaml/v2.MapSlice directly. - MapSlice = gopkg_yaml.MapSlice - - // MapItem is an item in a MapSlice. - // Deprecated: Use go.yaml.in/yaml/v2.MapItem directly. - MapItem = gopkg_yaml.MapItem - - // Unmarshaler is implemented by types to customize their behavior when being unmarshaled from a YAML document. - // Deprecated: Use go.yaml.in/yaml/v2.Unmarshaler directly. - Unmarshaler = gopkg_yaml.Unmarshaler - - // Marshaler is implemented by types to customize their behavior when being marshaled into a YAML document. - // Deprecated: Use go.yaml.in/yaml/v2.Marshaler directly. - Marshaler = gopkg_yaml.Marshaler - - // IsZeroer is used to check whether an object is zero to determine whether it should be omitted when - // marshaling with the omitempty flag. One notable implementation is time.Time. - // Deprecated: Use go.yaml.in/yaml/v2.IsZeroer directly. - IsZeroer = gopkg_yaml.IsZeroer - - // Decoder reads and decodes YAML values from an input stream. - // Deprecated: Use go.yaml.in/yaml/v2.Decoder directly. - Decoder = gopkg_yaml.Decoder - - // Encoder writes YAML values to an output stream. - // Deprecated: Use go.yaml.in/yaml/v2.Encoder directly. - Encoder = gopkg_yaml.Encoder - - // TypeError is returned by Unmarshal when one or more fields in the YAML document cannot be properly decoded. - // Deprecated: Use go.yaml.in/yaml/v2.TypeError directly. - TypeError = gopkg_yaml.TypeError -) - -// Function aliases for public functions from go.yaml.in/yaml/v2 -var ( - // Unmarshal decodes the first document found within the in byte slice and assigns decoded values into the out value. - // Deprecated: Use go.yaml.in/yaml/v2.Unmarshal directly. - Unmarshal = gopkg_yaml.Unmarshal - - // UnmarshalStrict is like Unmarshal except that any fields that are found in the data that do not have corresponding struct members will result in an error. - // Deprecated: Use go.yaml.in/yaml/v2.UnmarshalStrict directly. - UnmarshalStrict = gopkg_yaml.UnmarshalStrict - - // Marshal serializes the value provided into a YAML document. - // Deprecated: Use go.yaml.in/yaml/v2.Marshal directly. - Marshal = gopkg_yaml.Marshal - - // NewDecoder returns a new decoder that reads from r. - // Deprecated: Use go.yaml.in/yaml/v2.NewDecoder directly. - NewDecoder = gopkg_yaml.NewDecoder - - // NewEncoder returns a new encoder that writes to w. - // Deprecated: Use go.yaml.in/yaml/v2.NewEncoder directly. - NewEncoder = gopkg_yaml.NewEncoder - - // FutureLineWrap globally disables line wrapping when encoding long strings. - // Deprecated: Use go.yaml.in/yaml/v2.FutureLineWrap directly. - FutureLineWrap = gopkg_yaml.FutureLineWrap -)