--- apiVersion: v1 items: - apiVersion: v1 data: cnibincopy.sh: |- #!/bin/bash set -e function log() { echo "$(date --iso-8601=seconds) [cnibincopy] ${1}" } DESTINATION_DIRECTORY=/host/opt/cni/bin/ # Perform validation of usage if [ -z "$RHEL8_SOURCE_DIRECTORY" ] || [ -z "$RHEL9_SOURCE_DIRECTORY" ] || [ -z "$DEFAULT_SOURCE_DIRECTORY" ]; then log "FATAL ERROR: You must set env variables: RHEL8_SOURCE_DIRECTORY, RHEL9_SOURCE_DIRECTORY, DEFAULT_SOURCE_DIRECTORY" exit 1 fi if [ ! -d "$DESTINATION_DIRECTORY" ]; then log "FATAL ERROR: Destination directory ($DESTINATION_DIRECTORY) does not exist" exit 1 fi # Collect host OS information . /host/etc/os-release rhelmajor= # detect which version we're using in order to copy the proper binaries case "${ID}" in rhcos|scos) RHEL_VERSION=$(echo "${CPE_NAME}" | cut -f 5 -d :) rhelmajor=$(echo $RHEL_VERSION | sed -E 's/([0-9]+)\.{1}[0-9]+(\.[0-9]+)?/\1/') ;; rhel|centos) rhelmajor=$(echo "${VERSION_ID}" | cut -f 1 -d .) ;; fedora) if [ "${VARIANT_ID}" == "coreos" ]; then rhelmajor=8 else log "FATAL ERROR: Unsupported Fedora variant=${VARIANT_ID}" exit 1 fi ;; *) log "FATAL ERROR: Unsupported OS ID=${ID}"; exit 1 ;; esac # Set which directory we'll copy from, detect if it exists sourcedir= founddir=false case "${rhelmajor}" in 8) if [ -d "${RHEL8_SOURCE_DIRECTORY}" ]; then sourcedir=${RHEL8_SOURCE_DIRECTORY} founddir=true fi ;; 9) if [ -d "${RHEL9_SOURCE_DIRECTORY}" ]; then sourcedir=${RHEL9_SOURCE_DIRECTORY} founddir=true fi ;; *) log "ERROR: RHEL Major Version Unsupported, rhelmajor=${rhelmajor}" ;; esac # When it doesn't exist, fall back to the original directory. if [ "$founddir" == false ]; then log "Source directory unavailable for OS version: ${rhelmajor}" sourcedir=$DEFAULT_SOURCE_DIRECTORY fi # Use a subdirectory called "upgrade" so we can atomically move fully copied files. # We now use --remove-destination after running into an issue with -f not working over symlinks UPGRADE_DIRECTORY=${DESTINATION_DIRECTORY}upgrade_$(uuidgen) rm -Rf $UPGRADE_DIRECTORY mkdir -p $UPGRADE_DIRECTORY cp -r --remove-destination ${sourcedir}* $UPGRADE_DIRECTORY if [ $? -eq 0 ]; then log "Successfully copied files in ${sourcedir} to $UPGRADE_DIRECTORY" else log "Failed to copy files in ${sourcedir} to $UPGRADE_DIRECTORY" rm -Rf $UPGRADE_DIRECTORY exit 1 fi mv -f $UPGRADE_DIRECTORY/* ${DESTINATION_DIRECTORY}/ if [ $? -eq 0 ]; then log "Successfully moved files in $UPGRADE_DIRECTORY to ${DESTINATION_DIRECTORY}" else log "Failed to move files in $UPGRADE_DIRECTORY to ${DESTINATION_DIRECTORY}" rm -Rf $UPGRADE_DIRECTORY exit 1 fi rm -Rf $UPGRADE_DIRECTORY kind: ConfigMap metadata: annotations: kubernetes.io/description: | This is a script used to copy CNI binaries based on host OS release.openshift.io/version: 4.21.23 creationTimestamp: "2026-07-05T13:13:44Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:cnibincopy.sh: {} f:metadata: f:annotations: f:kubernetes.io/description: {} f:release.openshift.io/version: {} f:ownerReferences: k:{"uid":"9d84312f-144c-47d7-8546-417fc1aaa07a"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-05T13:13:44Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 9d84312f-144c-47d7-8546-417fc1aaa07a resourceVersion: "3004" uid: 0761e81f-1dec-4238-a597-094efbd099bc - apiVersion: v1 data: allowlist.conf: |- ^net.ipv4.conf.IFNAME.accept_redirects$ ^net.ipv4.conf.IFNAME.accept_source_route$ ^net.ipv4.conf.IFNAME.arp_accept$ ^net.ipv4.conf.IFNAME.arp_notify$ ^net.ipv4.conf.IFNAME.disable_policy$ ^net.ipv4.conf.IFNAME.secure_redirects$ ^net.ipv4.conf.IFNAME.send_redirects$ ^net.ipv6.conf.IFNAME.accept_ra$ ^net.ipv6.conf.IFNAME.accept_redirects$ ^net.ipv6.conf.IFNAME.accept_source_route$ ^net.ipv6.conf.IFNAME.arp_accept$ ^net.ipv6.conf.IFNAME.arp_notify$ ^net.ipv6.neigh.IFNAME.base_reachable_time_ms$ ^net.ipv6.neigh.IFNAME.retrans_time_ms$ kind: ConfigMap metadata: annotations: kubernetes.io/description: | Sysctl allowlist for nodes. release.openshift.io/version: 4.21.23 creationTimestamp: "2026-07-05T13:13:44Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:allowlist.conf: {} f:metadata: f:annotations: .: {} f:kubernetes.io/description: {} f:release.openshift.io/version: {} manager: network-operator operation: Update time: "2026-07-05T13:13:44Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2979" uid: 91dc8f8c-79ba-4cb0-a623-5273260af594 - apiVersion: v1 data: allowlist.conf: |- ^net.ipv4.conf.IFNAME.accept_redirects$ ^net.ipv4.conf.IFNAME.accept_source_route$ ^net.ipv4.conf.IFNAME.arp_accept$ ^net.ipv4.conf.IFNAME.arp_notify$ ^net.ipv4.conf.IFNAME.disable_policy$ ^net.ipv4.conf.IFNAME.secure_redirects$ ^net.ipv4.conf.IFNAME.send_redirects$ ^net.ipv6.conf.IFNAME.accept_ra$ ^net.ipv6.conf.IFNAME.accept_redirects$ ^net.ipv6.conf.IFNAME.accept_source_route$ ^net.ipv6.conf.IFNAME.arp_accept$ ^net.ipv6.conf.IFNAME.arp_notify$ ^net.ipv6.neigh.IFNAME.base_reachable_time_ms$ ^net.ipv6.neigh.IFNAME.retrans_time_ms$ kind: ConfigMap metadata: annotations: kubernetes.io/description: | Sysctl allowlist for nodes. release.openshift.io/version: 4.21.23 creationTimestamp: "2026-07-05T13:13:44Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:allowlist.conf: {} f:metadata: f:annotations: f:kubernetes.io/description: {} f:release.openshift.io/version: {} f:ownerReferences: k:{"uid":"9d84312f-144c-47d7-8546-417fc1aaa07a"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-05T13:13:44Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 9d84312f-144c-47d7-8546-417fc1aaa07a resourceVersion: "2977" uid: 7b85adfa-ec07-4ae5-a32c-0d281738d332 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIITlt+cg3sWw8wDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDcwNTEzMTAwM1oX DTM2MDcwMjEzMTAwM1owJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl0cNsiKe7lXE dwVu70m8pUWRzw0MMXjPXXPmby0nj/Qr5QN72Vz5/akbPZiV6ZwDuarPoCBUd4aB +YDAavVA92G3oIMjxVMeUvIFnbmSFuLEIAzg2XVBuYIIix26Zh76z2vgLZHnO5g/ wR7WP1LvWGga7O/VKPSDFIkO5nf4E1P3BSwD+/XCmJeHQX03DFLdVAqZObJHsgvX xvbrNQ7+rQlwyTruG8JTiQ4vczHSM/7cjbXNwhAAkaRgnwDIw825w9U8t74IZk3J IG78y+vRfJK6UITW9FOtF7VmRZ+rKCazJo4w5cwZdJevq4H7mzfApJm2GXaogirk aLXEQqRDWQIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRAzOqDvV9wfVef6tsCcMD11ITW0cp3/hIb7rYbCpJhLlE+rUUS 2+29kdRtGFUm8On4mnKZLZFhX66iEQhOKQ8JszANBgkqhkiG9w0BAQsFAAOCAQEA DElomy7QT5YwaQSZssFGsQZLZIa1nhLj7Zh82HBcY0zEnw6U9Gphwmotr721F/fc 1xmO4ezgE5suwFg3xt4lx7EVuRwggxw03vEJe57R86SIWq4Twy548+XwnddYqyF2 i4hbVCzhqEv8fITf+K7mB1PccMZ3O1Rekr/ld7i+2Jq0UxN6m1nJwmzYsMhatEyO 8i0F56G1cBdCAd37UPlOoBaQLMcxD2++34837B7qavkPsJLYGtTnvdeNH7YMJLcD N4gkV5B5cwbO2zSPIbfZkFYpGOtD0WtHYe8+rndk4uxCW1E0uXUAIC2hsfa85vcj 7hRooCVXl0ZO6kMlFfc/Sg== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIIHXgk7JEfagAwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDcwNTEzMTAzN1oX DTI3MDcwNTEzMTAzN1owMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ANbwvWciwRZ1oVx5bY3ZhaqF7T8eu9QVBstQRiWmgQXRexmwEVPMurZyf//rekFS O8hu7UaYkyLa4XFOgJahF7N8VviaHCIwZMg8aAMhC85Zig1+HFRiajZORLONfPLi wsCJw5GMq6Np4p+if6pj5ix+3Q/UGOgNzDSPps3PoEqtneT+0lO8ayF/zHQOlAD+ nUDKCLAbPEsECKba1AxqEK5/naPL6O7zaBxhHUrgCd37pfeLOxrRbUhiU1cr2GKr 3GEg/u4Gf9VRdLZDKT2dGcO7dm3vYT5cznEw7CZJaXu0V8MqmfOwGktei85Mzb9Y psHFnoclQkPv/DnUaVqjAP8CAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRAkq9upz0/qvUmceh7ISB1FjB3GP4uQmUoE4K7L+1gZs2ss2Gm6D+japer UQQPwWbGzbsO5B2d2k+dD+2Qr5zAGjBLBgNVHSMERDBCgEDM6oO9X3B9V5/q2wJw wPXUhNbRynf+EhvuthsKkmEuUT6tRRLb7b2R1G0YVSbw6fiacpktkWFfrqIRCE4p DwmzMEsGA1UdEQREMEKCQCouYXBwcy4zM2Q1MTE3Ny01YTA1LTRkNTQtODYxMi03 NTE5OTliNjg1NjkucHJvZC5rb25mbHV4ZWFhcy5jb20wDQYJKoZIhvcNAQELBQAD ggEBAEz5zy79X1xFrUJ+rwO9aWZPBGCwcKFdpBVl0TQaf9idRcbeBPd/KMt2uxrR JnP2DVfjEIC4nkzXcidgOwzF6ibnuSQhIUqNE4G6y6+BZvuLMUaqh5aYhk4OTPh6 an/GL92Lu0c+GQn/8SqLzXvMQ7NZw5kmRGhKT5b7uCcoqaXgrX4qDYvwkp37UNQO JCdUNStxV/te3dr/G7UiaDkd4EMSPvhvhmgplKDLQSBSAcTvOh7xiwPswBd0i/Cn Jjy4ECLfk6kJMuSWkVlIuD21Vm2iylsAcf20PezS25EQKyJRxmJZqwQLn42f9Evn dIrXsrLuFr0yT48iCbBYV0d8wWA= -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: kubernetes.io/description: Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters. creationTimestamp: "2026-07-05T13:13:52Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:ca.crt: {} f:metadata: f:annotations: .: {} f:kubernetes.io/description: {} manager: kube-controller-manager operation: Update time: "2026-07-05T13:13:52Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "4017" uid: d28586bc-2d8c-42c9-b43e-bf3ca4b0c9a9 - apiVersion: v1 data: daemon-config.json: | { "cniVersion": "0.3.1", "chrootDir": "/hostroot", "logToStderr": true, "logLevel": "verbose", "binDir": "/var/lib/cni/bin", "perNodeCertificate": { "enabled": true, "bootstrapKubeconfig": "/var/lib/kubelet/kubeconfig", "certDir": "/etc/cni/multus/certs", "certDuration": "24h" }, "cniConfigDir": "/host/etc/cni/net.d", "multusConfigFile": "auto", "multusAutoconfigDir": "/host/run/multus/cni/net.d", "namespaceIsolation": true, "globalNamespaces": "default,openshift-multus,openshift-sriov-network-operator,openshift-cnv", "readinessindicatorfile": "/host/run/multus/cni/net.d/10-ovn-kubernetes.conf", "daemonSocketDir": "/run/multus/socket", "socketDir": "/host/run/multus/socket", "auxiliaryCNIChainName": "vendor-cni-chain" } kind: ConfigMap metadata: creationTimestamp: "2026-07-05T13:13:44Z" labels: app: multus tier: node managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:daemon-config.json: {} f:metadata: f:labels: f:app: {} f:tier: {} f:ownerReferences: k:{"uid":"9d84312f-144c-47d7-8546-417fc1aaa07a"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-05T13:13:44Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 9d84312f-144c-47d7-8546-417fc1aaa07a resourceVersion: "3051" uid: c6da2c7a-a1ef-46f0-8d66-fa681b959836 - apiVersion: v1 data: cabundle.crt: |- -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIAQ3SbSPeY5UwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4MzI1NzU2NDAe Fw0yNjA3MDUxMzE5MjNaFw0yODA5MDIxMzE5MjRaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODMyNTc1NjQwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHNJ8IP+EhtsuAWXtAMMAmA60KnaB7b9Gy iqxwnNQF0psCoA3iCm4cuw2Zstfvlq4ixcJeY0nrdrVGfVb1YNYxVeHYRPusEipu flBdA5CmEV3jDLYEnZ81R/bijGXfoxlEWSmoURaOw3/I5F/m3HO54Ea/nlP2bVZf Z9TgsZqeVsyCh29uPB7JNI9ZYXihySAHwlGflogd0mGjuE3XEHARByHtLrqJSvuI ZiMy00mWJRWOPO2ZPpEpgCMswnq2n7U0B7fB8ruHQKI+6rTdT9Ym6f/+lb5n8ugN Ms9ndblmr+7HfXFO/WJ41Tja2IdLCoUY9ofxaoAXQLk327VWRncFAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQATJoz na+z5a5mhW1mRouNdMdKpjAfBgNVHSMEGDAWgBQATJozna+z5a5mhW1mRouNdMdK pjANBgkqhkiG9w0BAQsFAAOCAQEAGGs9QURV0mPneU3pxHXhJpP6ZozvMSzzIdIU cfiwLKjLw7p9tZHw+435fxTvcp0K2MZZGUWtAt2G7gkIPY5UWnTWtgb/A70ENyU+ VUONnLUZWKUhzLfRdv89OstWY5QdAyrurhlg4bQPTPgSFTjbFfQyNlG2K574uDPG B1JVai8noXbAH/TJOdBINitUKlIXm4wizzOxSpC7NVV2aH4bvVyJT3MiQhKO5YN6 3F2u4bs5fYlQ4ifeCkmkhgKTbFOiW/Sf3L2Bv/SETeBoPYWLelUYAzu/gYgyDHkt LU+drB4eTtIPKsZyOzRppNaP1eq2vGh/mcln4QiEEzx2sVIj/Q== -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2026-07-05T13:23:55Z" labels: opendatahub.io/managed: "true" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:cabundle.crt: {} f:metadata: f:labels: .: {} f:opendatahub.io/managed: {} manager: manager operation: Update time: "2026-07-05T13:23:55Z" name: odh-kserve-custom-ca-bundle namespace: openshift-multus resourceVersion: "14297" uid: 24aa0ef8-0558-4884-87c7-530e048b389c - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIAQ3SbSPeY5UwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4MzI1NzU2NDAe Fw0yNjA3MDUxMzE5MjNaFw0yODA5MDIxMzE5MjRaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODMyNTc1NjQwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHNJ8IP+EhtsuAWXtAMMAmA60KnaB7b9Gy iqxwnNQF0psCoA3iCm4cuw2Zstfvlq4ixcJeY0nrdrVGfVb1YNYxVeHYRPusEipu flBdA5CmEV3jDLYEnZ81R/bijGXfoxlEWSmoURaOw3/I5F/m3HO54Ea/nlP2bVZf Z9TgsZqeVsyCh29uPB7JNI9ZYXihySAHwlGflogd0mGjuE3XEHARByHtLrqJSvuI ZiMy00mWJRWOPO2ZPpEpgCMswnq2n7U0B7fB8ruHQKI+6rTdT9Ym6f/+lb5n8ugN Ms9ndblmr+7HfXFO/WJ41Tja2IdLCoUY9ofxaoAXQLk327VWRncFAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQATJoz na+z5a5mhW1mRouNdMdKpjAfBgNVHSMEGDAWgBQATJozna+z5a5mhW1mRouNdMdK pjANBgkqhkiG9w0BAQsFAAOCAQEAGGs9QURV0mPneU3pxHXhJpP6ZozvMSzzIdIU cfiwLKjLw7p9tZHw+435fxTvcp0K2MZZGUWtAt2G7gkIPY5UWnTWtgb/A70ENyU+ VUONnLUZWKUhzLfRdv89OstWY5QdAyrurhlg4bQPTPgSFTjbFfQyNlG2K574uDPG B1JVai8noXbAH/TJOdBINitUKlIXm4wizzOxSpC7NVV2aH4bvVyJT3MiQhKO5YN6 3F2u4bs5fYlQ4ifeCkmkhgKTbFOiW/Sf3L2Bv/SETeBoPYWLelUYAzu/gYgyDHkt LU+drB4eTtIPKsZyOzRppNaP1eq2vGh/mcln4QiEEzx2sVIj/Q== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-07-05T13:13:51Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: {} f:metadata: f:annotations: .: {} f:service.beta.openshift.io/inject-cabundle: {} manager: kube-controller-manager operation: Update time: "2026-07-05T13:13:51Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-07-05T13:19:36Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "8292" uid: 2d2d48ae-8fb6-47c7-ab51-a01103123d72 - apiVersion: v1 data: whereabouts.conf: | { "datastore": "kubernetes", "kubernetes": { "kubeconfig": "/etc/kubernetes/cni/net.d/whereabouts.d/whereabouts.kubeconfig" }, "reconciler_cron_expression": "30 4 * * *", "log_level": "verbose", "configuration_path": "/etc/kubernetes/cni/net.d/whereabouts.d" } kind: ConfigMap metadata: creationTimestamp: "2026-07-05T13:13:44Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"9d84312f-144c-47d7-8546-417fc1aaa07a"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-05T13:13:44Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 9d84312f-144c-47d7-8546-417fc1aaa07a resourceVersion: "3026" uid: 66f9bf78-8b69-4c73-a437-3b35f4bd2c18 kind: ConfigMapList metadata: resourceVersion: "26966"