feat: add S3-compatible storage provider (MinIO, Ceph, R2, etc.)

Adds a new 'S3-Compatible Storage' provider that works with any
S3-API-compatible object storage service, including MinIO, Ceph,
Cloudflare R2, Backblaze B2, and others.

Changes:
- New provider class: classes/providers/storage/s3-compatible-provider.php
  - Provider key: s3compatible
  - Reads user-configured endpoint URL from settings
  - Uses path-style URL access (required by most S3-compatible services)
  - Supports credentials via AS3CF_S3COMPAT_ACCESS_KEY_ID /
    AS3CF_S3COMPAT_SECRET_ACCESS_KEY wp-config.php constants
  - Disables AWS-specific features (Block Public Access, Object Ownership)
- New provider SVG icons (s3compatible.svg, -link.svg, -round.svg)
- Registered provider in main plugin class with endpoint setting support
- Updated StorageProviderSubPage to show endpoint URL input for S3-compatible
- Built pro settings bundle with rollup (Svelte 4.2.19)
- Added package.json and updated rollup.config.mjs for pro-only builds
This commit is contained in:
2026-03-03 12:30:18 +01:00
commit 3248cbb029
2086 changed files with 359427 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/annotations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Annotations
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Http::initOnce();
$pool->internalAddGeneratedFile('
Ä
google/api/annotations.proto
google.api google/protobuf/descriptor.protoBn
com.google.apiBAnnotationsProtoPZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,28 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/billing.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Billing
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
´
google/api/billing.proto
google.api"“
BillingE
consumer_destinations ( 2&.google.api.Billing.BillingDestinationA
BillingDestination
monitored_resource ( 
metrics ( Bn
com.google.apiB BillingProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,31 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/context.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Context
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
á
google/api/context.proto
google.api"1
Context&
rules ( 2.google.api.ContextRule"<22>
ContextRule
selector ( 
requested ( 
provided ( "
allowed_request_extensions ( #
allowed_response_extensions ( Bn
com.google.apiB ContextProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

View File

@@ -0,0 +1,27 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/control.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Control
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Policy::initOnce();
$pool->internalAddGeneratedFile('
ñ
google/api/control.proto
google.api"Q
Control
environment ( 1
method_policies ( 2.google.api.MethodPolicyBn
com.google.apiB ControlProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

Binary file not shown.

View File

@@ -0,0 +1,38 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/documentation.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Documentation
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
<EFBFBD>
google/api/documentation.proto
google.api"»
Documentation
summary ( 
pages ( 2.google.api.Page,
rules ( 2.google.api.DocumentationRule
documentation_root_url ( 
service_root_url ( 
overview ( "[
DocumentationRule
selector ( 
description ( 
deprecation_description ( "I
Page
name ( 
content ( "
subpages ( 2.google.api.PageBt
com.google.apiBDocumentationProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

View File

@@ -0,0 +1,29 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/endpoint.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Endpoint
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
ó
google/api/endpoint.proto
google.api"Q
Endpoint
name ( 
aliases ( B
targete ( 
allow_cors (Bo
com.google.apiB
EndpointProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,29 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/httpbody.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Httpbody
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Protobuf\Any::initOnce();
$pool->internalAddGeneratedFile('
ó
google/api/httpbody.proto
google.api"X
HttpBody
content_type ( 
data ( (
extensions ( 2.google.protobuf.AnyBh
com.google.apiB
HttpBodyProtoPZ;google.golang.org/genproto/googleapis/api/httpbody;httpbodyø¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,29 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/log.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Log
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Label::initOnce();
$pool->internalAddGeneratedFile('
<EFBFBD>
google/api/log.proto
google.api"u
LogDescriptor
name ( +
labels ( 2.google.api.LabelDescriptor
description ( 
display_name ( Bj
com.google.apiBLogProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

View File

@@ -0,0 +1,29 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/logging.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Logging
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
ø
google/api/logging.proto
google.api"×
LoggingE
producer_destinations ( 2&.google.api.Logging.LoggingDestinationE
consumer_destinations ( 2&.google.api.Logging.LoggingDestination>
LoggingDestination
monitored_resource ( 
logs ( Bn
com.google.apiB LoggingProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

Binary file not shown.

View File

@@ -0,0 +1,45 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/monitored_resource.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class MonitoredResource
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Label::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\LaunchStage::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Protobuf\Struct::initOnce();
$pool->internalAddGeneratedFile('
<EFBFBD>
#google/api/monitored_resource.proto
google.apigoogle/api/launch_stage.protogoogle/protobuf/struct.proto"À
MonitoredResourceDescriptor
name ( 
type ( 
display_name ( 
description ( +
labels ( 2.google.api.LabelDescriptor-
launch_stage (2.google.api.LaunchStage"
MonitoredResource
type ( 9
labels ( 2).google.api.MonitoredResource.LabelsEntry-
LabelsEntry
key ( 
value ( :8
MonitoredResourceMetadata.
system_labels ( 2.google.protobuf.StructJ
user_labels ( 25.google.api.MonitoredResourceMetadata.UserLabelsEntry1
UserLabelsEntry
key ( 
value ( :8By
com.google.apiBMonitoredResourceProtoPZCgoogle.golang.org/genproto/googleapis/api/monitoredres;monitoredresø¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

View File

@@ -0,0 +1,30 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/monitoring.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Monitoring
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('

google/api/monitoring.proto
google.api"ì
MonitoringK
producer_destinations ( 2,.google.api.Monitoring.MonitoringDestinationK
consumer_destinations ( 2,.google.api.Monitoring.MonitoringDestinationD
MonitoringDestination
monitored_resource ( 
metrics ( Bq
com.google.apiBMonitoringProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

View File

@@ -0,0 +1,30 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/policy.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Policy
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
ë
google/api/policy.proto
google.api google/protobuf/descriptor.proto"S
FieldPolicy
selector ( 
resource_permission ( 
resource_type ( "S
MethodPolicy
selector ( 1
request_policies ( 2.google.api.FieldPolicyBp
com.google.apiB PolicyProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfigø¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

View File

@@ -0,0 +1,50 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/quota.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Quota
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
¥
google/api/quota.proto
google.api"]
Quota&
limits ( 2.google.api.QuotaLimit,
metric_rules ( 2.google.api.MetricRule"
MetricRule
selector ( =
metric_costs ( 2\'.google.api.MetricRule.MetricCostsEntry2
MetricCostsEntry
key ( 
value (:8"•
QuotaLimit
name ( 
description ( 
default_limit (
max_limit (
free_tier (
duration ( 
metric ( 
unit ( 2
values
( 2".google.api.QuotaLimit.ValuesEntry
display_name ( -
ValuesEntry
key ( 
value (:8Bl
com.google.apiB
QuotaProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

Binary file not shown.

View File

@@ -0,0 +1,28 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/routing.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Routing
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
¿
google/api/routing.proto
google.api google/protobuf/descriptor.proto"G
RoutingRule8
routing_parameters ( 2.google.api.RoutingParameter"8
RoutingParameter
field ( 
path_template ( Bj
com.google.apiB RoutingProtoPZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

View File

@@ -0,0 +1,75 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/service.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Service
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Auth::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Backend::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Billing::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Client::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Context::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Control::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Documentation::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Endpoint::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Http::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Log::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Logging::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Metric::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\MonitoredResource::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Monitoring::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Quota::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\SourceInfo::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\SystemParameter::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api\Usage::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Protobuf\Api::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Protobuf\Type::initOnce();
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Protobuf\Wrappers::initOnce();
$pool->internalAddGeneratedFile('
É
google/api/service.proto
google.apigoogle/api/backend.protogoogle/api/billing.protogoogle/api/client.protogoogle/api/context.protogoogle/api/control.protogoogle/api/documentation.protogoogle/api/endpoint.protogoogle/api/http.protogoogle/api/log.protogoogle/api/logging.protogoogle/api/metric.proto#google/api/monitored_resource.protogoogle/api/monitoring.protogoogle/api/quota.protogoogle/api/source_info.proto!google/api/system_parameter.protogoogle/api/usage.protogoogle/protobuf/api.protogoogle/protobuf/type.protogoogle/protobuf/wrappers.proto"
Service
name ( 
title ( 
producer_project_id ( 
id! ( "
apis ( 2.google.protobuf.Api$
types ( 2.google.protobuf.Type$
enums ( 2.google.protobuf.Enum0
documentation ( 2.google.api.Documentation$
backend ( 2.google.api.Backend
http ( 2.google.api.Http
quota
( 2.google.api.Quota2
authentication ( 2.google.api.Authentication$
context ( 2.google.api.Context
usage ( 2.google.api.Usage\'
endpoints ( 2.google.api.Endpoint$
control ( 2.google.api.Control\'
logs ( 2.google.api.LogDescriptor-
metrics ( 2.google.api.MetricDescriptorD
monitored_resources ( 2\'.google.api.MonitoredResourceDescriptor$
billing ( 2.google.api.Billing$
logging ( 2.google.api.Logging*
monitoring ( 2.google.api.Monitoring7
system_parameters ( 2.google.api.SystemParameters+
source_info% ( 2.google.api.SourceInfo*
publishing- ( 2.google.api.Publishing4
config_version ( 2.google.protobuf.UInt32ValueBn
com.google.apiB ServiceProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}

View File

@@ -0,0 +1,27 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/source_info.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class SourceInfo
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Protobuf\Any::initOnce();
$pool->internalAddGeneratedFile('
ß
google/api/source_info.proto
google.api"8
SourceInfo*
source_files ( 2.google.protobuf.AnyBq
com.google.apiBSourceInfoProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

View File

@@ -0,0 +1,33 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/system_parameter.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class SystemParameter
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
 
!google/api/system_parameter.proto
google.api"B
SystemParameters.
rules ( 2.google.api.SystemParameterRule"X
SystemParameterRule
selector ( /
parameters ( 2.google.api.SystemParameter"Q
SystemParameter
name ( 
http_header ( 
url_query_parameter ( Bv
com.google.apiBSystemParameterProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

View File

@@ -0,0 +1,32 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/usage.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Usage
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
å
google/api/usage.proto
google.api"j
Usage
requirements ( $
rules ( 2.google.api.UsageRule%
producer_notification_channel ( "]
UsageRule
selector ( 
allow_unregistered_calls (
skip_service_control (Bl
com.google.apiB
UsageProtoPZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}

View File

@@ -0,0 +1,29 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/visibility.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Api;
class Visibility
{
public static $is_initialized = \false;
public static function initOnce()
{
$pool = \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == \true) {
return;
}
$pool->internalAddGeneratedFile('
µ
google/api/visibility.proto
google.api google/protobuf/descriptor.proto"7
Visibility)
rules ( 2.google.api.VisibilityRule"7
VisibilityRule
selector ( 
restriction ( Bn
com.google.apiBVisibilityProtoPZ?google.golang.org/genproto/googleapis/api/visibility;visibilityø¢GAPIbproto3', \true);
static::$is_initialized = \true;
}
}