|
|
|
|
@@ -157,6 +157,7 @@ export type BucketSetInputGql = {
|
|
|
|
|
|
|
|
|
|
export type CameraClaimSession = {
|
|
|
|
|
__typename?: "CameraClaimSession";
|
|
|
|
|
agreedTermsVersion?: Maybe<Scalars["Int"]["output"]>;
|
|
|
|
|
camera: PoolHallCamera;
|
|
|
|
|
cameraId: Scalars["ID"]["output"];
|
|
|
|
|
challengeCode: Scalars["String"]["output"];
|
|
|
|
|
@@ -284,6 +285,8 @@ export type CreateCustomerPortalSessionResultGql = {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type CreatePoolHallCameraInput = {
|
|
|
|
|
allowsPrivateVideos?: InputMaybe<Scalars["Boolean"]["input"]>;
|
|
|
|
|
claimTermsText?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
name: Scalars["String"]["input"];
|
|
|
|
|
pocketSize?: InputMaybe<Scalars["Float"]["input"]>;
|
|
|
|
|
poolHallId: Scalars["ID"]["input"];
|
|
|
|
|
@@ -294,9 +297,11 @@ export type CreatePoolHallCameraInput = {
|
|
|
|
|
|
|
|
|
|
export type CreatePoolHallInput = {
|
|
|
|
|
address?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
city?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
latitude?: InputMaybe<Scalars["Float"]["input"]>;
|
|
|
|
|
longitude?: InputMaybe<Scalars["Float"]["input"]>;
|
|
|
|
|
name: Scalars["String"]["input"];
|
|
|
|
|
state?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
timezone?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -2561,8 +2566,10 @@ export type MutationCreateBucketSetArgs = {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MutationCreateCameraClaimSessionArgs = {
|
|
|
|
|
agreedTermsVersion?: InputMaybe<Scalars["Int"]["input"]>;
|
|
|
|
|
cameraId: Scalars["ID"]["input"];
|
|
|
|
|
durationMinutes?: InputMaybe<Scalars["Int"]["input"]>;
|
|
|
|
|
tags?: InputMaybe<Array<VideoTagInput>>;
|
|
|
|
|
videoName?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
videoPrivate?: InputMaybe<Scalars["Boolean"]["input"]>;
|
|
|
|
|
};
|
|
|
|
|
@@ -2947,11 +2954,13 @@ export type PocketingIntentionInfoGql = {
|
|
|
|
|
export type PoolHall = {
|
|
|
|
|
__typename?: "PoolHall";
|
|
|
|
|
address?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
city?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
createdAt: Scalars["DateTime"]["output"];
|
|
|
|
|
id: Scalars["ID"]["output"];
|
|
|
|
|
latitude?: Maybe<Scalars["Float"]["output"]>;
|
|
|
|
|
longitude?: Maybe<Scalars["Float"]["output"]>;
|
|
|
|
|
name: Scalars["String"]["output"];
|
|
|
|
|
state?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
status: Scalars["String"]["output"];
|
|
|
|
|
timezone?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
updatedAt: Scalars["DateTime"]["output"];
|
|
|
|
|
@@ -2959,6 +2968,9 @@ export type PoolHall = {
|
|
|
|
|
|
|
|
|
|
export type PoolHallCamera = {
|
|
|
|
|
__typename?: "PoolHallCamera";
|
|
|
|
|
allowsPrivateVideos: Scalars["Boolean"]["output"];
|
|
|
|
|
claimTermsText?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
claimTermsVersion?: Maybe<Scalars["Int"]["output"]>;
|
|
|
|
|
createdAt: Scalars["DateTime"]["output"];
|
|
|
|
|
id: Scalars["ID"]["output"];
|
|
|
|
|
inUse: Scalars["Boolean"]["output"];
|
|
|
|
|
@@ -3715,6 +3727,7 @@ export type StripeSubscriptionOptionsGql = {
|
|
|
|
|
__typename?: "StripeSubscriptionOptionsGQL";
|
|
|
|
|
appleIap: AppleIapSubscriptionOptionsGql;
|
|
|
|
|
products: Array<StripeProductGql>;
|
|
|
|
|
tierOptions: Array<SubscriptionTierPurchaseOptionGql>;
|
|
|
|
|
trialPeriodDays?: Maybe<Scalars["Int"]["output"]>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -3729,6 +3742,22 @@ export enum StripeSubscriptionStatusEnum {
|
|
|
|
|
Unpaid = "UNPAID",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type SubscriptionTierPurchaseOptionGql = {
|
|
|
|
|
__typename?: "SubscriptionTierPurchaseOptionGQL";
|
|
|
|
|
appleProductId?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
billingInterval: Scalars["String"]["output"];
|
|
|
|
|
currency?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
isAvailable: Scalars["Boolean"]["output"];
|
|
|
|
|
isConfigured: Scalars["Boolean"]["output"];
|
|
|
|
|
platform: Scalars["String"]["output"];
|
|
|
|
|
recurringIntervalCount?: Maybe<Scalars["Int"]["output"]>;
|
|
|
|
|
stripePriceId?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
stripeProductId?: Maybe<Scalars["String"]["output"]>;
|
|
|
|
|
tierDisplayName: Scalars["String"]["output"];
|
|
|
|
|
tierName: Scalars["String"]["output"];
|
|
|
|
|
unitAmount?: Maybe<Scalars["Int"]["output"]>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type SuccessfulAdd = {
|
|
|
|
|
__typename?: "SuccessfulAdd";
|
|
|
|
|
value: Scalars["Boolean"]["output"];
|
|
|
|
|
@@ -3821,6 +3850,8 @@ export type UpdateAnnotationInputGql = {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type UpdatePoolHallCameraInput = {
|
|
|
|
|
allowsPrivateVideos?: InputMaybe<Scalars["Boolean"]["input"]>;
|
|
|
|
|
claimTermsText?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
id: Scalars["ID"]["input"];
|
|
|
|
|
name?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
pocketSize?: InputMaybe<Scalars["Float"]["input"]>;
|
|
|
|
|
@@ -3831,10 +3862,12 @@ export type UpdatePoolHallCameraInput = {
|
|
|
|
|
|
|
|
|
|
export type UpdatePoolHallInput = {
|
|
|
|
|
address?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
city?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
id: Scalars["ID"]["input"];
|
|
|
|
|
latitude?: InputMaybe<Scalars["Float"]["input"]>;
|
|
|
|
|
longitude?: InputMaybe<Scalars["Float"]["input"]>;
|
|
|
|
|
name?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
state?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
status?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
timezone?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
};
|
|
|
|
|
@@ -4576,6 +4609,8 @@ export type GetDeployedConfigQuery = {
|
|
|
|
|
minimumAllowedAppVersion: string;
|
|
|
|
|
subscriptionGatingEnabled: boolean;
|
|
|
|
|
quotaEnforcementEnabled: boolean;
|
|
|
|
|
storageLimitEnforcementEnabled: boolean;
|
|
|
|
|
capabilityEnforcementEnabled: boolean;
|
|
|
|
|
defaultAndroidRecordingFormat: StreamSegmentTypeEnum;
|
|
|
|
|
bucketUrl: string;
|
|
|
|
|
bannerMessages: Array<{
|
|
|
|
|
@@ -5441,6 +5476,21 @@ export type GetAvailableSubscriptionOptionsQuery = {
|
|
|
|
|
proMonthlyProductId?: string | null;
|
|
|
|
|
productIds: Array<string>;
|
|
|
|
|
};
|
|
|
|
|
tierOptions: Array<{
|
|
|
|
|
__typename?: "SubscriptionTierPurchaseOptionGQL";
|
|
|
|
|
tierName: string;
|
|
|
|
|
tierDisplayName: string;
|
|
|
|
|
billingInterval: string;
|
|
|
|
|
platform: string;
|
|
|
|
|
isConfigured: boolean;
|
|
|
|
|
isAvailable: boolean;
|
|
|
|
|
stripeProductId?: string | null;
|
|
|
|
|
stripePriceId?: string | null;
|
|
|
|
|
appleProductId?: string | null;
|
|
|
|
|
currency?: string | null;
|
|
|
|
|
unitAmount?: number | null;
|
|
|
|
|
recurringIntervalCount?: number | null;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -5465,6 +5515,45 @@ export type GetSubscriptionStatusQuery = {
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetResolvedTierQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetResolvedTierQuery = {
|
|
|
|
|
__typename?: "Query";
|
|
|
|
|
getResolvedTier: {
|
|
|
|
|
__typename?: "ResolvedTierGQL";
|
|
|
|
|
tierName: string;
|
|
|
|
|
tierDisplayName: string;
|
|
|
|
|
hasActiveSubscription: boolean;
|
|
|
|
|
entitlementSource?: EntitlementSourceTypeEnum | null;
|
|
|
|
|
entitlementStatus?: string | null;
|
|
|
|
|
entitlementStartsAt?: any | null;
|
|
|
|
|
entitlementEndsAt?: any | null;
|
|
|
|
|
capabilities: Array<string>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetStorageStatusQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetStorageStatusQuery = {
|
|
|
|
|
__typename?: "Query";
|
|
|
|
|
getStorageStatus?: {
|
|
|
|
|
__typename?: "StorageStatusGQL";
|
|
|
|
|
userId: number;
|
|
|
|
|
tierName: string;
|
|
|
|
|
retainedStorageUsedBytes: any;
|
|
|
|
|
retainedStorageLimitBytes?: any | null;
|
|
|
|
|
isUnlimited: boolean;
|
|
|
|
|
policyConfigured: boolean;
|
|
|
|
|
remainingStorageBytes?: any | null;
|
|
|
|
|
storageUsageRatio?: number | null;
|
|
|
|
|
isNearLimit: boolean;
|
|
|
|
|
isOverLimit: boolean;
|
|
|
|
|
usageCalculated: boolean;
|
|
|
|
|
usageSource?: string | null;
|
|
|
|
|
lastCalculatedAt?: any | null;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetAppleAppAccountTokenQueryVariables = Exact<{
|
|
|
|
|
[key: string]: never;
|
|
|
|
|
}>;
|
|
|
|
|
@@ -5534,6 +5623,8 @@ export type PoolHallFieldsFragment = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5552,6 +5643,9 @@ export type PoolHallCameraFieldsFragment = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5569,6 +5663,9 @@ export type PoolHallCameraWithHallFieldsFragment = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5579,6 +5676,8 @@ export type PoolHallCameraWithHallFieldsFragment = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5602,6 +5701,9 @@ export type PoolHallCameraStreamCredentialsFieldsFragment = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5612,6 +5714,8 @@ export type PoolHallCameraStreamCredentialsFieldsFragment = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5633,6 +5737,7 @@ export type CameraClaimSessionFieldsFragment = {
|
|
|
|
|
detectedAt?: any | null;
|
|
|
|
|
failedAt?: any | null;
|
|
|
|
|
failureReason?: string | null;
|
|
|
|
|
agreedTermsVersion?: number | null;
|
|
|
|
|
createdAt: any;
|
|
|
|
|
updatedAt: any;
|
|
|
|
|
camera: {
|
|
|
|
|
@@ -5645,6 +5750,9 @@ export type CameraClaimSessionFieldsFragment = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5655,6 +5763,8 @@ export type CameraClaimSessionFieldsFragment = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5689,6 +5799,9 @@ export type CameraLeaseFieldsFragment = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5699,6 +5812,8 @@ export type CameraLeaseFieldsFragment = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5718,6 +5833,8 @@ export type GetPoolHallsQuery = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5738,6 +5855,8 @@ export type GetClaimablePoolHallsQuery = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5763,6 +5882,9 @@ export type GetPoolHallCamerasQuery = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5773,6 +5895,8 @@ export type GetPoolHallCamerasQuery = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5799,6 +5923,9 @@ export type GetClaimableCamerasQuery = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5809,6 +5936,8 @@ export type GetClaimableCamerasQuery = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5836,6 +5965,7 @@ export type GetCameraClaimSessionQuery = {
|
|
|
|
|
detectedAt?: any | null;
|
|
|
|
|
failedAt?: any | null;
|
|
|
|
|
failureReason?: string | null;
|
|
|
|
|
agreedTermsVersion?: number | null;
|
|
|
|
|
createdAt: any;
|
|
|
|
|
updatedAt: any;
|
|
|
|
|
camera: {
|
|
|
|
|
@@ -5848,6 +5978,9 @@ export type GetCameraClaimSessionQuery = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5858,6 +5991,8 @@ export type GetCameraClaimSessionQuery = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5899,6 +6034,9 @@ export type GetActiveCameraLeaseQuery = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5909,6 +6047,8 @@ export type GetActiveCameraLeaseQuery = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5931,6 +6071,8 @@ export type CreatePoolHallMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5951,6 +6093,8 @@ export type UpdatePoolHallMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -5980,6 +6124,9 @@ export type CreatePoolHallCameraMutation = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -5990,6 +6137,8 @@ export type CreatePoolHallCameraMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -6017,6 +6166,9 @@ export type UpdatePoolHallCameraMutation = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -6027,6 +6179,8 @@ export type UpdatePoolHallCameraMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -6057,6 +6211,9 @@ export type RotatePoolHallCameraStreamKeyMutation = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -6067,6 +6224,8 @@ export type RotatePoolHallCameraStreamKeyMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -6083,6 +6242,8 @@ export type CreateCameraClaimSessionMutationVariables = Exact<{
|
|
|
|
|
durationMinutes?: InputMaybe<Scalars["Int"]["input"]>;
|
|
|
|
|
videoName?: InputMaybe<Scalars["String"]["input"]>;
|
|
|
|
|
videoPrivate?: InputMaybe<Scalars["Boolean"]["input"]>;
|
|
|
|
|
agreedTermsVersion?: InputMaybe<Scalars["Int"]["input"]>;
|
|
|
|
|
tags?: InputMaybe<Array<VideoTagInput> | VideoTagInput>;
|
|
|
|
|
}>;
|
|
|
|
|
|
|
|
|
|
export type CreateCameraClaimSessionMutation = {
|
|
|
|
|
@@ -6098,6 +6259,7 @@ export type CreateCameraClaimSessionMutation = {
|
|
|
|
|
detectedAt?: any | null;
|
|
|
|
|
failedAt?: any | null;
|
|
|
|
|
failureReason?: string | null;
|
|
|
|
|
agreedTermsVersion?: number | null;
|
|
|
|
|
createdAt: any;
|
|
|
|
|
updatedAt: any;
|
|
|
|
|
camera: {
|
|
|
|
|
@@ -6110,6 +6272,9 @@ export type CreateCameraClaimSessionMutation = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -6120,6 +6285,8 @@ export type CreateCameraClaimSessionMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -6148,6 +6315,7 @@ export type CancelCameraClaimSessionMutation = {
|
|
|
|
|
detectedAt?: any | null;
|
|
|
|
|
failedAt?: any | null;
|
|
|
|
|
failureReason?: string | null;
|
|
|
|
|
agreedTermsVersion?: number | null;
|
|
|
|
|
createdAt: any;
|
|
|
|
|
updatedAt: any;
|
|
|
|
|
camera: {
|
|
|
|
|
@@ -6160,6 +6328,9 @@ export type CancelCameraClaimSessionMutation = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -6170,6 +6341,8 @@ export type CancelCameraClaimSessionMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -6211,6 +6384,9 @@ export type EndCameraLeaseMutation = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -6221,6 +6397,8 @@ export type EndCameraLeaseMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -6263,6 +6441,9 @@ export type ExtendCameraLeaseMutation = {
|
|
|
|
|
status: string;
|
|
|
|
|
tableSize?: number | null;
|
|
|
|
|
pocketSize?: number | null;
|
|
|
|
|
allowsPrivateVideos: boolean;
|
|
|
|
|
claimTermsText?: string | null;
|
|
|
|
|
claimTermsVersion?: number | null;
|
|
|
|
|
inUse: boolean;
|
|
|
|
|
lastPublishedAt?: any | null;
|
|
|
|
|
lastUnpublishedAt?: any | null;
|
|
|
|
|
@@ -6273,6 +6454,8 @@ export type ExtendCameraLeaseMutation = {
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
address?: string | null;
|
|
|
|
|
city?: string | null;
|
|
|
|
|
state?: string | null;
|
|
|
|
|
latitude?: number | null;
|
|
|
|
|
longitude?: number | null;
|
|
|
|
|
timezone?: string | null;
|
|
|
|
|
@@ -8312,7 +8495,14 @@ export type GetUploadLinkMutation = {
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
| { __typename?: "SegmentAlreadyUploadedErr"; segmentId: number }
|
|
|
|
|
| { __typename?: "StorageLimitExceededErr" }
|
|
|
|
|
| {
|
|
|
|
|
__typename?: "StorageLimitExceededErr";
|
|
|
|
|
reason: string;
|
|
|
|
|
tierName: string;
|
|
|
|
|
retainedStorageUsedBytes: any;
|
|
|
|
|
retainedStorageLimitBytes?: any | null;
|
|
|
|
|
remainingStorageBytes?: any | null;
|
|
|
|
|
}
|
|
|
|
|
| { __typename?: "TooManyInitUploadsErr" }
|
|
|
|
|
| { __typename?: "TooManyProfileImageUploadsErr" };
|
|
|
|
|
}
|
|
|
|
|
@@ -8603,6 +8793,9 @@ export const PoolHallCameraFieldsFragmentDoc = gql`
|
|
|
|
|
status
|
|
|
|
|
tableSize
|
|
|
|
|
pocketSize
|
|
|
|
|
allowsPrivateVideos
|
|
|
|
|
claimTermsText
|
|
|
|
|
claimTermsVersion
|
|
|
|
|
inUse
|
|
|
|
|
lastPublishedAt
|
|
|
|
|
lastUnpublishedAt
|
|
|
|
|
@@ -8615,6 +8808,8 @@ export const PoolHallFieldsFragmentDoc = gql`
|
|
|
|
|
id
|
|
|
|
|
name
|
|
|
|
|
address
|
|
|
|
|
city
|
|
|
|
|
state
|
|
|
|
|
latitude
|
|
|
|
|
longitude
|
|
|
|
|
timezone
|
|
|
|
|
@@ -8654,6 +8849,7 @@ export const CameraClaimSessionFieldsFragmentDoc = gql`
|
|
|
|
|
detectedAt
|
|
|
|
|
failedAt
|
|
|
|
|
failureReason
|
|
|
|
|
agreedTermsVersion
|
|
|
|
|
createdAt
|
|
|
|
|
updatedAt
|
|
|
|
|
camera {
|
|
|
|
|
@@ -10435,6 +10631,8 @@ export const GetDeployedConfigDocument = gql`
|
|
|
|
|
minimumAllowedAppVersion
|
|
|
|
|
subscriptionGatingEnabled
|
|
|
|
|
quotaEnforcementEnabled
|
|
|
|
|
storageLimitEnforcementEnabled
|
|
|
|
|
capabilityEnforcementEnabled
|
|
|
|
|
bannerMessages {
|
|
|
|
|
color
|
|
|
|
|
dismissible
|
|
|
|
|
@@ -12133,6 +12331,20 @@ export const GetAvailableSubscriptionOptionsDocument = gql`
|
|
|
|
|
proMonthlyProductId
|
|
|
|
|
productIds
|
|
|
|
|
}
|
|
|
|
|
tierOptions {
|
|
|
|
|
tierName
|
|
|
|
|
tierDisplayName
|
|
|
|
|
billingInterval
|
|
|
|
|
platform
|
|
|
|
|
isConfigured
|
|
|
|
|
isAvailable
|
|
|
|
|
stripeProductId
|
|
|
|
|
stripePriceId
|
|
|
|
|
appleProductId
|
|
|
|
|
currency
|
|
|
|
|
unitAmount
|
|
|
|
|
recurringIntervalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
@@ -12282,6 +12494,169 @@ export type GetSubscriptionStatusQueryResult = Apollo.QueryResult<
|
|
|
|
|
GetSubscriptionStatusQuery,
|
|
|
|
|
GetSubscriptionStatusQueryVariables
|
|
|
|
|
>;
|
|
|
|
|
export const GetResolvedTierDocument = gql`
|
|
|
|
|
query GetResolvedTier {
|
|
|
|
|
getResolvedTier {
|
|
|
|
|
tierName
|
|
|
|
|
tierDisplayName
|
|
|
|
|
hasActiveSubscription
|
|
|
|
|
entitlementSource
|
|
|
|
|
entitlementStatus
|
|
|
|
|
entitlementStartsAt
|
|
|
|
|
entitlementEndsAt
|
|
|
|
|
capabilities
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* __useGetResolvedTierQuery__
|
|
|
|
|
*
|
|
|
|
|
* To run a query within a React component, call `useGetResolvedTierQuery` and pass it any options that fit your needs.
|
|
|
|
|
* When your component renders, `useGetResolvedTierQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
|
|
|
|
* you can use to render your UI.
|
|
|
|
|
*
|
|
|
|
|
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
|
|
|
|
*
|
|
|
|
|
* @example
|
|
|
|
|
* const { data, loading, error } = useGetResolvedTierQuery({
|
|
|
|
|
* variables: {
|
|
|
|
|
* },
|
|
|
|
|
* });
|
|
|
|
|
*/
|
|
|
|
|
export function useGetResolvedTierQuery(
|
|
|
|
|
baseOptions?: Apollo.QueryHookOptions<
|
|
|
|
|
GetResolvedTierQuery,
|
|
|
|
|
GetResolvedTierQueryVariables
|
|
|
|
|
>,
|
|
|
|
|
) {
|
|
|
|
|
const options = { ...defaultOptions, ...baseOptions };
|
|
|
|
|
return Apollo.useQuery<GetResolvedTierQuery, GetResolvedTierQueryVariables>(
|
|
|
|
|
GetResolvedTierDocument,
|
|
|
|
|
options,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
export function useGetResolvedTierLazyQuery(
|
|
|
|
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
|
|
|
|
GetResolvedTierQuery,
|
|
|
|
|
GetResolvedTierQueryVariables
|
|
|
|
|
>,
|
|
|
|
|
) {
|
|
|
|
|
const options = { ...defaultOptions, ...baseOptions };
|
|
|
|
|
return Apollo.useLazyQuery<
|
|
|
|
|
GetResolvedTierQuery,
|
|
|
|
|
GetResolvedTierQueryVariables
|
|
|
|
|
>(GetResolvedTierDocument, options);
|
|
|
|
|
}
|
|
|
|
|
export function useGetResolvedTierSuspenseQuery(
|
|
|
|
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
|
|
|
|
GetResolvedTierQuery,
|
|
|
|
|
GetResolvedTierQueryVariables
|
|
|
|
|
>,
|
|
|
|
|
) {
|
|
|
|
|
const options = { ...defaultOptions, ...baseOptions };
|
|
|
|
|
return Apollo.useSuspenseQuery<
|
|
|
|
|
GetResolvedTierQuery,
|
|
|
|
|
GetResolvedTierQueryVariables
|
|
|
|
|
>(GetResolvedTierDocument, options);
|
|
|
|
|
}
|
|
|
|
|
export type GetResolvedTierQueryHookResult = ReturnType<
|
|
|
|
|
typeof useGetResolvedTierQuery
|
|
|
|
|
>;
|
|
|
|
|
export type GetResolvedTierLazyQueryHookResult = ReturnType<
|
|
|
|
|
typeof useGetResolvedTierLazyQuery
|
|
|
|
|
>;
|
|
|
|
|
export type GetResolvedTierSuspenseQueryHookResult = ReturnType<
|
|
|
|
|
typeof useGetResolvedTierSuspenseQuery
|
|
|
|
|
>;
|
|
|
|
|
export type GetResolvedTierQueryResult = Apollo.QueryResult<
|
|
|
|
|
GetResolvedTierQuery,
|
|
|
|
|
GetResolvedTierQueryVariables
|
|
|
|
|
>;
|
|
|
|
|
export const GetStorageStatusDocument = gql`
|
|
|
|
|
query GetStorageStatus {
|
|
|
|
|
getStorageStatus {
|
|
|
|
|
userId
|
|
|
|
|
tierName
|
|
|
|
|
retainedStorageUsedBytes
|
|
|
|
|
retainedStorageLimitBytes
|
|
|
|
|
isUnlimited
|
|
|
|
|
policyConfigured
|
|
|
|
|
remainingStorageBytes
|
|
|
|
|
storageUsageRatio
|
|
|
|
|
isNearLimit
|
|
|
|
|
isOverLimit
|
|
|
|
|
usageCalculated
|
|
|
|
|
usageSource
|
|
|
|
|
lastCalculatedAt
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* __useGetStorageStatusQuery__
|
|
|
|
|
*
|
|
|
|
|
* To run a query within a React component, call `useGetStorageStatusQuery` and pass it any options that fit your needs.
|
|
|
|
|
* When your component renders, `useGetStorageStatusQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
|
|
|
|
* you can use to render your UI.
|
|
|
|
|
*
|
|
|
|
|
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
|
|
|
|
*
|
|
|
|
|
* @example
|
|
|
|
|
* const { data, loading, error } = useGetStorageStatusQuery({
|
|
|
|
|
* variables: {
|
|
|
|
|
* },
|
|
|
|
|
* });
|
|
|
|
|
*/
|
|
|
|
|
export function useGetStorageStatusQuery(
|
|
|
|
|
baseOptions?: Apollo.QueryHookOptions<
|
|
|
|
|
GetStorageStatusQuery,
|
|
|
|
|
GetStorageStatusQueryVariables
|
|
|
|
|
>,
|
|
|
|
|
) {
|
|
|
|
|
const options = { ...defaultOptions, ...baseOptions };
|
|
|
|
|
return Apollo.useQuery<GetStorageStatusQuery, GetStorageStatusQueryVariables>(
|
|
|
|
|
GetStorageStatusDocument,
|
|
|
|
|
options,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
export function useGetStorageStatusLazyQuery(
|
|
|
|
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
|
|
|
|
GetStorageStatusQuery,
|
|
|
|
|
GetStorageStatusQueryVariables
|
|
|
|
|
>,
|
|
|
|
|
) {
|
|
|
|
|
const options = { ...defaultOptions, ...baseOptions };
|
|
|
|
|
return Apollo.useLazyQuery<
|
|
|
|
|
GetStorageStatusQuery,
|
|
|
|
|
GetStorageStatusQueryVariables
|
|
|
|
|
>(GetStorageStatusDocument, options);
|
|
|
|
|
}
|
|
|
|
|
export function useGetStorageStatusSuspenseQuery(
|
|
|
|
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
|
|
|
|
GetStorageStatusQuery,
|
|
|
|
|
GetStorageStatusQueryVariables
|
|
|
|
|
>,
|
|
|
|
|
) {
|
|
|
|
|
const options = { ...defaultOptions, ...baseOptions };
|
|
|
|
|
return Apollo.useSuspenseQuery<
|
|
|
|
|
GetStorageStatusQuery,
|
|
|
|
|
GetStorageStatusQueryVariables
|
|
|
|
|
>(GetStorageStatusDocument, options);
|
|
|
|
|
}
|
|
|
|
|
export type GetStorageStatusQueryHookResult = ReturnType<
|
|
|
|
|
typeof useGetStorageStatusQuery
|
|
|
|
|
>;
|
|
|
|
|
export type GetStorageStatusLazyQueryHookResult = ReturnType<
|
|
|
|
|
typeof useGetStorageStatusLazyQuery
|
|
|
|
|
>;
|
|
|
|
|
export type GetStorageStatusSuspenseQueryHookResult = ReturnType<
|
|
|
|
|
typeof useGetStorageStatusSuspenseQuery
|
|
|
|
|
>;
|
|
|
|
|
export type GetStorageStatusQueryResult = Apollo.QueryResult<
|
|
|
|
|
GetStorageStatusQuery,
|
|
|
|
|
GetStorageStatusQueryVariables
|
|
|
|
|
>;
|
|
|
|
|
export const GetAppleAppAccountTokenDocument = gql`
|
|
|
|
|
query GetAppleAppAccountToken {
|
|
|
|
|
getAppleAppAccountToken
|
|
|
|
|
@@ -13235,12 +13610,16 @@ export const CreateCameraClaimSessionDocument = gql`
|
|
|
|
|
$durationMinutes: Int
|
|
|
|
|
$videoName: String
|
|
|
|
|
$videoPrivate: Boolean
|
|
|
|
|
$agreedTermsVersion: Int
|
|
|
|
|
$tags: [VideoTagInput!]
|
|
|
|
|
) {
|
|
|
|
|
createCameraClaimSession(
|
|
|
|
|
cameraId: $cameraId
|
|
|
|
|
durationMinutes: $durationMinutes
|
|
|
|
|
videoName: $videoName
|
|
|
|
|
videoPrivate: $videoPrivate
|
|
|
|
|
agreedTermsVersion: $agreedTermsVersion
|
|
|
|
|
tags: $tags
|
|
|
|
|
) {
|
|
|
|
|
...CameraClaimSessionFields
|
|
|
|
|
}
|
|
|
|
|
@@ -13269,6 +13648,8 @@ export type CreateCameraClaimSessionMutationFn = Apollo.MutationFunction<
|
|
|
|
|
* durationMinutes: // value for 'durationMinutes'
|
|
|
|
|
* videoName: // value for 'videoName'
|
|
|
|
|
* videoPrivate: // value for 'videoPrivate'
|
|
|
|
|
* agreedTermsVersion: // value for 'agreedTermsVersion'
|
|
|
|
|
* tags: // value for 'tags'
|
|
|
|
|
* },
|
|
|
|
|
* });
|
|
|
|
|
*/
|
|
|
|
|
@@ -17873,6 +18254,13 @@ export const GetUploadLinkDocument = gql`
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
... on StorageLimitExceededErr {
|
|
|
|
|
reason
|
|
|
|
|
tierName
|
|
|
|
|
retainedStorageUsedBytes
|
|
|
|
|
retainedStorageLimitBytes
|
|
|
|
|
remainingStorageBytes
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|