{"version":3,"file":"vendasta-marketplace-packages.mjs","sources":["../../../marketplace_packages_sdk/src/lib/_internal/enums/common.enum.ts","../../../marketplace_packages_sdk/src/lib/_internal/enums/product.enum.ts","../../../marketplace_packages_sdk/src/lib/_internal/enums/package.enum.ts","../../../marketplace_packages_sdk/src/lib/_internal/enums/api.enum.ts","../../../marketplace_packages_sdk/src/lib/_internal/enums/shopping-cart-api.enum.ts","../../../marketplace_packages_sdk/src/lib/_internal/enums/index.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/common.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/restrictions.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/product.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/addon.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/retail-price.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/package.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/field-mask.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/annotations.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/api.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/shopping-cart-api.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/store-api.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/app-partner-settings-api.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/buy-it-now-api.ts","../../../marketplace_packages_sdk/src/lib/_internal/objects/index.ts","../../../marketplace_packages_sdk/src/lib/_generated/host.service.ts","../../../marketplace_packages_sdk/src/lib/_internal/app-partner-settings.api.service.ts","../../../marketplace_packages_sdk/src/lib/_internal/buy-it-now.api.service.ts","../../../marketplace_packages_sdk/src/lib/_internal/marketplace-packages.api.service.ts","../../../marketplace_packages_sdk/src/lib/_internal/marketplace-store.api.service.ts","../../../marketplace_packages_sdk/src/lib/_internal/shopping-cart.api.service.ts","../../../marketplace_packages_sdk/src/lib/_internal/index.ts","../../../marketplace_packages_sdk/src/lib/partner-app-enablement-status.service.ts","../../../marketplace_packages_sdk/src/lib/package.service.ts","../../../marketplace_packages_sdk/src/lib/product.service.ts","../../../marketplace_packages_sdk/src/lib/app.model.ts","../../../marketplace_packages_sdk/src/lib/app-type.ts","../../../marketplace_packages_sdk/src/lib/app.service.ts","../../../marketplace_packages_sdk/src/lib/addon.service.ts","../../../marketplace_packages_sdk/src/lib/store.service.ts","../../../marketplace_packages_sdk/src/lib/lmi-categories.ts","../../../marketplace_packages_sdk/src/lib/currency.ts","../../../marketplace_packages_sdk/src/lib/app-partner-settings.service.ts","../../../marketplace_packages_sdk/src/lib/shopping-cart.service.ts","../../../marketplace_packages_sdk/src/lib/buy-it-now.service.ts","../../../marketplace_packages_sdk/src/vendasta-marketplace-packages.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CurrenciesCurrency {\n    USD = 0,\n    AUD = 1,\n    BRL = 2,\n    CAD = 3,\n    CHF = 4,\n    CNY = 5,\n    CZK = 6,\n    EUR = 7,\n    GBP = 8,\n    HKD = 9,\n    INR = 10,\n    JPY = 11,\n    KHR = 12,\n    KRW = 13,\n    MXN = 14,\n    NOK = 15,\n    NZD = 16,\n    RUB = 17,\n    SEK = 18,\n    SGD = 19,\n    TRY = 20,\n    ZAR = 21,\n    DZD = 22,\n    AWG = 23,\n    FJD = 24,\n    KYD = 25,\n}\n\nexport enum FrequenciesFrequency {\n    MONTHLY = 0,\n    DAILY = 1,\n    ONCE = 2,\n    YEARLY = 3,\n    WEEKLY = 4,\n    OTHER = 5,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum LmiCategories {\n    NOT_SET = 0,\n    WEBSITE = 1,\n    CONTENT_AND_EXPERIENCE = 2,\n    LISTINGS = 3,\n    REPUTATION = 4,\n    SEO = 5,\n    SOCIAL = 6,\n    ADVERTISING = 7,\n}\n\nexport enum State {\n    STATE_INVALID = 0,\n    STATE_DRAFT = 1,\n    STATE_PUBLISHED = 2,\n}\n\nexport enum ServiceModelType {\n    DIY = 0,\n    DIWM = 1,\n    DIFM = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum AppEnablementStatusesAppEnablementStatus {\n    NOT_SPECIFIED = 0,\n    ENABLED = 1,\n    DISABLED = 2,\n}\n\nexport enum LineItemDisplayOption {\n    LINE_ITEM_DISPLAY_OPTION_UNSET = 0,\n    LINE_ITEM_DISPLAY_OPTION_SHOW_CONTENTS_SHOW_PRICES = 1,\n    LINE_ITEM_DISPLAY_OPTION_SHOW_CONTENTS_HIDE_PRICES = 2,\n    LINE_ITEM_DISPLAY_OPTION_HIDE_CONTENT_HIDE_PRICES = 3,\n}\n\nexport enum PricingDisplayOption {\n    PRICING_DISPLAY_OPTION_NOT_SPECIFIED = 0,\n    PRICING_DISPLAY_OPTION_CONTACT_SALES = 1,\n    PRICING_DISPLAY_OPTION_STARTING_AT = 2,\n}\n\nexport enum StatusesStatus {\n    DRAFT = 0,\n    PUBLISHED = 1,\n    ARCHIVED = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum AppType {\n    NOT_SPECIFIED = 0,\n    APP = 1,\n    ADDON = 2,\n    CUSTOM_PRODUCT = 3,\n}\n\nexport enum DiscoverProductSortOrderType {\n    SORT_ORDER_NOT_SPECIFIED = 0,\n    SORT_ORDER_RELEASED = 1,\n    SORT_ORDER_TRENDING = 2,\n    SORT_ORDER_TOP_SELLING = 3,\n}\n\nexport enum PermissionsListType {\n    PERMISSIONS_LIST_NOT_SPECIFIED = 0,\n    PERMISSIONS_LIST_WHITELIST = 1,\n    PERMISSIONS_LIST_BLACKLIST = 2,\n}\n\nexport enum ProductPricingType {\n    INVALID = 0,\n    STANDARD = 1,\n    STAIRSTEP = 2,\n    TIERED = 3,\n}\n\nexport enum StateFilterOptions {\n    STATE_FILTER_OPTIONS_PUBLISHED = 0,\n    STATE_FILTER_OPTIONS_DRAFT = 1,\n    STATE_FILTER_OPTIONS_ALL = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ShoppingCartItemType {\n    SHOPPING_CART_ITEM_TYPE_INVALID = 0,\n    SHOPPING_CART_ITEM_TYPE_PACKAGE = 1,\n    SHOPPING_CART_ITEM_TYPE_PRODUCT = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n    CurrenciesCurrency,\n    FrequenciesFrequency,\n} from './common.enum';\nexport {\n    LmiCategories,\n    State,\n    ServiceModelType,\n} from './product.enum';\nexport {\n    AppEnablementStatusesAppEnablementStatus,\n    LineItemDisplayOption,\n    PricingDisplayOption,\n    StatusesStatus,\n} from './package.enum';\nexport {\n    AppType,\n    DiscoverProductSortOrderType,\n    PermissionsListType,\n    ProductPricingType,\n    StateFilterOptions,\n} from './api.enum';\nexport {\n    ShoppingCartItemType,\n} from './shopping-cart-api.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class Currencies implements i.CurrenciesInterface {\n\n    static fromProto(proto: any): Currencies {\n        let m = new Currencies();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CurrenciesInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\nexport class Frequencies implements i.FrequenciesInterface {\n\n    static fromProto(proto: any): Frequencies {\n        let m = new Frequencies();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.FrequenciesInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class PermissionLists implements i.PermissionListsInterface {\n    whitelist: string[];\n    blacklist: string[];\n\n    static fromProto(proto: any): PermissionLists {\n        let m = new PermissionLists();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.PermissionListsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.whitelist !== 'undefined') {toReturn['whitelist'] = this.whitelist;}\n        if (typeof this.blacklist !== 'undefined') {toReturn['blacklist'] = this.blacklist;}\n        return toReturn;\n    }\n}\n\nexport class Restrictions implements i.RestrictionsInterface {\n    country: PermissionLists;\n\n    static fromProto(proto: any): Restrictions {\n        let m = new Restrictions();\n        m = Object.assign(m, proto);\n        if (proto.country) {m.country = PermissionLists.fromProto(proto.country);}\n        return m;\n    }\n\n    constructor(kwargs?: i.RestrictionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.country !== 'undefined' && this.country !== null) {toReturn['country'] = 'toApiJson' in this.country ? (this.country as any).toApiJson() : this.country;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Restrictions } from './restrictions';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class FrequentlyAskedQuestions implements i.FrequentlyAskedQuestionsInterface {\n    question: string;\n    answer: string;\n\n    static fromProto(proto: any): FrequentlyAskedQuestions {\n        let m = new FrequentlyAskedQuestions();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.FrequentlyAskedQuestionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.question !== 'undefined') {toReturn['question'] = this.question;}\n        if (typeof this.answer !== 'undefined') {toReturn['answer'] = this.answer;}\n        return toReturn;\n    }\n}\n\nexport class Lmi implements i.LmiInterface {\n\n    static fromProto(proto: any): Lmi {\n        let m = new Lmi();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.LmiInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\nexport class Product implements i.ProductInterface {\n    productId: string;\n    partnerId: string;\n    name: string;\n    tagline: string;\n    description: string;\n    keySellingPoints: string[];\n    iconUrl: string;\n    headerImageUrl: string;\n    screenshotUrls: string[];\n    pdfUploadUrls: string[];\n    currency: e.CurrenciesCurrency;\n    wholesalePrice: string;\n    recommendedSellPrice: string;\n    billingFrequency: string;\n    serviceModel: e.ServiceModelType[];\n    category: string;\n    lmiCategories: e.LmiCategories[];\n    origin: string;\n    usesCustomizationForm: boolean;\n    entryUrl: string;\n    sessionUrl: string;\n    websiteUrl: string;\n    updatedBy: string;\n    endDate: Date;\n    faqs: FrequentlyAskedQuestions[];\n    created: Date;\n    updated: Date;\n    isArchived: boolean;\n    restrictions: Restrictions;\n    billingId: string;\n    usesActivationSpecificEntryUrl: boolean;\n    state: e.State;\n    setupFee: number;\n    suspended: Date;\n    usesCustomPricing: boolean;\n\n    static fromProto(proto: any): Product {\n        let m = new Product();\n        m = Object.assign(m, proto);\n        if (proto.currency) {m.currency = enumStringToValue<e.CurrenciesCurrency>(e.CurrenciesCurrency, proto.currency);}\n        if (proto.serviceModel) {m.serviceModel = proto.serviceModel.map((v: string) => enumStringToValue<e.ServiceModelType>(e.ServiceModelType, v));}\n        if (proto.lmiCategories) {m.lmiCategories = proto.lmiCategories.map((v: string) => enumStringToValue<e.LmiCategories>(e.LmiCategories, v));}\n        if (proto.endDate) {m.endDate = new Date(proto.endDate);}\n        if (proto.faqs) {m.faqs = proto.faqs.map(FrequentlyAskedQuestions.fromProto);}\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.updated) {m.updated = new Date(proto.updated);}\n        if (proto.restrictions) {m.restrictions = Restrictions.fromProto(proto.restrictions);}\n        if (proto.state) {m.state = enumStringToValue<e.State>(e.State, proto.state);}\n        if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n        if (proto.suspended) {m.suspended = new Date(proto.suspended);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ProductInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n        if (typeof this.keySellingPoints !== 'undefined') {toReturn['keySellingPoints'] = this.keySellingPoints;}\n        if (typeof this.iconUrl !== 'undefined') {toReturn['iconUrl'] = this.iconUrl;}\n        if (typeof this.headerImageUrl !== 'undefined') {toReturn['headerImageUrl'] = this.headerImageUrl;}\n        if (typeof this.screenshotUrls !== 'undefined') {toReturn['screenshotUrls'] = this.screenshotUrls;}\n        if (typeof this.pdfUploadUrls !== 'undefined') {toReturn['pdfUploadUrls'] = this.pdfUploadUrls;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.wholesalePrice !== 'undefined') {toReturn['wholesalePrice'] = this.wholesalePrice;}\n        if (typeof this.recommendedSellPrice !== 'undefined') {toReturn['recommendedSellPrice'] = this.recommendedSellPrice;}\n        if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n        if (typeof this.serviceModel !== 'undefined') {toReturn['serviceModel'] = this.serviceModel;}\n        if (typeof this.category !== 'undefined') {toReturn['category'] = this.category;}\n        if (typeof this.lmiCategories !== 'undefined') {toReturn['lmiCategories'] = this.lmiCategories;}\n        if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n        if (typeof this.usesCustomizationForm !== 'undefined') {toReturn['usesCustomizationForm'] = this.usesCustomizationForm;}\n        if (typeof this.entryUrl !== 'undefined') {toReturn['entryUrl'] = this.entryUrl;}\n        if (typeof this.sessionUrl !== 'undefined') {toReturn['sessionUrl'] = this.sessionUrl;}\n        if (typeof this.websiteUrl !== 'undefined') {toReturn['websiteUrl'] = this.websiteUrl;}\n        if (typeof this.updatedBy !== 'undefined') {toReturn['updatedBy'] = this.updatedBy;}\n        if (typeof this.endDate !== 'undefined' && this.endDate !== null) {toReturn['endDate'] = 'toApiJson' in this.endDate ? (this.endDate as any).toApiJson() : this.endDate;}\n        if (typeof this.faqs !== 'undefined' && this.faqs !== null) {toReturn['faqs'] = 'toApiJson' in this.faqs ? (this.faqs as any).toApiJson() : this.faqs;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n        if (typeof this.isArchived !== 'undefined') {toReturn['isArchived'] = this.isArchived;}\n        if (typeof this.restrictions !== 'undefined' && this.restrictions !== null) {toReturn['restrictions'] = 'toApiJson' in this.restrictions ? (this.restrictions as any).toApiJson() : this.restrictions;}\n        if (typeof this.billingId !== 'undefined') {toReturn['billingId'] = this.billingId;}\n        if (typeof this.usesActivationSpecificEntryUrl !== 'undefined') {toReturn['usesActivationSpecificEntryUrl'] = this.usesActivationSpecificEntryUrl;}\n        if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n        if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n        if (typeof this.suspended !== 'undefined' && this.suspended !== null) {toReturn['suspended'] = 'toApiJson' in this.suspended ? (this.suspended as any).toApiJson() : this.suspended;}\n        if (typeof this.usesCustomPricing !== 'undefined') {toReturn['usesCustomPricing'] = this.usesCustomPricing;}\n        return toReturn;\n    }\n}\n\nexport class ServiceModel implements i.ServiceModelInterface {\n\n    static fromProto(proto: any): ServiceModel {\n        let m = new ServiceModel();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ServiceModelInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { FrequentlyAskedQuestions } from './product';\nimport { Restrictions } from './restrictions';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class Addon implements i.AddonInterface {\n    addonId: string;\n    appId: string;\n    tagline: string;\n    title: string;\n    approved: boolean;\n    icon: string;\n    bannerImage: string;\n    endUserMarketing: MarketingInformation;\n    serviceModel: string[];\n    discoverable: boolean;\n    screenshots: string[];\n    multipleActivations: boolean;\n    usesOrderForm: boolean;\n    billingFrequency: string;\n    resellerMarketing: MarketingInformation;\n    created: Date;\n    updated: Date;\n    orderForm: OrderForm;\n    price: number;\n    restrictions: Restrictions;\n    activationRequiresApproval: boolean;\n    billingId: string;\n    currency: string;\n    setupFee: number;\n    suspended: Date;\n    usesCustomPricing: boolean;\n\n    static fromProto(proto: any): Addon {\n        let m = new Addon();\n        m = Object.assign(m, proto);\n        if (proto.endUserMarketing) {m.endUserMarketing = MarketingInformation.fromProto(proto.endUserMarketing);}\n        if (proto.resellerMarketing) {m.resellerMarketing = MarketingInformation.fromProto(proto.resellerMarketing);}\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.updated) {m.updated = new Date(proto.updated);}\n        if (proto.orderForm) {m.orderForm = OrderForm.fromProto(proto.orderForm);}\n        if (proto.price) {m.price = parseInt(proto.price, 10);}\n        if (proto.restrictions) {m.restrictions = Restrictions.fromProto(proto.restrictions);}\n        if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n        if (proto.suspended) {m.suspended = new Date(proto.suspended);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AddonInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.addonId !== 'undefined') {toReturn['addonId'] = this.addonId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.title !== 'undefined') {toReturn['title'] = this.title;}\n        if (typeof this.approved !== 'undefined') {toReturn['approved'] = this.approved;}\n        if (typeof this.icon !== 'undefined') {toReturn['icon'] = this.icon;}\n        if (typeof this.bannerImage !== 'undefined') {toReturn['bannerImage'] = this.bannerImage;}\n        if (typeof this.endUserMarketing !== 'undefined' && this.endUserMarketing !== null) {toReturn['endUserMarketing'] = 'toApiJson' in this.endUserMarketing ? (this.endUserMarketing as any).toApiJson() : this.endUserMarketing;}\n        if (typeof this.serviceModel !== 'undefined') {toReturn['serviceModel'] = this.serviceModel;}\n        if (typeof this.discoverable !== 'undefined') {toReturn['discoverable'] = this.discoverable;}\n        if (typeof this.screenshots !== 'undefined') {toReturn['screenshots'] = this.screenshots;}\n        if (typeof this.multipleActivations !== 'undefined') {toReturn['multipleActivations'] = this.multipleActivations;}\n        if (typeof this.usesOrderForm !== 'undefined') {toReturn['usesOrderForm'] = this.usesOrderForm;}\n        if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n        if (typeof this.resellerMarketing !== 'undefined' && this.resellerMarketing !== null) {toReturn['resellerMarketing'] = 'toApiJson' in this.resellerMarketing ? (this.resellerMarketing as any).toApiJson() : this.resellerMarketing;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n        if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {toReturn['orderForm'] = 'toApiJson' in this.orderForm ? (this.orderForm as any).toApiJson() : this.orderForm;}\n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        if (typeof this.restrictions !== 'undefined' && this.restrictions !== null) {toReturn['restrictions'] = 'toApiJson' in this.restrictions ? (this.restrictions as any).toApiJson() : this.restrictions;}\n        if (typeof this.activationRequiresApproval !== 'undefined') {toReturn['activationRequiresApproval'] = this.activationRequiresApproval;}\n        if (typeof this.billingId !== 'undefined') {toReturn['billingId'] = this.billingId;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n        if (typeof this.suspended !== 'undefined' && this.suspended !== null) {toReturn['suspended'] = 'toApiJson' in this.suspended ? (this.suspended as any).toApiJson() : this.suspended;}\n        if (typeof this.usesCustomPricing !== 'undefined') {toReturn['usesCustomPricing'] = this.usesCustomPricing;}\n        return toReturn;\n    }\n}\n\nexport class IncludedCommonFormFields implements i.IncludedCommonFormFieldsInterface {\n    businessName: boolean;\n    businessAddress: boolean;\n    businessPhoneNumber: boolean;\n    businessAccountGroupId: boolean;\n    salespersonName: boolean;\n    salespersonPhoneNumber: boolean;\n    salespersonEmail: boolean;\n    contactName: boolean;\n    contactPhoneNumber: boolean;\n    contactEmail: boolean;\n\n    static fromProto(proto: any): IncludedCommonFormFields {\n        let m = new IncludedCommonFormFields();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.IncludedCommonFormFieldsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessName !== 'undefined') {toReturn['businessName'] = this.businessName;}\n        if (typeof this.businessAddress !== 'undefined') {toReturn['businessAddress'] = this.businessAddress;}\n        if (typeof this.businessPhoneNumber !== 'undefined') {toReturn['businessPhoneNumber'] = this.businessPhoneNumber;}\n        if (typeof this.businessAccountGroupId !== 'undefined') {toReturn['businessAccountGroupId'] = this.businessAccountGroupId;}\n        if (typeof this.salespersonName !== 'undefined') {toReturn['salespersonName'] = this.salespersonName;}\n        if (typeof this.salespersonPhoneNumber !== 'undefined') {toReturn['salespersonPhoneNumber'] = this.salespersonPhoneNumber;}\n        if (typeof this.salespersonEmail !== 'undefined') {toReturn['salespersonEmail'] = this.salespersonEmail;}\n        if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n        if (typeof this.contactPhoneNumber !== 'undefined') {toReturn['contactPhoneNumber'] = this.contactPhoneNumber;}\n        if (typeof this.contactEmail !== 'undefined') {toReturn['contactEmail'] = this.contactEmail;}\n        return toReturn;\n    }\n}\n\nexport class MarketingInformation implements i.MarketingInformationInterface {\n    description: string;\n    keySellingPoints: string[];\n    faqs: FrequentlyAskedQuestions[];\n    files: string[];\n\n    static fromProto(proto: any): MarketingInformation {\n        let m = new MarketingInformation();\n        m = Object.assign(m, proto);\n        if (proto.faqs) {m.faqs = proto.faqs.map(FrequentlyAskedQuestions.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.MarketingInformationInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n        if (typeof this.keySellingPoints !== 'undefined') {toReturn['keySellingPoints'] = this.keySellingPoints;}\n        if (typeof this.faqs !== 'undefined' && this.faqs !== null) {toReturn['faqs'] = 'toApiJson' in this.faqs ? (this.faqs as any).toApiJson() : this.faqs;}\n        if (typeof this.files !== 'undefined') {toReturn['files'] = this.files;}\n        return toReturn;\n    }\n}\n\nexport class OrderForm implements i.OrderFormInterface {\n    orderForm: OrderFormField[];\n    commonForm: IncludedCommonFormFields;\n    activationMessage: string;\n    separateOrderForms: boolean;\n\n    static fromProto(proto: any): OrderForm {\n        let m = new OrderForm();\n        m = Object.assign(m, proto);\n        if (proto.orderForm) {m.orderForm = proto.orderForm.map(OrderFormField.fromProto);}\n        if (proto.commonForm) {m.commonForm = IncludedCommonFormFields.fromProto(proto.commonForm);}\n        return m;\n    }\n\n    constructor(kwargs?: i.OrderFormInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {toReturn['orderForm'] = 'toApiJson' in this.orderForm ? (this.orderForm as any).toApiJson() : this.orderForm;}\n        if (typeof this.commonForm !== 'undefined' && this.commonForm !== null) {toReturn['commonForm'] = 'toApiJson' in this.commonForm ? (this.commonForm as any).toApiJson() : this.commonForm;}\n        if (typeof this.activationMessage !== 'undefined') {toReturn['activationMessage'] = this.activationMessage;}\n        if (typeof this.separateOrderForms !== 'undefined') {toReturn['separateOrderForms'] = this.separateOrderForms;}\n        return toReturn;\n    }\n}\n\nexport class OrderFormField implements i.OrderFormFieldInterface {\n    label: string;\n    id: string;\n    type: string;\n    options: string[];\n    description: string;\n    required: boolean;\n    prefix: string;\n    suffix: string;\n    regexValidator: string;\n    regexErrorMessage: string;\n\n    static fromProto(proto: any): OrderFormField {\n        let m = new OrderFormField();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.OrderFormFieldInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n        if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n        if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n        if (typeof this.options !== 'undefined') {toReturn['options'] = this.options;}\n        if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n        if (typeof this.required !== 'undefined') {toReturn['required'] = this.required;}\n        if (typeof this.prefix !== 'undefined') {toReturn['prefix'] = this.prefix;}\n        if (typeof this.suffix !== 'undefined') {toReturn['suffix'] = this.suffix;}\n        if (typeof this.regexValidator !== 'undefined') {toReturn['regexValidator'] = this.regexValidator;}\n        if (typeof this.regexErrorMessage !== 'undefined') {toReturn['regexErrorMessage'] = this.regexErrorMessage;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class RetailPrice implements i.RetailPriceInterface {\n    price: number;\n    billingFrequency: e.FrequenciesFrequency;\n    currency: e.CurrenciesCurrency;\n    setupFee: number;\n\n    static fromProto(proto: any): RetailPrice {\n        let m = new RetailPrice();\n        m = Object.assign(m, proto);\n        if (proto.price) {m.price = parseInt(proto.price, 10);}\n        if (proto.billingFrequency) {m.billingFrequency = enumStringToValue<e.FrequenciesFrequency>(e.FrequenciesFrequency, proto.billingFrequency);}\n        if (proto.currency) {m.currency = enumStringToValue<e.CurrenciesCurrency>(e.CurrenciesCurrency, proto.currency);}\n        if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.RetailPriceInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { RetailPrice } from './retail-price';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class AddonKey implements i.AddonKeyInterface {\n    appId: string;\n    addonId: string;\n    quantity: number;\n\n    static fromProto(proto: any): AddonKey {\n        let m = new AddonKey();\n        m = Object.assign(m, proto);\n        if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AddonKeyInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.addonId !== 'undefined') {toReturn['addonId'] = this.addonId;}\n        if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n        return toReturn;\n    }\n}\n\nexport class AppEnablementStatuses implements i.AppEnablementStatusesInterface {\n\n    static fromProto(proto: any): AppEnablementStatuses {\n        let m = new AppEnablementStatuses();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AppEnablementStatusesInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\nexport class ContactFormAction implements i.ContactFormActionInterface {\n\n    static fromProto(proto: any): ContactFormAction {\n        let m = new ContactFormAction();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ContactFormActionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\nexport class DefaultAction implements i.DefaultActionInterface {\n\n    static fromProto(proto: any): DefaultAction {\n        let m = new DefaultAction();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DefaultActionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\nexport class ExternalUrlAction implements i.ExternalUrlActionInterface {\n    url: string;\n\n    static fromProto(proto: any): ExternalUrlAction {\n        let m = new ExternalUrlAction();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ExternalUrlActionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.url !== 'undefined') {toReturn['url'] = this.url;}\n        return toReturn;\n    }\n}\n\nexport class LineItem implements i.LineItemInterface {\n    id: string;\n    parentId: string;\n    quantity: number;\n    editionId: string;\n    price: RetailPrice;\n    defaultCustomPrice: number;\n\n    static fromProto(proto: any): LineItem {\n        let m = new LineItem();\n        m = Object.assign(m, proto);\n        if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n        if (proto.price) {m.price = RetailPrice.fromProto(proto.price);}\n        if (proto.defaultCustomPrice) {m.defaultCustomPrice = parseInt(proto.defaultCustomPrice, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.LineItemInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n        if (typeof this.parentId !== 'undefined') {toReturn['parentId'] = this.parentId;}\n        if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.price !== 'undefined' && this.price !== null) {toReturn['price'] = 'toApiJson' in this.price ? (this.price as any).toApiJson() : this.price;}\n        if (typeof this.defaultCustomPrice !== 'undefined') {toReturn['defaultCustomPrice'] = this.defaultCustomPrice;}\n        return toReturn;\n    }\n}\n\nexport class LineItems implements i.LineItemsInterface {\n    lineItems: LineItem[];\n\n    static fromProto(proto: any): LineItems {\n        let m = new LineItems();\n        m = Object.assign(m, proto);\n        if (proto.lineItems) {m.lineItems = proto.lineItems.map(LineItem.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.LineItemsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        return toReturn;\n    }\n}\n\nexport class MarketAction implements i.MarketActionInterface {\n    default: DefaultAction;\n    externalUrl: ExternalUrlAction;\n    contactForm: ContactFormAction;\n    orderForm: OrderFormAction;\n\n    static fromProto(proto: any): MarketAction {\n        let m = new MarketAction();\n        m = Object.assign(m, proto);\n        if (proto.default) {m.default = DefaultAction.fromProto(proto.default);}\n        if (proto.externalUrl) {m.externalUrl = ExternalUrlAction.fromProto(proto.externalUrl);}\n        if (proto.contactForm) {m.contactForm = ContactFormAction.fromProto(proto.contactForm);}\n        if (proto.orderForm) {m.orderForm = OrderFormAction.fromProto(proto.orderForm);}\n        return m;\n    }\n\n    constructor(kwargs?: i.MarketActionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.default !== 'undefined' && this.default !== null) {toReturn['default'] = 'toApiJson' in this.default ? (this.default as any).toApiJson() : this.default;}\n        if (typeof this.externalUrl !== 'undefined' && this.externalUrl !== null) {toReturn['externalUrl'] = 'toApiJson' in this.externalUrl ? (this.externalUrl as any).toApiJson() : this.externalUrl;}\n        if (typeof this.contactForm !== 'undefined' && this.contactForm !== null) {toReturn['contactForm'] = 'toApiJson' in this.contactForm ? (this.contactForm as any).toApiJson() : this.contactForm;}\n        if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {toReturn['orderForm'] = 'toApiJson' in this.orderForm ? (this.orderForm as any).toApiJson() : this.orderForm;}\n        return toReturn;\n    }\n}\n\nexport class OrderFormAction implements i.OrderFormActionInterface {\n\n    static fromProto(proto: any): OrderFormAction {\n        let m = new OrderFormAction();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.OrderFormActionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\nexport class Package implements i.PackageInterface {\n    created: Date;\n    updated: Date;\n    archived: Date;\n    updatedBy: string;\n    packageId: string;\n    partnerId: string;\n    marketId: string;\n    name: string;\n    icon: string;\n    status: e.StatusesStatus;\n    headerImageUrl: string;\n    tagline: string;\n    content: string;\n    products: string[];\n    hideProductDetails: boolean;\n    hideProductIconsAndNames: boolean;\n    pricing: Pricing;\n    normalizedAnnualPrice: number;\n    addonKeys: AddonKey[];\n    productOrder: string[];\n    lineItems: LineItems;\n    marketAction: MarketAction;\n    usesBillingPricing: boolean;\n    pricingDisplayOption: e.PricingDisplayOption;\n    lineItemDisplayOption: e.LineItemDisplayOption;\n\n    static fromProto(proto: any): Package {\n        let m = new Package();\n        m = Object.assign(m, proto);\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.updated) {m.updated = new Date(proto.updated);}\n        if (proto.archived) {m.archived = new Date(proto.archived);}\n        if (proto.status) {m.status = enumStringToValue<e.StatusesStatus>(e.StatusesStatus, proto.status);}\n        if (proto.pricing) {m.pricing = Pricing.fromProto(proto.pricing);}\n        if (proto.normalizedAnnualPrice) {m.normalizedAnnualPrice = parseInt(proto.normalizedAnnualPrice, 10);}\n        if (proto.addonKeys) {m.addonKeys = proto.addonKeys.map(AddonKey.fromProto);}\n        if (proto.lineItems) {m.lineItems = LineItems.fromProto(proto.lineItems);}\n        if (proto.marketAction) {m.marketAction = MarketAction.fromProto(proto.marketAction);}\n        if (proto.pricingDisplayOption) {m.pricingDisplayOption = enumStringToValue<e.PricingDisplayOption>(e.PricingDisplayOption, proto.pricingDisplayOption);}\n        if (proto.lineItemDisplayOption) {m.lineItemDisplayOption = enumStringToValue<e.LineItemDisplayOption>(e.LineItemDisplayOption, proto.lineItemDisplayOption);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PackageInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n        if (typeof this.archived !== 'undefined' && this.archived !== null) {toReturn['archived'] = 'toApiJson' in this.archived ? (this.archived as any).toApiJson() : this.archived;}\n        if (typeof this.updatedBy !== 'undefined') {toReturn['updatedBy'] = this.updatedBy;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.icon !== 'undefined') {toReturn['icon'] = this.icon;}\n        if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n        if (typeof this.headerImageUrl !== 'undefined') {toReturn['headerImageUrl'] = this.headerImageUrl;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.content !== 'undefined') {toReturn['content'] = this.content;}\n        if (typeof this.products !== 'undefined') {toReturn['products'] = this.products;}\n        if (typeof this.hideProductDetails !== 'undefined') {toReturn['hideProductDetails'] = this.hideProductDetails;}\n        if (typeof this.hideProductIconsAndNames !== 'undefined') {toReturn['hideProductIconsAndNames'] = this.hideProductIconsAndNames;}\n        if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n        if (typeof this.normalizedAnnualPrice !== 'undefined') {toReturn['normalizedAnnualPrice'] = this.normalizedAnnualPrice;}\n        if (typeof this.addonKeys !== 'undefined' && this.addonKeys !== null) {toReturn['addonKeys'] = 'toApiJson' in this.addonKeys ? (this.addonKeys as any).toApiJson() : this.addonKeys;}\n        if (typeof this.productOrder !== 'undefined') {toReturn['productOrder'] = this.productOrder;}\n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        if (typeof this.marketAction !== 'undefined' && this.marketAction !== null) {toReturn['marketAction'] = 'toApiJson' in this.marketAction ? (this.marketAction as any).toApiJson() : this.marketAction;}\n        if (typeof this.usesBillingPricing !== 'undefined') {toReturn['usesBillingPricing'] = this.usesBillingPricing;}\n        if (typeof this.pricingDisplayOption !== 'undefined') {toReturn['pricingDisplayOption'] = this.pricingDisplayOption;}\n        if (typeof this.lineItemDisplayOption !== 'undefined') {toReturn['lineItemDisplayOption'] = this.lineItemDisplayOption;}\n        return toReturn;\n    }\n}\n\nexport class Price implements i.PriceInterface {\n    price: number;\n    frequency: e.FrequenciesFrequency;\n    isStartingPrice: boolean;\n    setupFee: number;\n\n    static fromProto(proto: any): Price {\n        let m = new Price();\n        m = Object.assign(m, proto);\n        if (proto.frequency) {m.frequency = enumStringToValue<e.FrequenciesFrequency>(e.FrequenciesFrequency, proto.frequency);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PriceInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n        if (typeof this.isStartingPrice !== 'undefined') {toReturn['isStartingPrice'] = this.isStartingPrice;}\n        if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n        return toReturn;\n    }\n}\n\nexport class Pricing implements i.PricingInterface {\n    currency: e.CurrenciesCurrency;\n    prices: Price[];\n    price: Price;\n\n    static fromProto(proto: any): Pricing {\n        let m = new Pricing();\n        m = Object.assign(m, proto);\n        if (proto.currency) {m.currency = enumStringToValue<e.CurrenciesCurrency>(e.CurrenciesCurrency, proto.currency);}\n        if (proto.prices) {m.prices = proto.prices.map(Price.fromProto);}\n        if (proto.price) {m.price = Price.fromProto(proto.price);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PricingInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n        if (typeof this.price !== 'undefined' && this.price !== null) {toReturn['price'] = 'toApiJson' in this.price ? (this.price as any).toApiJson() : this.price;}\n        return toReturn;\n    }\n}\n\nexport class Statuses implements i.StatusesInterface {\n\n    static fromProto(proto: any): Statuses {\n        let m = new Statuses();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.StatusesInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n    paths: string[];\n\n    static fromProto(proto: any): FieldMask {\n        let m = new FieldMask();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.FieldMaskInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class Access implements i.AccessInterface {\n    scope: string[];\n    public: boolean;\n\n    static fromProto(proto: any): Access {\n        let m = new Access();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AccessInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.scope !== 'undefined') {toReturn['scope'] = this.scope;}\n        if (typeof this.public !== 'undefined') {toReturn['public'] = this.public;}\n        return toReturn;\n    }\n}\n\nexport class MCPOptions implements i.MCPOptionsInterface {\n    serverId: string[];\n\n    static fromProto(proto: any): MCPOptions {\n        let m = new MCPOptions();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.MCPOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.serverId !== 'undefined') {toReturn['serverId'] = this.serverId;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Addon } from './addon';\nimport { FieldMask } from './field-mask';\nimport { PermissionLists } from './restrictions';\nimport { Pricing, LineItems, MarketAction, Package, AddonKey } from './package';\nimport { Product } from './product';\nimport { RetailPrice } from './retail-price';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class ActivatableApp implements i.ActivatableAppInterface {\n    appId: string;\n    name: string;\n    headerImage: string;\n    tagline: string;\n    icon: string;\n    countryRestrictions: PermissionLists;\n    allowMultipleActivations: boolean;\n    childActivatableApps: ActivatableApp[];\n\n    static fromProto(proto: any): ActivatableApp {\n        let m = new ActivatableApp();\n        m = Object.assign(m, proto);\n        if (proto.countryRestrictions) {m.countryRestrictions = PermissionLists.fromProto(proto.countryRestrictions);}\n        if (proto.childActivatableApps) {m.childActivatableApps = proto.childActivatableApps.map(ActivatableApp.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ActivatableAppInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.headerImage !== 'undefined') {toReturn['headerImage'] = this.headerImage;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.icon !== 'undefined') {toReturn['icon'] = this.icon;}\n        if (typeof this.countryRestrictions !== 'undefined' && this.countryRestrictions !== null) {toReturn['countryRestrictions'] = 'toApiJson' in this.countryRestrictions ? (this.countryRestrictions as any).toApiJson() : this.countryRestrictions;}\n        if (typeof this.allowMultipleActivations !== 'undefined') {toReturn['allowMultipleActivations'] = this.allowMultipleActivations;}\n        if (typeof this.childActivatableApps !== 'undefined' && this.childActivatableApps !== null) {toReturn['childActivatableApps'] = 'toApiJson' in this.childActivatableApps ? (this.childActivatableApps as any).toApiJson() : this.childActivatableApps;}\n        return toReturn;\n    }\n}\n\nexport class AddProductToStoreRequest implements i.AddProductToStoreRequestInterface {\n    partnerId: string;\n    marketId: string;\n    appId: string;\n    editionId: string;\n    retailPrice: RetailPrice;\n    publishImmediately: boolean;\n\n    static fromProto(proto: any): AddProductToStoreRequest {\n        let m = new AddProductToStoreRequest();\n        m = Object.assign(m, proto);\n        if (proto.retailPrice) {m.retailPrice = RetailPrice.fromProto(proto.retailPrice);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AddProductToStoreRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.retailPrice !== 'undefined' && this.retailPrice !== null) {toReturn['retailPrice'] = 'toApiJson' in this.retailPrice ? (this.retailPrice as any).toApiJson() : this.retailPrice;}\n        if (typeof this.publishImmediately !== 'undefined') {toReturn['publishImmediately'] = this.publishImmediately;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAddonsByAppResponseAddonListContainer implements i.GetMultiAddonsByAppResponseAddonListContainerInterface {\n    addons: Addon[];\n\n    static fromProto(proto: any): GetMultiAddonsByAppResponseAddonListContainer {\n        let m = new GetMultiAddonsByAppResponseAddonListContainer();\n        m = Object.assign(m, proto);\n        if (proto.addons) {m.addons = proto.addons.map(Addon.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAddonsByAppResponseAddonListContainerInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.addons !== 'undefined' && this.addons !== null) {toReturn['addons'] = 'toApiJson' in this.addons ? (this.addons as any).toApiJson() : this.addons;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAddonsByAppResponseAddonMapEntry implements i.GetMultiAddonsByAppResponseAddonMapEntryInterface {\n    key: string;\n    value: GetMultiAddonsByAppResponseAddonListContainer;\n\n    static fromProto(proto: any): GetMultiAddonsByAppResponseAddonMapEntry {\n        let m = new GetMultiAddonsByAppResponseAddonMapEntry();\n        m = Object.assign(m, proto);\n        if (proto.value) {m.value = GetMultiAddonsByAppResponseAddonListContainer.fromProto(proto.value);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAddonsByAppResponseAddonMapEntryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n        if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n        return toReturn;\n    }\n}\n\nexport class AddonOptions implements i.AddonOptionsInterface {\n    groupAddonsWithParent: boolean;\n    displayNonDiscoverableAddons: boolean;\n\n    static fromProto(proto: any): AddonOptions {\n        let m = new AddonOptions();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AddonOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.groupAddonsWithParent !== 'undefined') {toReturn['groupAddonsWithParent'] = this.groupAddonsWithParent;}\n        if (typeof this.displayNonDiscoverableAddons !== 'undefined') {toReturn['displayNonDiscoverableAddons'] = this.displayNonDiscoverableAddons;}\n        return toReturn;\n    }\n}\n\nexport class AppData implements i.AppDataInterface {\n    scope: string;\n    kindValues: KindValues[];\n\n    static fromProto(proto: any): AppData {\n        let m = new AppData();\n        m = Object.assign(m, proto);\n        if (proto.kindValues) {m.kindValues = proto.kindValues.map(KindValues.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AppDataInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.scope !== 'undefined') {toReturn['scope'] = this.scope;}\n        if (typeof this.kindValues !== 'undefined' && this.kindValues !== null) {toReturn['kindValues'] = 'toApiJson' in this.kindValues ? (this.kindValues as any).toApiJson() : this.kindValues;}\n        return toReturn;\n    }\n}\n\nexport class AreAppsDistributedToPartnerResponseAppDistributedContainer implements i.AreAppsDistributedToPartnerResponseAppDistributedContainerInterface {\n    appId: string;\n    isDistributed: boolean;\n    isSolelyDistributedToPartner: boolean;\n\n    static fromProto(proto: any): AreAppsDistributedToPartnerResponseAppDistributedContainer {\n        let m = new AreAppsDistributedToPartnerResponseAppDistributedContainer();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AreAppsDistributedToPartnerResponseAppDistributedContainerInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.isDistributed !== 'undefined') {toReturn['isDistributed'] = this.isDistributed;}\n        if (typeof this.isSolelyDistributedToPartner !== 'undefined') {toReturn['isSolelyDistributedToPartner'] = this.isSolelyDistributedToPartner;}\n        return toReturn;\n    }\n}\n\nexport class ListAppDistributionStatusResponseAppDistributionStatus implements i.ListAppDistributionStatusResponseAppDistributionStatusInterface {\n    appId: string;\n    name: string;\n    whitelist: string[];\n    blacklist: string[];\n    distributable: boolean;\n\n    static fromProto(proto: any): ListAppDistributionStatusResponseAppDistributionStatus {\n        let m = new ListAppDistributionStatusResponseAppDistributionStatus();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAppDistributionStatusResponseAppDistributionStatusInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.whitelist !== 'undefined') {toReturn['whitelist'] = this.whitelist;}\n        if (typeof this.blacklist !== 'undefined') {toReturn['blacklist'] = this.blacklist;}\n        if (typeof this.distributable !== 'undefined') {toReturn['distributable'] = this.distributable;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiIsAppEnabledResponseAppEnablement implements i.GetMultiIsAppEnabledResponseAppEnablementInterface {\n    appId: string;\n    enabled: boolean;\n\n    static fromProto(proto: any): GetMultiIsAppEnabledResponseAppEnablement {\n        let m = new GetMultiIsAppEnabledResponseAppEnablement();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiIsAppEnabledResponseAppEnablementInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.enabled !== 'undefined') {toReturn['enabled'] = this.enabled;}\n        return toReturn;\n    }\n}\n\nexport class AppSummary implements i.AppSummaryInterface {\n    appId: string;\n    name: string;\n    icon: string;\n    headerImage: string;\n    tagline: string;\n    enabled: boolean;\n    billingId: string;\n    vendorWholesale: WholesalePrice;\n    type: string;\n    addons: AppSummary[];\n    vendorRetailPrice: VendorRetailPrice;\n    wholesalePricingFromBilling: BillingWholesalePricing;\n    wholesalePrice: ProductWholesalePrice;\n    setupFee: number;\n\n    static fromProto(proto: any): AppSummary {\n        let m = new AppSummary();\n        m = Object.assign(m, proto);\n        if (proto.vendorWholesale) {m.vendorWholesale = WholesalePrice.fromProto(proto.vendorWholesale);}\n        if (proto.addons) {m.addons = proto.addons.map(AppSummary.fromProto);}\n        if (proto.vendorRetailPrice) {m.vendorRetailPrice = VendorRetailPrice.fromProto(proto.vendorRetailPrice);}\n        if (proto.wholesalePricingFromBilling) {m.wholesalePricingFromBilling = BillingWholesalePricing.fromProto(proto.wholesalePricingFromBilling);}\n        if (proto.wholesalePrice) {m.wholesalePrice = ProductWholesalePrice.fromProto(proto.wholesalePrice);}\n        if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AppSummaryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.icon !== 'undefined') {toReturn['icon'] = this.icon;}\n        if (typeof this.headerImage !== 'undefined') {toReturn['headerImage'] = this.headerImage;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.enabled !== 'undefined') {toReturn['enabled'] = this.enabled;}\n        if (typeof this.billingId !== 'undefined') {toReturn['billingId'] = this.billingId;}\n        if (typeof this.vendorWholesale !== 'undefined' && this.vendorWholesale !== null) {toReturn['vendorWholesale'] = 'toApiJson' in this.vendorWholesale ? (this.vendorWholesale as any).toApiJson() : this.vendorWholesale;}\n        if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n        if (typeof this.addons !== 'undefined' && this.addons !== null) {toReturn['addons'] = 'toApiJson' in this.addons ? (this.addons as any).toApiJson() : this.addons;}\n        if (typeof this.vendorRetailPrice !== 'undefined' && this.vendorRetailPrice !== null) {toReturn['vendorRetailPrice'] = 'toApiJson' in this.vendorRetailPrice ? (this.vendorRetailPrice as any).toApiJson() : this.vendorRetailPrice;}\n        if (typeof this.wholesalePricingFromBilling !== 'undefined' && this.wholesalePricingFromBilling !== null) {toReturn['wholesalePricingFromBilling'] = 'toApiJson' in this.wholesalePricingFromBilling ? (this.wholesalePricingFromBilling as any).toApiJson() : this.wholesalePricingFromBilling;}\n        if (typeof this.wholesalePrice !== 'undefined' && this.wholesalePrice !== null) {toReturn['wholesalePrice'] = 'toApiJson' in this.wholesalePrice ? (this.wholesalePrice as any).toApiJson() : this.wholesalePrice;}\n        if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n        return toReturn;\n    }\n}\n\nexport class AreAppsDistributedToPartnerRequest implements i.AreAppsDistributedToPartnerRequestInterface {\n    partnerId: string;\n    appIds: string[];\n\n    static fromProto(proto: any): AreAppsDistributedToPartnerRequest {\n        let m = new AreAppsDistributedToPartnerRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AreAppsDistributedToPartnerRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.appIds !== 'undefined') {toReturn['appIds'] = this.appIds;}\n        return toReturn;\n    }\n}\n\nexport class AreAppsDistributedToPartnerResponse implements i.AreAppsDistributedToPartnerResponseInterface {\n    areAppsDistributed: AreAppsDistributedToPartnerResponseAppDistributedContainer[];\n\n    static fromProto(proto: any): AreAppsDistributedToPartnerResponse {\n        let m = new AreAppsDistributedToPartnerResponse();\n        m = Object.assign(m, proto);\n        if (proto.areAppsDistributed) {m.areAppsDistributed = proto.areAppsDistributed.map(AreAppsDistributedToPartnerResponseAppDistributedContainer.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AreAppsDistributedToPartnerResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.areAppsDistributed !== 'undefined' && this.areAppsDistributed !== null) {toReturn['areAppsDistributed'] = 'toApiJson' in this.areAppsDistributed ? (this.areAppsDistributed as any).toApiJson() : this.areAppsDistributed;}\n        return toReturn;\n    }\n}\n\nexport class BillingWholesalePricing implements i.BillingWholesalePricingInterface {\n    pricingType: e.ProductPricingType;\n    currency: string;\n    frequency: string;\n    pricingRules: ProductPricingRule[];\n    commitment: Commitment;\n    isStartingPrice: boolean;\n\n    static fromProto(proto: any): BillingWholesalePricing {\n        let m = new BillingWholesalePricing();\n        m = Object.assign(m, proto);\n        if (proto.pricingType) {m.pricingType = enumStringToValue<e.ProductPricingType>(e.ProductPricingType, proto.pricingType);}\n        if (proto.pricingRules) {m.pricingRules = proto.pricingRules.map(ProductPricingRule.fromProto);}\n        if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n        return m;\n    }\n\n    constructor(kwargs?: i.BillingWholesalePricingInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.pricingType !== 'undefined') {toReturn['pricingType'] = this.pricingType;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n        if (typeof this.pricingRules !== 'undefined' && this.pricingRules !== null) {toReturn['pricingRules'] = 'toApiJson' in this.pricingRules ? (this.pricingRules as any).toApiJson() : this.pricingRules;}\n        if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n        if (typeof this.isStartingPrice !== 'undefined') {toReturn['isStartingPrice'] = this.isStartingPrice;}\n        return toReturn;\n    }\n}\n\nexport class BulkCopyPackageRequest implements i.BulkCopyPackageRequestInterface {\n    source: BulkCopyPackageRequestPackageSource;\n    target: PackageScope;\n\n    static fromProto(proto: any): BulkCopyPackageRequest {\n        let m = new BulkCopyPackageRequest();\n        m = Object.assign(m, proto);\n        if (proto.source) {m.source = BulkCopyPackageRequestPackageSource.fromProto(proto.source);}\n        if (proto.target) {m.target = PackageScope.fromProto(proto.target);}\n        return m;\n    }\n\n    constructor(kwargs?: i.BulkCopyPackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.source !== 'undefined' && this.source !== null) {toReturn['source'] = 'toApiJson' in this.source ? (this.source as any).toApiJson() : this.source;}\n        if (typeof this.target !== 'undefined' && this.target !== null) {toReturn['target'] = 'toApiJson' in this.target ? (this.target as any).toApiJson() : this.target;}\n        return toReturn;\n    }\n}\n\nexport class BulkCopyPackageResponse implements i.BulkCopyPackageResponseInterface {\n\n    static fromProto(proto: any): BulkCopyPackageResponse {\n        let m = new BulkCopyPackageResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.BulkCopyPackageResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        return toReturn;\n    }\n}\n\nexport class BulkEnableAppForAllPartnersRequest implements i.BulkEnableAppForAllPartnersRequestInterface {\n    appId: string;\n\n    static fromProto(proto: any): BulkEnableAppForAllPartnersRequest {\n        let m = new BulkEnableAppForAllPartnersRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.BulkEnableAppForAllPartnersRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        return toReturn;\n    }\n}\n\nexport class CleanupRetiredProductRequest implements i.CleanupRetiredProductRequestInterface {\n    productId: string;\n    dryRun: boolean;\n\n    static fromProto(proto: any): CleanupRetiredProductRequest {\n        let m = new CleanupRetiredProductRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CleanupRetiredProductRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.dryRun !== 'undefined') {toReturn['dryRun'] = this.dryRun;}\n        return toReturn;\n    }\n}\n\nexport class Commitment implements i.CommitmentInterface {\n    initial: number;\n    recurring: number;\n\n    static fromProto(proto: any): Commitment {\n        let m = new Commitment();\n        m = Object.assign(m, proto);\n        if (proto.initial) {m.initial = parseInt(proto.initial, 10);}\n        if (proto.recurring) {m.recurring = parseInt(proto.recurring, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CommitmentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.initial !== 'undefined') {toReturn['initial'] = this.initial;}\n        if (typeof this.recurring !== 'undefined') {toReturn['recurring'] = this.recurring;}\n        return toReturn;\n    }\n}\n\nexport class CopyPackageRequest implements i.CopyPackageRequestInterface {\n    packageId: string;\n    name: string;\n    pricing: Pricing;\n    publish: boolean;\n    packageDestination: PackageScope;\n\n    static fromProto(proto: any): CopyPackageRequest {\n        let m = new CopyPackageRequest();\n        m = Object.assign(m, proto);\n        if (proto.pricing) {m.pricing = Pricing.fromProto(proto.pricing);}\n        if (proto.packageDestination) {m.packageDestination = PackageScope.fromProto(proto.packageDestination);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CopyPackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n        if (typeof this.publish !== 'undefined') {toReturn['publish'] = this.publish;}\n        if (typeof this.packageDestination !== 'undefined' && this.packageDestination !== null) {toReturn['packageDestination'] = 'toApiJson' in this.packageDestination ? (this.packageDestination as any).toApiJson() : this.packageDestination;}\n        return toReturn;\n    }\n}\n\nexport class CopyPackageResponse implements i.CopyPackageResponseInterface {\n    failedScope: PackageScope;\n\n    static fromProto(proto: any): CopyPackageResponse {\n        let m = new CopyPackageResponse();\n        m = Object.assign(m, proto);\n        if (proto.failedScope) {m.failedScope = PackageScope.fromProto(proto.failedScope);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CopyPackageResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.failedScope !== 'undefined' && this.failedScope !== null) {toReturn['failedScope'] = 'toApiJson' in this.failedScope ? (this.failedScope as any).toApiJson() : this.failedScope;}\n        return toReturn;\n    }\n}\n\nexport class Cost implements i.CostInterface {\n    billingFrequency: string;\n    currency: string;\n    price: number;\n\n    static fromProto(proto: any): Cost {\n        let m = new Cost();\n        m = Object.assign(m, proto);\n        if (proto.price) {m.price = parseInt(proto.price, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CostInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        return toReturn;\n    }\n}\n\nexport class CreatePackageRequest implements i.CreatePackageRequestInterface {\n    partnerId: string;\n    marketId: string;\n    name: string;\n    tagline: string;\n    iconUrl: string;\n    headerImageUrl: string;\n    content: string;\n    pricing: Pricing;\n    hideProductDetails: boolean;\n    hideProductIconsAndNames: boolean;\n    publishImmediately: boolean;\n    lineItems: LineItems;\n    marketAction: MarketAction;\n    usesBillingPricing: boolean;\n    pricingDisplayOption: e.PricingDisplayOption;\n    lineItemDisplayOption: e.LineItemDisplayOption;\n\n    static fromProto(proto: any): CreatePackageRequest {\n        let m = new CreatePackageRequest();\n        m = Object.assign(m, proto);\n        if (proto.pricing) {m.pricing = Pricing.fromProto(proto.pricing);}\n        if (proto.lineItems) {m.lineItems = LineItems.fromProto(proto.lineItems);}\n        if (proto.marketAction) {m.marketAction = MarketAction.fromProto(proto.marketAction);}\n        if (proto.pricingDisplayOption) {m.pricingDisplayOption = enumStringToValue<e.PricingDisplayOption>(e.PricingDisplayOption, proto.pricingDisplayOption);}\n        if (proto.lineItemDisplayOption) {m.lineItemDisplayOption = enumStringToValue<e.LineItemDisplayOption>(e.LineItemDisplayOption, proto.lineItemDisplayOption);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreatePackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.iconUrl !== 'undefined') {toReturn['iconUrl'] = this.iconUrl;}\n        if (typeof this.headerImageUrl !== 'undefined') {toReturn['headerImageUrl'] = this.headerImageUrl;}\n        if (typeof this.content !== 'undefined') {toReturn['content'] = this.content;}\n        if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n        if (typeof this.hideProductDetails !== 'undefined') {toReturn['hideProductDetails'] = this.hideProductDetails;}\n        if (typeof this.hideProductIconsAndNames !== 'undefined') {toReturn['hideProductIconsAndNames'] = this.hideProductIconsAndNames;}\n        if (typeof this.publishImmediately !== 'undefined') {toReturn['publishImmediately'] = this.publishImmediately;}\n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        if (typeof this.marketAction !== 'undefined' && this.marketAction !== null) {toReturn['marketAction'] = 'toApiJson' in this.marketAction ? (this.marketAction as any).toApiJson() : this.marketAction;}\n        if (typeof this.usesBillingPricing !== 'undefined') {toReturn['usesBillingPricing'] = this.usesBillingPricing;}\n        if (typeof this.pricingDisplayOption !== 'undefined') {toReturn['pricingDisplayOption'] = this.pricingDisplayOption;}\n        if (typeof this.lineItemDisplayOption !== 'undefined') {toReturn['lineItemDisplayOption'] = this.lineItemDisplayOption;}\n        return toReturn;\n    }\n}\n\nexport class CreatePackageResponse implements i.CreatePackageResponseInterface {\n    package: Package;\n\n    static fromProto(proto: any): CreatePackageResponse {\n        let m = new CreatePackageResponse();\n        m = Object.assign(m, proto);\n        if (proto.package) {m.package = Package.fromProto(proto.package);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreatePackageResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.package !== 'undefined' && this.package !== null) {toReturn['package'] = 'toApiJson' in this.package ? (this.package as any).toApiJson() : this.package;}\n        return toReturn;\n    }\n}\n\nexport class DeletePackageRequest implements i.DeletePackageRequestInterface {\n    packageId: string;\n\n    static fromProto(proto: any): DeletePackageRequest {\n        let m = new DeletePackageRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DeletePackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        return toReturn;\n    }\n}\n\nexport class DisableAppForPartnerRequest implements i.DisableAppForPartnerRequestInterface {\n    partnerId: string;\n    appId: string;\n    origin: string;\n\n    static fromProto(proto: any): DisableAppForPartnerRequest {\n        let m = new DisableAppForPartnerRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DisableAppForPartnerRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n        return toReturn;\n    }\n}\n\nexport class DiscoverableAppParent implements i.DiscoverableAppParentInterface {\n    appId: string;\n    name: string;\n\n    static fromProto(proto: any): DiscoverableAppParent {\n        let m = new DiscoverableAppParent();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DiscoverableAppParentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        return toReturn;\n    }\n}\n\nexport class DiscoverableAppSummary implements i.DiscoverableAppSummaryInterface {\n    appId: string;\n    name: string;\n    icon: string;\n    headerImage: string;\n    tagline: string;\n    price: number;\n    billingFrequency: e.FrequenciesFrequency;\n    currency: e.CurrenciesCurrency;\n    enabled: boolean;\n    lmiCategories: e.LmiCategories[];\n    billingId: string;\n    type: string;\n    created: Date;\n    cost: Cost;\n    appData: AppData;\n    keySellingPoints: string[];\n    suggestedRetailPrice: VendorRetailPrice;\n    usesCustomPricing: boolean;\n    parent: DiscoverableAppParent;\n\n    static fromProto(proto: any): DiscoverableAppSummary {\n        let m = new DiscoverableAppSummary();\n        m = Object.assign(m, proto);\n        if (proto.billingFrequency) {m.billingFrequency = enumStringToValue<e.FrequenciesFrequency>(e.FrequenciesFrequency, proto.billingFrequency);}\n        if (proto.currency) {m.currency = enumStringToValue<e.CurrenciesCurrency>(e.CurrenciesCurrency, proto.currency);}\n        if (proto.lmiCategories) {m.lmiCategories = proto.lmiCategories.map((v: string) => enumStringToValue<e.LmiCategories>(e.LmiCategories, v));}\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.cost) {m.cost = Cost.fromProto(proto.cost);}\n        if (proto.appData) {m.appData = AppData.fromProto(proto.appData);}\n        if (proto.suggestedRetailPrice) {m.suggestedRetailPrice = VendorRetailPrice.fromProto(proto.suggestedRetailPrice);}\n        if (proto.parent) {m.parent = DiscoverableAppParent.fromProto(proto.parent);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DiscoverableAppSummaryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.icon !== 'undefined') {toReturn['icon'] = this.icon;}\n        if (typeof this.headerImage !== 'undefined') {toReturn['headerImage'] = this.headerImage;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.enabled !== 'undefined') {toReturn['enabled'] = this.enabled;}\n        if (typeof this.lmiCategories !== 'undefined') {toReturn['lmiCategories'] = this.lmiCategories;}\n        if (typeof this.billingId !== 'undefined') {toReturn['billingId'] = this.billingId;}\n        if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.cost !== 'undefined' && this.cost !== null) {toReturn['cost'] = 'toApiJson' in this.cost ? (this.cost as any).toApiJson() : this.cost;}\n        if (typeof this.appData !== 'undefined' && this.appData !== null) {toReturn['appData'] = 'toApiJson' in this.appData ? (this.appData as any).toApiJson() : this.appData;}\n        if (typeof this.keySellingPoints !== 'undefined') {toReturn['keySellingPoints'] = this.keySellingPoints;}\n        if (typeof this.suggestedRetailPrice !== 'undefined' && this.suggestedRetailPrice !== null) {toReturn['suggestedRetailPrice'] = 'toApiJson' in this.suggestedRetailPrice ? (this.suggestedRetailPrice as any).toApiJson() : this.suggestedRetailPrice;}\n        if (typeof this.usesCustomPricing !== 'undefined') {toReturn['usesCustomPricing'] = this.usesCustomPricing;}\n        if (typeof this.parent !== 'undefined' && this.parent !== null) {toReturn['parent'] = 'toApiJson' in this.parent ? (this.parent as any).toApiJson() : this.parent;}\n        return toReturn;\n    }\n}\n\nexport class EnableAppForPartnerRequest implements i.EnableAppForPartnerRequestInterface {\n    partnerId: string;\n    appId: string;\n    origin: string;\n\n    static fromProto(proto: any): EnableAppForPartnerRequest {\n        let m = new EnableAppForPartnerRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.EnableAppForPartnerRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n        return toReturn;\n    }\n}\n\nexport class GetAppPermissionsRequest implements i.GetAppPermissionsRequestInterface {\n    appId: string;\n\n    static fromProto(proto: any): GetAppPermissionsRequest {\n        let m = new GetAppPermissionsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetAppPermissionsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        return toReturn;\n    }\n}\n\nexport class GetAppPermissionsResponse implements i.GetAppPermissionsResponseInterface {\n    appId: string;\n    whitelist: string[];\n    blacklist: string[];\n    distributed: boolean;\n\n    static fromProto(proto: any): GetAppPermissionsResponse {\n        let m = new GetAppPermissionsResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetAppPermissionsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.whitelist !== 'undefined') {toReturn['whitelist'] = this.whitelist;}\n        if (typeof this.blacklist !== 'undefined') {toReturn['blacklist'] = this.blacklist;}\n        if (typeof this.distributed !== 'undefined') {toReturn['distributed'] = this.distributed;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAddonsByAppRequest implements i.GetMultiAddonsByAppRequestInterface {\n    appIds: string[];\n    partnerId: string;\n    whitelabelOverrideKey: string;\n\n    static fromProto(proto: any): GetMultiAddonsByAppRequest {\n        let m = new GetMultiAddonsByAppRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAddonsByAppRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appIds !== 'undefined') {toReturn['appIds'] = this.appIds;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.whitelabelOverrideKey !== 'undefined') {toReturn['whitelabelOverrideKey'] = this.whitelabelOverrideKey;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAddonsByAppResponse implements i.GetMultiAddonsByAppResponseInterface {\n    addonMap: {[key: string]: GetMultiAddonsByAppResponseAddonListContainer};\n\n    static fromProto(proto: any): GetMultiAddonsByAppResponse {\n        let m = new GetMultiAddonsByAppResponse();\n        m = Object.assign(m, proto);\n        if (proto.addonMap) {m.addonMap = Object.keys(proto.addonMap).reduce<any>((obj, k) => { obj[k] = GetMultiAddonsByAppResponseAddonListContainer.fromProto(proto.addonMap[k]); return obj; }, {});}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAddonsByAppResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.addonMap !== 'undefined' && this.addonMap !== null) {toReturn['addonMap'] = 'toApiJson' in this.addonMap ? (this.addonMap as any).toApiJson() : this.addonMap;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAddonsRequest implements i.GetMultiAddonsRequestInterface {\n    addonKeys: AddonKey[];\n    whitelabelOverrideKey: string;\n\n    static fromProto(proto: any): GetMultiAddonsRequest {\n        let m = new GetMultiAddonsRequest();\n        m = Object.assign(m, proto);\n        if (proto.addonKeys) {m.addonKeys = proto.addonKeys.map(AddonKey.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAddonsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.addonKeys !== 'undefined' && this.addonKeys !== null) {toReturn['addonKeys'] = 'toApiJson' in this.addonKeys ? (this.addonKeys as any).toApiJson() : this.addonKeys;}\n        if (typeof this.whitelabelOverrideKey !== 'undefined') {toReturn['whitelabelOverrideKey'] = this.whitelabelOverrideKey;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAddonsResponse implements i.GetMultiAddonsResponseInterface {\n    addons: Addon[];\n\n    static fromProto(proto: any): GetMultiAddonsResponse {\n        let m = new GetMultiAddonsResponse();\n        m = Object.assign(m, proto);\n        if (proto.addons) {m.addons = proto.addons.map(Addon.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAddonsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.addons !== 'undefined' && this.addons !== null) {toReturn['addons'] = 'toApiJson' in this.addons ? (this.addons as any).toApiJson() : this.addons;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiIsAppEnabledRequest implements i.GetMultiIsAppEnabledRequestInterface {\n    appIds: string[];\n\n    static fromProto(proto: any): GetMultiIsAppEnabledRequest {\n        let m = new GetMultiIsAppEnabledRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiIsAppEnabledRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appIds !== 'undefined') {toReturn['appIds'] = this.appIds;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiIsAppEnabledResponse implements i.GetMultiIsAppEnabledResponseInterface {\n    appEnablement: GetMultiIsAppEnabledResponseAppEnablement[];\n\n    static fromProto(proto: any): GetMultiIsAppEnabledResponse {\n        let m = new GetMultiIsAppEnabledResponse();\n        m = Object.assign(m, proto);\n        if (proto.appEnablement) {m.appEnablement = proto.appEnablement.map(GetMultiIsAppEnabledResponseAppEnablement.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiIsAppEnabledResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appEnablement !== 'undefined' && this.appEnablement !== null) {toReturn['appEnablement'] = 'toApiJson' in this.appEnablement ? (this.appEnablement as any).toApiJson() : this.appEnablement;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiPackageRequest implements i.GetMultiPackageRequestInterface {\n    packageIds: string[];\n\n    static fromProto(proto: any): GetMultiPackageRequest {\n        let m = new GetMultiPackageRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiPackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageIds !== 'undefined') {toReturn['packageIds'] = this.packageIds;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiPackageResponse implements i.GetMultiPackageResponseInterface {\n    packageContainers: GetMultiPackageResponsePackageContainer[];\n\n    static fromProto(proto: any): GetMultiPackageResponse {\n        let m = new GetMultiPackageResponse();\n        m = Object.assign(m, proto);\n        if (proto.packageContainers) {m.packageContainers = proto.packageContainers.map(GetMultiPackageResponsePackageContainer.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiPackageResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageContainers !== 'undefined' && this.packageContainers !== null) {toReturn['packageContainers'] = 'toApiJson' in this.packageContainers ? (this.packageContainers as any).toApiJson() : this.packageContainers;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiPartnerAppEnablementStatusRequest implements i.GetMultiPartnerAppEnablementStatusRequestInterface {\n    partnerAppRequest: PartnerAppRequest[];\n\n    static fromProto(proto: any): GetMultiPartnerAppEnablementStatusRequest {\n        let m = new GetMultiPartnerAppEnablementStatusRequest();\n        m = Object.assign(m, proto);\n        if (proto.partnerAppRequest) {m.partnerAppRequest = proto.partnerAppRequest.map(PartnerAppRequest.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiPartnerAppEnablementStatusRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerAppRequest !== 'undefined' && this.partnerAppRequest !== null) {toReturn['partnerAppRequest'] = 'toApiJson' in this.partnerAppRequest ? (this.partnerAppRequest as any).toApiJson() : this.partnerAppRequest;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiPartnerAppEnablementStatusResponse implements i.GetMultiPartnerAppEnablementStatusResponseInterface {\n    partnerAppResponse: PartnerAppResponse[];\n\n    static fromProto(proto: any): GetMultiPartnerAppEnablementStatusResponse {\n        let m = new GetMultiPartnerAppEnablementStatusResponse();\n        m = Object.assign(m, proto);\n        if (proto.partnerAppResponse) {m.partnerAppResponse = proto.partnerAppResponse.map(PartnerAppResponse.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiPartnerAppEnablementStatusResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerAppResponse !== 'undefined' && this.partnerAppResponse !== null) {toReturn['partnerAppResponse'] = 'toApiJson' in this.partnerAppResponse ? (this.partnerAppResponse as any).toApiJson() : this.partnerAppResponse;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiProductsRequest implements i.GetMultiProductsRequestInterface {\n    partnerId: string;\n    productIds: string[];\n    marketId: string;\n    fieldMask: FieldMask;\n    whitelabelOverrideKey: string;\n\n    static fromProto(proto: any): GetMultiProductsRequest {\n        let m = new GetMultiProductsRequest();\n        m = Object.assign(m, proto);\n        if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiProductsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.productIds !== 'undefined') {toReturn['productIds'] = this.productIds;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n        if (typeof this.whitelabelOverrideKey !== 'undefined') {toReturn['whitelabelOverrideKey'] = this.whitelabelOverrideKey;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiProductsResponse implements i.GetMultiProductsResponseInterface {\n    products: GetMultiProductsResponseProductContainer[];\n\n    static fromProto(proto: any): GetMultiProductsResponse {\n        let m = new GetMultiProductsResponse();\n        m = Object.assign(m, proto);\n        if (proto.products) {m.products = proto.products.map(GetMultiProductsResponseProductContainer.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiProductsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n        return toReturn;\n    }\n}\n\nexport class HideArchivedPackageRequest implements i.HideArchivedPackageRequestInterface {\n    packageId: string;\n\n    static fromProto(proto: any): HideArchivedPackageRequest {\n        let m = new HideArchivedPackageRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.HideArchivedPackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        return toReturn;\n    }\n}\n\nexport class IsAppDistributedToPartnerRequest implements i.IsAppDistributedToPartnerRequestInterface {\n    appId: string;\n    partnerId: string;\n\n    static fromProto(proto: any): IsAppDistributedToPartnerRequest {\n        let m = new IsAppDistributedToPartnerRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.IsAppDistributedToPartnerRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        return toReturn;\n    }\n}\n\nexport class IsAppDistributedToPartnerResponse implements i.IsAppDistributedToPartnerResponseInterface {\n    isDistributed: boolean;\n\n    static fromProto(proto: any): IsAppDistributedToPartnerResponse {\n        let m = new IsAppDistributedToPartnerResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.IsAppDistributedToPartnerResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.isDistributed !== 'undefined') {toReturn['isDistributed'] = this.isDistributed;}\n        return toReturn;\n    }\n}\n\nexport class KindValues implements i.KindValuesInterface {\n    kind: string;\n    values: string[];\n\n    static fromProto(proto: any): KindValues {\n        let m = new KindValues();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.KindValuesInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.kind !== 'undefined') {toReturn['kind'] = this.kind;}\n        if (typeof this.values !== 'undefined') {toReturn['values'] = this.values;}\n        return toReturn;\n    }\n}\n\nexport class ListActivatableAppsRequest implements i.ListActivatableAppsRequestInterface {\n    partnerId: string;\n    pageSize: number;\n    cursor: string;\n    marketId: string;\n    whitelabelOverrideKey: string;\n\n    static fromProto(proto: any): ListActivatableAppsRequest {\n        let m = new ListActivatableAppsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListActivatableAppsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.whitelabelOverrideKey !== 'undefined') {toReturn['whitelabelOverrideKey'] = this.whitelabelOverrideKey;}\n        return toReturn;\n    }\n}\n\nexport class ListActivatableAppsResponse implements i.ListActivatableAppsResponseInterface {\n    activatableApps: ActivatableApp[];\n\n    static fromProto(proto: any): ListActivatableAppsResponse {\n        let m = new ListActivatableAppsResponse();\n        m = Object.assign(m, proto);\n        if (proto.activatableApps) {m.activatableApps = proto.activatableApps.map(ActivatableApp.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListActivatableAppsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.activatableApps !== 'undefined' && this.activatableApps !== null) {toReturn['activatableApps'] = 'toApiJson' in this.activatableApps ? (this.activatableApps as any).toApiJson() : this.activatableApps;}\n        return toReturn;\n    }\n}\n\nexport class ListAddonsRequest implements i.ListAddonsRequestInterface {\n    partnerId: string;\n    appIds: string[];\n    pageSize: number;\n    cursor: string;\n    whitelabelOverrideKey: string;\n\n    static fromProto(proto: any): ListAddonsRequest {\n        let m = new ListAddonsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAddonsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.appIds !== 'undefined') {toReturn['appIds'] = this.appIds;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.whitelabelOverrideKey !== 'undefined') {toReturn['whitelabelOverrideKey'] = this.whitelabelOverrideKey;}\n        return toReturn;\n    }\n}\n\nexport class ListAddonsResponse implements i.ListAddonsResponseInterface {\n    addons: Addon[];\n    nextCursor: string;\n    hasMore: boolean;\n\n    static fromProto(proto: any): ListAddonsResponse {\n        let m = new ListAddonsResponse();\n        m = Object.assign(m, proto);\n        if (proto.addons) {m.addons = proto.addons.map(Addon.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAddonsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.addons !== 'undefined' && this.addons !== null) {toReturn['addons'] = 'toApiJson' in this.addons ? (this.addons as any).toApiJson() : this.addons;}\n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        return toReturn;\n    }\n}\n\nexport class ListAppDistributionStatusRequest implements i.ListAppDistributionStatusRequestInterface {\n    pageSize: number;\n    cursor: string;\n\n    static fromProto(proto: any): ListAppDistributionStatusRequest {\n        let m = new ListAppDistributionStatusRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAppDistributionStatusRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        return toReturn;\n    }\n}\n\nexport class ListAppDistributionStatusResponse implements i.ListAppDistributionStatusResponseInterface {\n    appDistributionStatuses: ListAppDistributionStatusResponseAppDistributionStatus[];\n\n    static fromProto(proto: any): ListAppDistributionStatusResponse {\n        let m = new ListAppDistributionStatusResponse();\n        m = Object.assign(m, proto);\n        if (proto.appDistributionStatuses) {m.appDistributionStatuses = proto.appDistributionStatuses.map(ListAppDistributionStatusResponseAppDistributionStatus.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAppDistributionStatusResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appDistributionStatuses !== 'undefined' && this.appDistributionStatuses !== null) {toReturn['appDistributionStatuses'] = 'toApiJson' in this.appDistributionStatuses ? (this.appDistributionStatuses as any).toApiJson() : this.appDistributionStatuses;}\n        return toReturn;\n    }\n}\n\nexport class ListAvailableAppsRequest implements i.ListAvailableAppsRequestInterface {\n    partnerId: string;\n    whitelabelOverrideKey: string;\n    tagFilters: Tag[];\n    pagingOptions: PagedRequestOptions;\n    searchTerm: string;\n\n    static fromProto(proto: any): ListAvailableAppsRequest {\n        let m = new ListAvailableAppsRequest();\n        m = Object.assign(m, proto);\n        if (proto.tagFilters) {m.tagFilters = proto.tagFilters.map(Tag.fromProto);}\n        if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAvailableAppsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.whitelabelOverrideKey !== 'undefined') {toReturn['whitelabelOverrideKey'] = this.whitelabelOverrideKey;}\n        if (typeof this.tagFilters !== 'undefined' && this.tagFilters !== null) {toReturn['tagFilters'] = 'toApiJson' in this.tagFilters ? (this.tagFilters as any).toApiJson() : this.tagFilters;}\n        if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n        if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n        return toReturn;\n    }\n}\n\nexport class ListAvailableAppsResponse implements i.ListAvailableAppsResponseInterface {\n    availableAppsSummaries: AppSummary[];\n    pagingMetadata: PagedResponseMetadata;\n\n    static fromProto(proto: any): ListAvailableAppsResponse {\n        let m = new ListAvailableAppsResponse();\n        m = Object.assign(m, proto);\n        if (proto.availableAppsSummaries) {m.availableAppsSummaries = proto.availableAppsSummaries.map(AppSummary.fromProto);}\n        if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAvailableAppsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.availableAppsSummaries !== 'undefined' && this.availableAppsSummaries !== null) {toReturn['availableAppsSummaries'] = 'toApiJson' in this.availableAppsSummaries ? (this.availableAppsSummaries as any).toApiJson() : this.availableAppsSummaries;}\n        if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n        return toReturn;\n    }\n}\n\nexport class ListDiscoverableAppSuggestionsRequest implements i.ListDiscoverableAppSuggestionsRequestInterface {\n    searchTerm: string;\n    partnerId: string;\n    pageSize: number;\n\n    static fromProto(proto: any): ListDiscoverableAppSuggestionsRequest {\n        let m = new ListDiscoverableAppSuggestionsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDiscoverableAppSuggestionsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        return toReturn;\n    }\n}\n\nexport class ListDiscoverableAppSuggestionsResponse implements i.ListDiscoverableAppSuggestionsResponseInterface {\n    suggestions: ListDiscoverableAppSuggestionsResponseSuggestion[];\n\n    static fromProto(proto: any): ListDiscoverableAppSuggestionsResponse {\n        let m = new ListDiscoverableAppSuggestionsResponse();\n        m = Object.assign(m, proto);\n        if (proto.suggestions) {m.suggestions = proto.suggestions.map(ListDiscoverableAppSuggestionsResponseSuggestion.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDiscoverableAppSuggestionsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.suggestions !== 'undefined' && this.suggestions !== null) {toReturn['suggestions'] = 'toApiJson' in this.suggestions ? (this.suggestions as any).toApiJson() : this.suggestions;}\n        return toReturn;\n    }\n}\n\nexport class ListDiscoverableAppsRequest implements i.ListDiscoverableAppsRequestInterface {\n    partnerId: string;\n    pageSize: number;\n    cursor: string;\n    marketId: string;\n    whitelabelOverrideKey: string;\n    tagFilters: Tag[];\n    searchTerm: string;\n    sortOrder: e.DiscoverProductSortOrderType;\n    addonOptions: AddonOptions;\n\n    static fromProto(proto: any): ListDiscoverableAppsRequest {\n        let m = new ListDiscoverableAppsRequest();\n        m = Object.assign(m, proto);\n        if (proto.tagFilters) {m.tagFilters = proto.tagFilters.map(Tag.fromProto);}\n        if (proto.sortOrder) {m.sortOrder = enumStringToValue<e.DiscoverProductSortOrderType>(e.DiscoverProductSortOrderType, proto.sortOrder);}\n        if (proto.addonOptions) {m.addonOptions = AddonOptions.fromProto(proto.addonOptions);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDiscoverableAppsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.whitelabelOverrideKey !== 'undefined') {toReturn['whitelabelOverrideKey'] = this.whitelabelOverrideKey;}\n        if (typeof this.tagFilters !== 'undefined' && this.tagFilters !== null) {toReturn['tagFilters'] = 'toApiJson' in this.tagFilters ? (this.tagFilters as any).toApiJson() : this.tagFilters;}\n        if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n        if (typeof this.sortOrder !== 'undefined') {toReturn['sortOrder'] = this.sortOrder;}\n        if (typeof this.addonOptions !== 'undefined' && this.addonOptions !== null) {toReturn['addonOptions'] = 'toApiJson' in this.addonOptions ? (this.addonOptions as any).toApiJson() : this.addonOptions;}\n        return toReturn;\n    }\n}\n\nexport class ListDiscoverableAppsResponse implements i.ListDiscoverableAppsResponseInterface {\n    discoverableAppSummary: DiscoverableAppSummary[];\n    nextCursor: string;\n    hasMore: boolean;\n    totalResults: number;\n\n    static fromProto(proto: any): ListDiscoverableAppsResponse {\n        let m = new ListDiscoverableAppsResponse();\n        m = Object.assign(m, proto);\n        if (proto.discoverableAppSummary) {m.discoverableAppSummary = proto.discoverableAppSummary.map(DiscoverableAppSummary.fromProto);}\n        if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDiscoverableAppsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.discoverableAppSummary !== 'undefined' && this.discoverableAppSummary !== null) {toReturn['discoverableAppSummary'] = 'toApiJson' in this.discoverableAppSummary ? (this.discoverableAppSummary as any).toApiJson() : this.discoverableAppSummary;}\n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n        return toReturn;\n    }\n}\n\nexport class ListDistributedAppIdsRequest implements i.ListDistributedAppIdsRequestInterface {\n    partnerId: string;\n    marketId: string;\n    filters: ListDistributedAppIdsRequestListDistributedAppIdsRequestFilters;\n\n    static fromProto(proto: any): ListDistributedAppIdsRequest {\n        let m = new ListDistributedAppIdsRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = ListDistributedAppIdsRequestListDistributedAppIdsRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDistributedAppIdsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class ListDistributedAppIdsRequestListDistributedAppIdsRequestFilters implements i.ListDistributedAppIdsRequestListDistributedAppIdsRequestFiltersInterface {\n    appTypes: e.AppType[];\n\n    static fromProto(proto: any): ListDistributedAppIdsRequestListDistributedAppIdsRequestFilters {\n        let m = new ListDistributedAppIdsRequestListDistributedAppIdsRequestFilters();\n        m = Object.assign(m, proto);\n        if (proto.appTypes) {m.appTypes = proto.appTypes.map((v: string) => enumStringToValue<e.AppType>(e.AppType, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDistributedAppIdsRequestListDistributedAppIdsRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appTypes !== 'undefined') {toReturn['appTypes'] = this.appTypes;}\n        return toReturn;\n    }\n}\n\nexport class ListDistributedAppIdsResponse implements i.ListDistributedAppIdsResponseInterface {\n    appIds: string[];\n\n    static fromProto(proto: any): ListDistributedAppIdsResponse {\n        let m = new ListDistributedAppIdsResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDistributedAppIdsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appIds !== 'undefined') {toReturn['appIds'] = this.appIds;}\n        return toReturn;\n    }\n}\n\nexport class ListPackageIDsForProductRequest implements i.ListPackageIDsForProductRequestInterface {\n    partnerId: string;\n    marketId: string;\n    appId: string;\n    editionId: string;\n\n    static fromProto(proto: any): ListPackageIDsForProductRequest {\n        let m = new ListPackageIDsForProductRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListPackageIDsForProductRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        return toReturn;\n    }\n}\n\nexport class ListPackageIDsForProductResponse implements i.ListPackageIDsForProductResponseInterface {\n    packageIds: string[];\n\n    static fromProto(proto: any): ListPackageIDsForProductResponse {\n        let m = new ListPackageIDsForProductResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListPackageIDsForProductResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageIds !== 'undefined') {toReturn['packageIds'] = this.packageIds;}\n        return toReturn;\n    }\n}\n\nexport class ListPackagesRequest implements i.ListPackagesRequestInterface {\n    partnerId: string;\n    marketId: string;\n    lmiCategory: e.LmiCategories;\n    statuses: e.StatusesStatus[];\n    sort: boolean;\n    pageSize: number;\n    cursor: string;\n    includeTotalResults: boolean;\n    filterTerm: string;\n\n    static fromProto(proto: any): ListPackagesRequest {\n        let m = new ListPackagesRequest();\n        m = Object.assign(m, proto);\n        if (proto.lmiCategory) {m.lmiCategory = enumStringToValue<e.LmiCategories>(e.LmiCategories, proto.lmiCategory);}\n        if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.StatusesStatus>(e.StatusesStatus, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListPackagesRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.lmiCategory !== 'undefined') {toReturn['lmiCategory'] = this.lmiCategory;}\n        if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n        if (typeof this.sort !== 'undefined') {toReturn['sort'] = this.sort;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.includeTotalResults !== 'undefined') {toReturn['includeTotalResults'] = this.includeTotalResults;}\n        if (typeof this.filterTerm !== 'undefined') {toReturn['filterTerm'] = this.filterTerm;}\n        return toReturn;\n    }\n}\n\nexport class ListPackagesResponse implements i.ListPackagesResponseInterface {\n    packages: Package[];\n    nextCursor: string;\n    hasMore: boolean;\n    totalResults: number;\n\n    static fromProto(proto: any): ListPackagesResponse {\n        let m = new ListPackagesResponse();\n        m = Object.assign(m, proto);\n        if (proto.packages) {m.packages = proto.packages.map(Package.fromProto);}\n        if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListPackagesResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packages !== 'undefined' && this.packages !== null) {toReturn['packages'] = 'toApiJson' in this.packages ? (this.packages as any).toApiJson() : this.packages;}\n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n        return toReturn;\n    }\n}\n\nexport class ListPartnerAppEnablementStatusRequest implements i.ListPartnerAppEnablementStatusRequestInterface {\n    partnerId: string;\n\n    static fromProto(proto: any): ListPartnerAppEnablementStatusRequest {\n        let m = new ListPartnerAppEnablementStatusRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListPartnerAppEnablementStatusRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        return toReturn;\n    }\n}\n\nexport class ListPartnerAppEnablementStatusResponse implements i.ListPartnerAppEnablementStatusResponseInterface {\n    partnerAppResponse: PartnerAppResponse[];\n\n    static fromProto(proto: any): ListPartnerAppEnablementStatusResponse {\n        let m = new ListPartnerAppEnablementStatusResponse();\n        m = Object.assign(m, proto);\n        if (proto.partnerAppResponse) {m.partnerAppResponse = proto.partnerAppResponse.map(PartnerAppResponse.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListPartnerAppEnablementStatusResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerAppResponse !== 'undefined' && this.partnerAppResponse !== null) {toReturn['partnerAppResponse'] = 'toApiJson' in this.partnerAppResponse ? (this.partnerAppResponse as any).toApiJson() : this.partnerAppResponse;}\n        return toReturn;\n    }\n}\n\nexport class ListProductFilter implements i.ListProductFilterInterface {\n    approved: boolean;\n    state: e.StateFilterOptions;\n\n    static fromProto(proto: any): ListProductFilter {\n        let m = new ListProductFilter();\n        m = Object.assign(m, proto);\n        if (proto.state) {m.state = enumStringToValue<e.StateFilterOptions>(e.StateFilterOptions, proto.state);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListProductFilterInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.approved !== 'undefined') {toReturn['approved'] = this.approved;}\n        if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n        return toReturn;\n    }\n}\n\nexport class ListProductsRequest implements i.ListProductsRequestInterface {\n    partnerId: string;\n    pageSize: number;\n    cursor: string;\n    marketId: string;\n    filters: ListProductFilter;\n    fieldMask: FieldMask;\n    whitelabelOverrideKey: string;\n\n    static fromProto(proto: any): ListProductsRequest {\n        let m = new ListProductsRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = ListProductFilter.fromProto(proto.filters);}\n        if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListProductsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n        if (typeof this.whitelabelOverrideKey !== 'undefined') {toReturn['whitelabelOverrideKey'] = this.whitelabelOverrideKey;}\n        return toReturn;\n    }\n}\n\nexport class ListProductsResponse implements i.ListProductsResponseInterface {\n    products: Product[];\n    nextCursor: string;\n    hasMore: boolean;\n\n    static fromProto(proto: any): ListProductsResponse {\n        let m = new ListProductsResponse();\n        m = Object.assign(m, proto);\n        if (proto.products) {m.products = proto.products.map(Product.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListProductsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiPackageResponsePackageContainer implements i.GetMultiPackageResponsePackageContainerInterface {\n    package: Package;\n\n    static fromProto(proto: any): GetMultiPackageResponsePackageContainer {\n        let m = new GetMultiPackageResponsePackageContainer();\n        m = Object.assign(m, proto);\n        if (proto.package) {m.package = Package.fromProto(proto.package);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiPackageResponsePackageContainerInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.package !== 'undefined' && this.package !== null) {toReturn['package'] = 'toApiJson' in this.package ? (this.package as any).toApiJson() : this.package;}\n        return toReturn;\n    }\n}\n\nexport class PackageIdContainer implements i.PackageIdContainerInterface {\n    packageIds: string[];\n\n    static fromProto(proto: any): PackageIdContainer {\n        let m = new PackageIdContainer();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.PackageIdContainerInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageIds !== 'undefined') {toReturn['packageIds'] = this.packageIds;}\n        return toReturn;\n    }\n}\n\nexport class PackageScope implements i.PackageScopeInterface {\n    partnerId: string;\n    marketIds: string[];\n\n    static fromProto(proto: any): PackageScope {\n        let m = new PackageScope();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.PackageScopeInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketIds !== 'undefined') {toReturn['marketIds'] = this.marketIds;}\n        return toReturn;\n    }\n}\n\nexport class BulkCopyPackageRequestPackageSource implements i.BulkCopyPackageRequestPackageSourceInterface {\n    packageIdsContainer: PackageIdContainer;\n    scope: PackageScope;\n\n    static fromProto(proto: any): BulkCopyPackageRequestPackageSource {\n        let m = new BulkCopyPackageRequestPackageSource();\n        m = Object.assign(m, proto);\n        if (proto.packageIdsContainer) {m.packageIdsContainer = PackageIdContainer.fromProto(proto.packageIdsContainer);}\n        if (proto.scope) {m.scope = PackageScope.fromProto(proto.scope);}\n        return m;\n    }\n\n    constructor(kwargs?: i.BulkCopyPackageRequestPackageSourceInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageIdsContainer !== 'undefined' && this.packageIdsContainer !== null) {toReturn['packageIdsContainer'] = 'toApiJson' in this.packageIdsContainer ? (this.packageIdsContainer as any).toApiJson() : this.packageIdsContainer;}\n        if (typeof this.scope !== 'undefined' && this.scope !== null) {toReturn['scope'] = 'toApiJson' in this.scope ? (this.scope as any).toApiJson() : this.scope;}\n        return toReturn;\n    }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n    cursor: string;\n    pageSize: number;\n\n    static fromProto(proto: any): PagedRequestOptions {\n        let m = new PagedRequestOptions();\n        m = Object.assign(m, proto);\n        if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PagedRequestOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        return toReturn;\n    }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n    nextCursor: string;\n    hasMore: boolean;\n    totalResults: number;\n\n    static fromProto(proto: any): PagedResponseMetadata {\n        let m = new PagedResponseMetadata();\n        m = Object.assign(m, proto);\n        if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PagedResponseMetadataInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n        return toReturn;\n    }\n}\n\nexport class PartnerAppRequest implements i.PartnerAppRequestInterface {\n    partnerId: string;\n    appId: string;\n\n    static fromProto(proto: any): PartnerAppRequest {\n        let m = new PartnerAppRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.PartnerAppRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        return toReturn;\n    }\n}\n\nexport class PartnerAppResponse implements i.PartnerAppResponseInterface {\n    partnerId: string;\n    appId: string;\n    status: e.AppEnablementStatusesAppEnablementStatus;\n    updateEvents: UpdateEvent[];\n\n    static fromProto(proto: any): PartnerAppResponse {\n        let m = new PartnerAppResponse();\n        m = Object.assign(m, proto);\n        if (proto.status) {m.status = enumStringToValue<e.AppEnablementStatusesAppEnablementStatus>(e.AppEnablementStatusesAppEnablementStatus, proto.status);}\n        if (proto.updateEvents) {m.updateEvents = proto.updateEvents.map(UpdateEvent.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PartnerAppResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n        if (typeof this.updateEvents !== 'undefined' && this.updateEvents !== null) {toReturn['updateEvents'] = 'toApiJson' in this.updateEvents ? (this.updateEvents as any).toApiJson() : this.updateEvents;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiProductsResponseProductContainer implements i.GetMultiProductsResponseProductContainerInterface {\n    product: Product;\n\n    static fromProto(proto: any): GetMultiProductsResponseProductContainer {\n        let m = new GetMultiProductsResponseProductContainer();\n        m = Object.assign(m, proto);\n        if (proto.product) {m.product = Product.fromProto(proto.product);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiProductsResponseProductContainerInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.product !== 'undefined' && this.product !== null) {toReturn['product'] = 'toApiJson' in this.product ? (this.product as any).toApiJson() : this.product;}\n        return toReturn;\n    }\n}\n\nexport class ProductPricingRule implements i.ProductPricingRuleInterface {\n    price: number;\n    minUnits: number;\n    maxUnits: number;\n\n    static fromProto(proto: any): ProductPricingRule {\n        let m = new ProductPricingRule();\n        m = Object.assign(m, proto);\n        if (proto.price) {m.price = parseInt(proto.price, 10);}\n        if (proto.minUnits) {m.minUnits = parseInt(proto.minUnits, 10);}\n        if (proto.maxUnits) {m.maxUnits = parseInt(proto.maxUnits, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ProductPricingRuleInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        if (typeof this.minUnits !== 'undefined') {toReturn['minUnits'] = this.minUnits;}\n        if (typeof this.maxUnits !== 'undefined') {toReturn['maxUnits'] = this.maxUnits;}\n        return toReturn;\n    }\n}\n\nexport class ProductWholesalePrice implements i.ProductWholesalePriceInterface {\n    currency: string;\n    price: number;\n    frequency: string;\n    commitment: Commitment;\n    isStartingAt: boolean;\n    shouldContactSales: boolean;\n    priceDisplaySku: string;\n\n    static fromProto(proto: any): ProductWholesalePrice {\n        let m = new ProductWholesalePrice();\n        m = Object.assign(m, proto);\n        if (proto.price) {m.price = parseInt(proto.price, 10);}\n        if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ProductWholesalePriceInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n        if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n        if (typeof this.isStartingAt !== 'undefined') {toReturn['isStartingAt'] = this.isStartingAt;}\n        if (typeof this.shouldContactSales !== 'undefined') {toReturn['shouldContactSales'] = this.shouldContactSales;}\n        if (typeof this.priceDisplaySku !== 'undefined') {toReturn['priceDisplaySku'] = this.priceDisplaySku;}\n        return toReturn;\n    }\n}\n\nexport class RemovePartnerFromPermissionsListRequest implements i.RemovePartnerFromPermissionsListRequestInterface {\n    appId: string;\n    partnerId: string;\n    permissionsList: e.PermissionsListType;\n\n    static fromProto(proto: any): RemovePartnerFromPermissionsListRequest {\n        let m = new RemovePartnerFromPermissionsListRequest();\n        m = Object.assign(m, proto);\n        if (proto.permissionsList) {m.permissionsList = enumStringToValue<e.PermissionsListType>(e.PermissionsListType, proto.permissionsList);}\n        return m;\n    }\n\n    constructor(kwargs?: i.RemovePartnerFromPermissionsListRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.permissionsList !== 'undefined') {toReturn['permissionsList'] = this.permissionsList;}\n        return toReturn;\n    }\n}\n\nexport class ListDiscoverableAppSuggestionsResponseSuggestion implements i.ListDiscoverableAppSuggestionsResponseSuggestionInterface {\n    appName: string;\n\n    static fromProto(proto: any): ListDiscoverableAppSuggestionsResponseSuggestion {\n        let m = new ListDiscoverableAppSuggestionsResponseSuggestion();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDiscoverableAppSuggestionsResponseSuggestionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appName !== 'undefined') {toReturn['appName'] = this.appName;}\n        return toReturn;\n    }\n}\n\nexport class Tag implements i.TagInterface {\n    kind: string;\n    value: string;\n\n    static fromProto(proto: any): Tag {\n        let m = new Tag();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.TagInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.kind !== 'undefined') {toReturn['kind'] = this.kind;}\n        if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n        return toReturn;\n    }\n}\n\nexport class UpdateEvent implements i.UpdateEventInterface {\n    timestamp: Date;\n    status: e.AppEnablementStatusesAppEnablementStatus;\n    origin: string;\n\n    static fromProto(proto: any): UpdateEvent {\n        let m = new UpdateEvent();\n        m = Object.assign(m, proto);\n        if (proto.timestamp) {m.timestamp = new Date(proto.timestamp);}\n        if (proto.status) {m.status = enumStringToValue<e.AppEnablementStatusesAppEnablementStatus>(e.AppEnablementStatusesAppEnablementStatus, proto.status);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateEventInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.timestamp !== 'undefined' && this.timestamp !== null) {toReturn['timestamp'] = 'toApiJson' in this.timestamp ? (this.timestamp as any).toApiJson() : this.timestamp;}\n        if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n        if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n        return toReturn;\n    }\n}\n\nexport class UpdatePackageOperation implements i.UpdatePackageOperationInterface {\n    name: string;\n    tagline: string;\n    iconUrl: string;\n    headerImageUrl: string;\n    content: string;\n    pricing: Pricing;\n    hideProductDetails: boolean;\n    hideProductIconsAndNames: boolean;\n    lineItems: LineItems;\n    status: e.StatusesStatus;\n    marketAction: MarketAction;\n    usesBillingPricing: boolean;\n    pricingDisplayOption: e.PricingDisplayOption;\n    iconUrlV2: string;\n    headerImageUrlV2: string;\n    lineItemDisplayOption: e.LineItemDisplayOption;\n\n    static fromProto(proto: any): UpdatePackageOperation {\n        let m = new UpdatePackageOperation();\n        m = Object.assign(m, proto);\n        if (proto.pricing) {m.pricing = Pricing.fromProto(proto.pricing);}\n        if (proto.lineItems) {m.lineItems = LineItems.fromProto(proto.lineItems);}\n        if (proto.status) {m.status = enumStringToValue<e.StatusesStatus>(e.StatusesStatus, proto.status);}\n        if (proto.marketAction) {m.marketAction = MarketAction.fromProto(proto.marketAction);}\n        if (proto.pricingDisplayOption) {m.pricingDisplayOption = enumStringToValue<e.PricingDisplayOption>(e.PricingDisplayOption, proto.pricingDisplayOption);}\n        if (proto.lineItemDisplayOption) {m.lineItemDisplayOption = enumStringToValue<e.LineItemDisplayOption>(e.LineItemDisplayOption, proto.lineItemDisplayOption);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdatePackageOperationInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.iconUrl !== 'undefined') {toReturn['iconUrl'] = this.iconUrl;}\n        if (typeof this.headerImageUrl !== 'undefined') {toReturn['headerImageUrl'] = this.headerImageUrl;}\n        if (typeof this.content !== 'undefined') {toReturn['content'] = this.content;}\n        if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n        if (typeof this.hideProductDetails !== 'undefined') {toReturn['hideProductDetails'] = this.hideProductDetails;}\n        if (typeof this.hideProductIconsAndNames !== 'undefined') {toReturn['hideProductIconsAndNames'] = this.hideProductIconsAndNames;}\n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n        if (typeof this.marketAction !== 'undefined' && this.marketAction !== null) {toReturn['marketAction'] = 'toApiJson' in this.marketAction ? (this.marketAction as any).toApiJson() : this.marketAction;}\n        if (typeof this.usesBillingPricing !== 'undefined') {toReturn['usesBillingPricing'] = this.usesBillingPricing;}\n        if (typeof this.pricingDisplayOption !== 'undefined') {toReturn['pricingDisplayOption'] = this.pricingDisplayOption;}\n        if (typeof this.iconUrlV2 !== 'undefined') {toReturn['iconUrlV2'] = this.iconUrlV2;}\n        if (typeof this.headerImageUrlV2 !== 'undefined') {toReturn['headerImageUrlV2'] = this.headerImageUrlV2;}\n        if (typeof this.lineItemDisplayOption !== 'undefined') {toReturn['lineItemDisplayOption'] = this.lineItemDisplayOption;}\n        return toReturn;\n    }\n}\n\nexport class UpdatePackageRequest implements i.UpdatePackageRequestInterface {\n    packageId: string;\n    updatePackageOperations: UpdatePackageOperation[];\n\n    static fromProto(proto: any): UpdatePackageRequest {\n        let m = new UpdatePackageRequest();\n        m = Object.assign(m, proto);\n        if (proto.updatePackageOperations) {m.updatePackageOperations = proto.updatePackageOperations.map(UpdatePackageOperation.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdatePackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.updatePackageOperations !== 'undefined' && this.updatePackageOperations !== null) {toReturn['updatePackageOperations'] = 'toApiJson' in this.updatePackageOperations ? (this.updatePackageOperations as any).toApiJson() : this.updatePackageOperations;}\n        return toReturn;\n    }\n}\n\nexport class UpdatePackageResponse implements i.UpdatePackageResponseInterface {\n    package: Package;\n\n    static fromProto(proto: any): UpdatePackageResponse {\n        let m = new UpdatePackageResponse();\n        m = Object.assign(m, proto);\n        if (proto.package) {m.package = Package.fromProto(proto.package);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdatePackageResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.package !== 'undefined' && this.package !== null) {toReturn['package'] = 'toApiJson' in this.package ? (this.package as any).toApiJson() : this.package;}\n        return toReturn;\n    }\n}\n\nexport class UpsertAppPermissionsRequest implements i.UpsertAppPermissionsRequestInterface {\n    appId: string;\n    whitelist: string[];\n    blacklist: string[];\n    distributed: boolean;\n\n    static fromProto(proto: any): UpsertAppPermissionsRequest {\n        let m = new UpsertAppPermissionsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpsertAppPermissionsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.whitelist !== 'undefined') {toReturn['whitelist'] = this.whitelist;}\n        if (typeof this.blacklist !== 'undefined') {toReturn['blacklist'] = this.blacklist;}\n        if (typeof this.distributed !== 'undefined') {toReturn['distributed'] = this.distributed;}\n        return toReturn;\n    }\n}\n\nexport class UpsertAppPermissionsResponse implements i.UpsertAppPermissionsResponseInterface {\n    appId: string;\n    whitelist: string[];\n    blacklist: string[];\n    distributed: boolean;\n\n    static fromProto(proto: any): UpsertAppPermissionsResponse {\n        let m = new UpsertAppPermissionsResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpsertAppPermissionsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.whitelist !== 'undefined') {toReturn['whitelist'] = this.whitelist;}\n        if (typeof this.blacklist !== 'undefined') {toReturn['blacklist'] = this.blacklist;}\n        if (typeof this.distributed !== 'undefined') {toReturn['distributed'] = this.distributed;}\n        return toReturn;\n    }\n}\n\nexport class VendorRetailPrice implements i.VendorRetailPriceInterface {\n    billingFrequency: string;\n    currency: string;\n    price: number;\n    editionPrice: boolean;\n\n    static fromProto(proto: any): VendorRetailPrice {\n        let m = new VendorRetailPrice();\n        m = Object.assign(m, proto);\n        if (proto.price) {m.price = parseInt(proto.price, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.VendorRetailPriceInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        if (typeof this.editionPrice !== 'undefined') {toReturn['editionPrice'] = this.editionPrice;}\n        return toReturn;\n    }\n}\n\nexport class WholesalePrice implements i.WholesalePriceInterface {\n    billingFrequency: string;\n    currency: string;\n    price: number;\n\n    static fromProto(proto: any): WholesalePrice {\n        let m = new WholesalePrice();\n        m = Object.assign(m, proto);\n        if (proto.price) {m.price = parseInt(proto.price, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.WholesalePriceInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class AddMultiToShoppingCartRequest implements i.AddMultiToShoppingCartRequestInterface {\n    businessId: string;\n    items: AddMultiToShoppingCartRequestItem[];\n\n    static fromProto(proto: any): AddMultiToShoppingCartRequest {\n        let m = new AddMultiToShoppingCartRequest();\n        m = Object.assign(m, proto);\n        if (proto.items) {m.items = proto.items.map(AddMultiToShoppingCartRequestItem.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AddMultiToShoppingCartRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n        return toReturn;\n    }\n}\n\nexport class AddToShoppingCartRequest implements i.AddToShoppingCartRequestInterface {\n    businessId: string;\n    itemId: string;\n    itemType: e.ShoppingCartItemType;\n    editionId: string;\n\n    static fromProto(proto: any): AddToShoppingCartRequest {\n        let m = new AddToShoppingCartRequest();\n        m = Object.assign(m, proto);\n        if (proto.itemType) {m.itemType = enumStringToValue<e.ShoppingCartItemType>(e.ShoppingCartItemType, proto.itemType);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AddToShoppingCartRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.itemId !== 'undefined') {toReturn['itemId'] = this.itemId;}\n        if (typeof this.itemType !== 'undefined') {toReturn['itemType'] = this.itemType;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        return toReturn;\n    }\n}\n\nexport class ClearShoppingCartRequest implements i.ClearShoppingCartRequestInterface {\n    businessId: string;\n\n    static fromProto(proto: any): ClearShoppingCartRequest {\n        let m = new ClearShoppingCartRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ClearShoppingCartRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class GetShoppingCartRequest implements i.GetShoppingCartRequestInterface {\n    businessId: string;\n    userId: string;\n\n    static fromProto(proto: any): GetShoppingCartRequest {\n        let m = new GetShoppingCartRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetShoppingCartRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        return toReturn;\n    }\n}\n\nexport class IsShoppingCartEnabledRequest implements i.IsShoppingCartEnabledRequestInterface {\n    partnerId: string;\n    storeId: string;\n\n    static fromProto(proto: any): IsShoppingCartEnabledRequest {\n        let m = new IsShoppingCartEnabledRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.IsShoppingCartEnabledRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.storeId !== 'undefined') {toReturn['storeId'] = this.storeId;}\n        return toReturn;\n    }\n}\n\nexport class IsShoppingCartEnabledResponse implements i.IsShoppingCartEnabledResponseInterface {\n    enabled: boolean;\n\n    static fromProto(proto: any): IsShoppingCartEnabledResponse {\n        let m = new IsShoppingCartEnabledResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.IsShoppingCartEnabledResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.enabled !== 'undefined') {toReturn['enabled'] = this.enabled;}\n        return toReturn;\n    }\n}\n\nexport class AddMultiToShoppingCartRequestItem implements i.AddMultiToShoppingCartRequestItemInterface {\n    itemId: string;\n    itemType: e.ShoppingCartItemType;\n    editionId: string;\n\n    static fromProto(proto: any): AddMultiToShoppingCartRequestItem {\n        let m = new AddMultiToShoppingCartRequestItem();\n        m = Object.assign(m, proto);\n        if (proto.itemType) {m.itemType = enumStringToValue<e.ShoppingCartItemType>(e.ShoppingCartItemType, proto.itemType);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AddMultiToShoppingCartRequestItemInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.itemId !== 'undefined') {toReturn['itemId'] = this.itemId;}\n        if (typeof this.itemType !== 'undefined') {toReturn['itemType'] = this.itemType;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        return toReturn;\n    }\n}\n\nexport class RemoveFromShoppingCartRequest implements i.RemoveFromShoppingCartRequestInterface {\n    businessId: string;\n    itemId: string;\n\n    static fromProto(proto: any): RemoveFromShoppingCartRequest {\n        let m = new RemoveFromShoppingCartRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.RemoveFromShoppingCartRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.itemId !== 'undefined') {toReturn['itemId'] = this.itemId;}\n        return toReturn;\n    }\n}\n\nexport class RemoveMultiFromShoppingCartRequest implements i.RemoveMultiFromShoppingCartRequestInterface {\n    businessId: string;\n    itemIds: string[];\n\n    static fromProto(proto: any): RemoveMultiFromShoppingCartRequest {\n        let m = new RemoveMultiFromShoppingCartRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.RemoveMultiFromShoppingCartRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.itemIds !== 'undefined') {toReturn['itemIds'] = this.itemIds;}\n        return toReturn;\n    }\n}\n\nexport class ShoppingCart implements i.ShoppingCartInterface {\n    businessId: string;\n    userId: string;\n    items: ShoppingCartShoppingCartItem[];\n\n    static fromProto(proto: any): ShoppingCart {\n        let m = new ShoppingCart();\n        m = Object.assign(m, proto);\n        if (proto.items) {m.items = proto.items.map(ShoppingCartShoppingCartItem.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ShoppingCartInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n        return toReturn;\n    }\n}\n\nexport class ShoppingCartShoppingCartItem implements i.ShoppingCartShoppingCartItemInterface {\n    itemId: string;\n    quantity: number;\n    itemType: e.ShoppingCartItemType;\n    editionId: string;\n\n    static fromProto(proto: any): ShoppingCartShoppingCartItem {\n        let m = new ShoppingCartShoppingCartItem();\n        m = Object.assign(m, proto);\n        if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n        if (proto.itemType) {m.itemType = enumStringToValue<e.ShoppingCartItemType>(e.ShoppingCartItemType, proto.itemType);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ShoppingCartShoppingCartItemInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.itemId !== 'undefined') {toReturn['itemId'] = this.itemId;}\n        if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n        if (typeof this.itemType !== 'undefined') {toReturn['itemType'] = this.itemType;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        return toReturn;\n    }\n}\n\nexport class ShoppingCartResponse implements i.ShoppingCartResponseInterface {\n    cart: ShoppingCart;\n\n    static fromProto(proto: any): ShoppingCartResponse {\n        let m = new ShoppingCartResponse();\n        m = Object.assign(m, proto);\n        if (proto.cart) {m.cart = ShoppingCart.fromProto(proto.cart);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ShoppingCartResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.cart !== 'undefined' && this.cart !== null) {toReturn['cart'] = 'toApiJson' in this.cart ? (this.cart as any).toApiJson() : this.cart;}\n        return toReturn;\n    }\n}\n\nexport class UpdateItemQuantityRequest implements i.UpdateItemQuantityRequestInterface {\n    businessId: string;\n    itemId: string;\n    quantity: number;\n\n    static fromProto(proto: any): UpdateItemQuantityRequest {\n        let m = new UpdateItemQuantityRequest();\n        m = Object.assign(m, proto);\n        if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateItemQuantityRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.itemId !== 'undefined') {toReturn['itemId'] = this.itemId;}\n        if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { FieldMask } from './field-mask';\nimport { Pricing } from './package';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class AddToStoreRequest implements i.AddToStoreRequestInterface {\n    storeId: StoreIdentifier;\n    appId: string;\n\n    static fromProto(proto: any): AddToStoreRequest {\n        let m = new AddToStoreRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AddToStoreRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        return toReturn;\n    }\n}\n\nexport class AddToStoresRequest implements i.AddToStoresRequestInterface {\n    partnerId: string;\n    storeIds: string[];\n    itemId: string;\n\n    static fromProto(proto: any): AddToStoresRequest {\n        let m = new AddToStoresRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AddToStoresRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.storeIds !== 'undefined') {toReturn['storeIds'] = this.storeIds;}\n        if (typeof this.itemId !== 'undefined') {toReturn['itemId'] = this.itemId;}\n        return toReturn;\n    }\n}\n\nexport class Category implements i.CategoryInterface {\n    storeId: StoreIdentifier;\n    categoryId: string;\n    categoryName: string;\n    visibleInStore: boolean;\n    packageIds: string[];\n\n    static fromProto(proto: any): Category {\n        let m = new Category();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CategoryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.categoryId !== 'undefined') {toReturn['categoryId'] = this.categoryId;}\n        if (typeof this.categoryName !== 'undefined') {toReturn['categoryName'] = this.categoryName;}\n        if (typeof this.visibleInStore !== 'undefined') {toReturn['visibleInStore'] = this.visibleInStore;}\n        if (typeof this.packageIds !== 'undefined') {toReturn['packageIds'] = this.packageIds;}\n        return toReturn;\n    }\n}\n\nexport class CheckProductVisibilityRequest implements i.CheckProductVisibilityRequestInterface {\n    partnerId: string;\n    marketIds: string[];\n    productReferenceId: string;\n\n    static fromProto(proto: any): CheckProductVisibilityRequest {\n        let m = new CheckProductVisibilityRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CheckProductVisibilityRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketIds !== 'undefined') {toReturn['marketIds'] = this.marketIds;}\n        if (typeof this.productReferenceId !== 'undefined') {toReturn['productReferenceId'] = this.productReferenceId;}\n        return toReturn;\n    }\n}\n\nexport class CheckProductVisibilityResponse implements i.CheckProductVisibilityResponseInterface {\n    productVisibilty: {[key: string]: boolean};\n\n    static fromProto(proto: any): CheckProductVisibilityResponse {\n        let m = new CheckProductVisibilityResponse();\n        m = Object.assign(m, proto);\n        if (proto.productVisibilty) {m.productVisibilty = Object.keys(proto.productVisibilty).reduce<any>((obj, k) => { obj[k] = proto.productVisibilty[k]; return obj; }, {});}\n        return m;\n    }\n\n    constructor(kwargs?: i.CheckProductVisibilityResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productVisibilty !== 'undefined' && this.productVisibilty !== null) {toReturn['productVisibilty'] = 'toApiJson' in this.productVisibilty ? (this.productVisibilty as any).toApiJson() : this.productVisibilty;}\n        return toReturn;\n    }\n}\n\nexport class CreateStoreCategoryRequest implements i.CreateStoreCategoryRequestInterface {\n    storeId: StoreIdentifier;\n    name: string;\n\n    static fromProto(proto: any): CreateStoreCategoryRequest {\n        let m = new CreateStoreCategoryRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateStoreCategoryRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        return toReturn;\n    }\n}\n\nexport class CreateStoreCategoryResponse implements i.CreateStoreCategoryResponseInterface {\n    category: Category;\n\n    static fromProto(proto: any): CreateStoreCategoryResponse {\n        let m = new CreateStoreCategoryResponse();\n        m = Object.assign(m, proto);\n        if (proto.category) {m.category = Category.fromProto(proto.category);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateStoreCategoryResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.category !== 'undefined' && this.category !== null) {toReturn['category'] = 'toApiJson' in this.category ? (this.category as any).toApiJson() : this.category;}\n        return toReturn;\n    }\n}\n\nexport class DeleteStoreCategoryRequest implements i.DeleteStoreCategoryRequestInterface {\n    storeId: StoreIdentifier;\n    categoryId: string;\n\n    static fromProto(proto: any): DeleteStoreCategoryRequest {\n        let m = new DeleteStoreCategoryRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DeleteStoreCategoryRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.categoryId !== 'undefined') {toReturn['categoryId'] = this.categoryId;}\n        return toReturn;\n    }\n}\n\nexport class EnableCustomCategoriesForStoreRequest implements i.EnableCustomCategoriesForStoreRequestInterface {\n    storeId: StoreIdentifier;\n\n    static fromProto(proto: any): EnableCustomCategoriesForStoreRequest {\n        let m = new EnableCustomCategoriesForStoreRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.EnableCustomCategoriesForStoreRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        return toReturn;\n    }\n}\n\nexport class EnableCustomCategoriesForStoreResponse implements i.EnableCustomCategoriesForStoreResponseInterface {\n    categories: Category[];\n\n    static fromProto(proto: any): EnableCustomCategoriesForStoreResponse {\n        let m = new EnableCustomCategoriesForStoreResponse();\n        m = Object.assign(m, proto);\n        if (proto.categories) {m.categories = proto.categories.map(Category.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.EnableCustomCategoriesForStoreResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.categories !== 'undefined' && this.categories !== null) {toReturn['categories'] = 'toApiJson' in this.categories ? (this.categories as any).toApiJson() : this.categories;}\n        return toReturn;\n    }\n}\n\nexport class GetCategoriesForStoreRequest implements i.GetCategoriesForStoreRequestInterface {\n    storeId: StoreIdentifier;\n\n    static fromProto(proto: any): GetCategoriesForStoreRequest {\n        let m = new GetCategoriesForStoreRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetCategoriesForStoreRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        return toReturn;\n    }\n}\n\nexport class GetCategoriesForStoreResponse implements i.GetCategoriesForStoreResponseInterface {\n    categories: Category[];\n\n    static fromProto(proto: any): GetCategoriesForStoreResponse {\n        let m = new GetCategoriesForStoreResponse();\n        m = Object.assign(m, proto);\n        if (proto.categories) {m.categories = proto.categories.map(Category.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetCategoriesForStoreResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.categories !== 'undefined' && this.categories !== null) {toReturn['categories'] = 'toApiJson' in this.categories ? (this.categories as any).toApiJson() : this.categories;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiStorePricePreviewsRequest implements i.GetMultiStorePricePreviewsRequestInterface {\n    partnerId: string;\n    productIds: string[];\n\n    static fromProto(proto: any): GetMultiStorePricePreviewsRequest {\n        let m = new GetMultiStorePricePreviewsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiStorePricePreviewsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.productIds !== 'undefined') {toReturn['productIds'] = this.productIds;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiStorePricePreviewsResponse implements i.GetMultiStorePricePreviewsResponseInterface {\n    productPreviews: ProductPricePreviews[];\n\n    static fromProto(proto: any): GetMultiStorePricePreviewsResponse {\n        let m = new GetMultiStorePricePreviewsResponse();\n        m = Object.assign(m, proto);\n        if (proto.productPreviews) {m.productPreviews = proto.productPreviews.map(ProductPricePreviews.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiStorePricePreviewsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productPreviews !== 'undefined' && this.productPreviews !== null) {toReturn['productPreviews'] = 'toApiJson' in this.productPreviews ? (this.productPreviews as any).toApiJson() : this.productPreviews;}\n        return toReturn;\n    }\n}\n\nexport class GetPublicStoreThemeRequest implements i.GetPublicStoreThemeRequestInterface {\n    storeId: StoreIdentifier;\n\n    static fromProto(proto: any): GetPublicStoreThemeRequest {\n        let m = new GetPublicStoreThemeRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetPublicStoreThemeRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        return toReturn;\n    }\n}\n\nexport class GetPublicStoreThemeResponse implements i.GetPublicStoreThemeResponseInterface {\n    publicStoreTheme: PublicStoreTheme;\n\n    static fromProto(proto: any): GetPublicStoreThemeResponse {\n        let m = new GetPublicStoreThemeResponse();\n        m = Object.assign(m, proto);\n        if (proto.publicStoreTheme) {m.publicStoreTheme = PublicStoreTheme.fromProto(proto.publicStoreTheme);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetPublicStoreThemeResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.publicStoreTheme !== 'undefined' && this.publicStoreTheme !== null) {toReturn['publicStoreTheme'] = 'toApiJson' in this.publicStoreTheme ? (this.publicStoreTheme as any).toApiJson() : this.publicStoreTheme;}\n        return toReturn;\n    }\n}\n\nexport class GetStoreRequest implements i.GetStoreRequestInterface {\n    storeId: StoreIdentifier;\n\n    static fromProto(proto: any): GetStoreRequest {\n        let m = new GetStoreRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetStoreRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        return toReturn;\n    }\n}\n\nexport class GetStoreResponse implements i.GetStoreResponseInterface {\n    storeId: StoreIdentifier;\n    publicStoreSalesPersonId: string;\n    useCustomCategories: boolean;\n    categoryOrder: string[];\n\n    static fromProto(proto: any): GetStoreResponse {\n        let m = new GetStoreResponse();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetStoreResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.publicStoreSalesPersonId !== 'undefined') {toReturn['publicStoreSalesPersonId'] = this.publicStoreSalesPersonId;}\n        if (typeof this.useCustomCategories !== 'undefined') {toReturn['useCustomCategories'] = this.useCustomCategories;}\n        if (typeof this.categoryOrder !== 'undefined') {toReturn['categoryOrder'] = this.categoryOrder;}\n        return toReturn;\n    }\n}\n\nexport class GetStoreWithCategoriesRequest implements i.GetStoreWithCategoriesRequestInterface {\n    storeId: StoreIdentifier;\n    bypassCache: boolean;\n    getLegacyLmiCategories: boolean;\n\n    static fromProto(proto: any): GetStoreWithCategoriesRequest {\n        let m = new GetStoreWithCategoriesRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetStoreWithCategoriesRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.bypassCache !== 'undefined') {toReturn['bypassCache'] = this.bypassCache;}\n        if (typeof this.getLegacyLmiCategories !== 'undefined') {toReturn['getLegacyLmiCategories'] = this.getLegacyLmiCategories;}\n        return toReturn;\n    }\n}\n\nexport class GetStoreWithCategoriesResponse implements i.GetStoreWithCategoriesResponseInterface {\n    categories: Category[];\n    publicStoreSalesPersonId: string;\n\n    static fromProto(proto: any): GetStoreWithCategoriesResponse {\n        let m = new GetStoreWithCategoriesResponse();\n        m = Object.assign(m, proto);\n        if (proto.categories) {m.categories = proto.categories.map(Category.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetStoreWithCategoriesResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.categories !== 'undefined' && this.categories !== null) {toReturn['categories'] = 'toApiJson' in this.categories ? (this.categories as any).toApiJson() : this.categories;}\n        if (typeof this.publicStoreSalesPersonId !== 'undefined') {toReturn['publicStoreSalesPersonId'] = this.publicStoreSalesPersonId;}\n        return toReturn;\n    }\n}\n\nexport class HasPartnerSetStoreOrderRequest implements i.HasPartnerSetStoreOrderRequestInterface {\n    partnerId: string;\n\n    static fromProto(proto: any): HasPartnerSetStoreOrderRequest {\n        let m = new HasPartnerSetStoreOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.HasPartnerSetStoreOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        return toReturn;\n    }\n}\n\nexport class HasPartnerSetStoreOrderResponse implements i.HasPartnerSetStoreOrderResponseInterface {\n    result: boolean;\n\n    static fromProto(proto: any): HasPartnerSetStoreOrderResponse {\n        let m = new HasPartnerSetStoreOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.HasPartnerSetStoreOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.result !== 'undefined') {toReturn['result'] = this.result;}\n        return toReturn;\n    }\n}\n\nexport class ListCategoriesForPackageRequest implements i.ListCategoriesForPackageRequestInterface {\n    storeId: StoreIdentifier;\n    packageId: string;\n\n    static fromProto(proto: any): ListCategoriesForPackageRequest {\n        let m = new ListCategoriesForPackageRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListCategoriesForPackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        return toReturn;\n    }\n}\n\nexport class ListCategoriesForPackageResponse implements i.ListCategoriesForPackageResponseInterface {\n    categories: Category[];\n\n    static fromProto(proto: any): ListCategoriesForPackageResponse {\n        let m = new ListCategoriesForPackageResponse();\n        m = Object.assign(m, proto);\n        if (proto.categories) {m.categories = proto.categories.map(Category.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListCategoriesForPackageResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.categories !== 'undefined' && this.categories !== null) {toReturn['categories'] = 'toApiJson' in this.categories ? (this.categories as any).toApiJson() : this.categories;}\n        return toReturn;\n    }\n}\n\nexport class ListProductsInStoreFilters implements i.ListProductsInStoreFiltersInterface {\n    searchTerm: string;\n\n    static fromProto(proto: any): ListProductsInStoreFilters {\n        let m = new ListProductsInStoreFilters();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListProductsInStoreFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n        return toReturn;\n    }\n}\n\nexport class ListProductsInStoreRequest implements i.ListProductsInStoreRequestInterface {\n    storeId: StoreIdentifier;\n    cursor: string;\n    pageSize: number;\n    filters: ListProductsInStoreFilters;\n\n    static fromProto(proto: any): ListProductsInStoreRequest {\n        let m = new ListProductsInStoreRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n        if (proto.filters) {m.filters = ListProductsInStoreFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListProductsInStoreRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class ListProductsInStoreResponse implements i.ListProductsInStoreResponseInterface {\n    storeProducts: StoreProduct[];\n    nextCursor: string;\n    hasMore: boolean;\n\n    static fromProto(proto: any): ListProductsInStoreResponse {\n        let m = new ListProductsInStoreResponse();\n        m = Object.assign(m, proto);\n        if (proto.storeProducts) {m.storeProducts = proto.storeProducts.map(StoreProduct.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListProductsInStoreResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeProducts !== 'undefined' && this.storeProducts !== null) {toReturn['storeProducts'] = 'toApiJson' in this.storeProducts ? (this.storeProducts as any).toApiJson() : this.storeProducts;}\n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        return toReturn;\n    }\n}\n\nexport class ListStorePricePreviewsRequest implements i.ListStorePricePreviewsRequestInterface {\n    partnerId: string;\n    productId: string;\n\n    static fromProto(proto: any): ListStorePricePreviewsRequest {\n        let m = new ListStorePricePreviewsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListStorePricePreviewsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        return toReturn;\n    }\n}\n\nexport class ListStorePricePreviewsResponse implements i.ListStorePricePreviewsResponseInterface {\n    previews: StorePricePreviews[];\n\n    static fromProto(proto: any): ListStorePricePreviewsResponse {\n        let m = new ListStorePricePreviewsResponse();\n        m = Object.assign(m, proto);\n        if (proto.previews) {m.previews = proto.previews.map(StorePricePreviews.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListStorePricePreviewsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.previews !== 'undefined' && this.previews !== null) {toReturn['previews'] = 'toApiJson' in this.previews ? (this.previews as any).toApiJson() : this.previews;}\n        return toReturn;\n    }\n}\n\nexport class ListStoreProductVisibilitySummariesRequest implements i.ListStoreProductVisibilitySummariesRequestInterface {\n    partnerId: string;\n\n    static fromProto(proto: any): ListStoreProductVisibilitySummariesRequest {\n        let m = new ListStoreProductVisibilitySummariesRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListStoreProductVisibilitySummariesRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        return toReturn;\n    }\n}\n\nexport class ListStoreProductVisibilitySummariesResponse implements i.ListStoreProductVisibilitySummariesResponseInterface {\n    summaries: {[key: string]: ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary};\n\n    static fromProto(proto: any): ListStoreProductVisibilitySummariesResponse {\n        let m = new ListStoreProductVisibilitySummariesResponse();\n        m = Object.assign(m, proto);\n        if (proto.summaries) {m.summaries = Object.keys(proto.summaries).reduce<any>((obj, k) => { obj[k] = ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary.fromProto(proto.summaries[k]); return obj; }, {});}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListStoreProductVisibilitySummariesResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.summaries !== 'undefined' && this.summaries !== null) {toReturn['summaries'] = 'toApiJson' in this.summaries ? (this.summaries as any).toApiJson() : this.summaries;}\n        return toReturn;\n    }\n}\n\nexport class ListVisibleAddonsForProductRequest implements i.ListVisibleAddonsForProductRequestInterface {\n    appId: string;\n    storeId: StoreIdentifier;\n    cursor: string;\n    pageSize: number;\n\n    static fromProto(proto: any): ListVisibleAddonsForProductRequest {\n        let m = new ListVisibleAddonsForProductRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListVisibleAddonsForProductRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        return toReturn;\n    }\n}\n\nexport class ListVisibleAddonsForProductResponse implements i.ListVisibleAddonsForProductResponseInterface {\n    storeProducts: StoreProduct[];\n    nextCursor: string;\n    hasMore: boolean;\n\n    static fromProto(proto: any): ListVisibleAddonsForProductResponse {\n        let m = new ListVisibleAddonsForProductResponse();\n        m = Object.assign(m, proto);\n        if (proto.storeProducts) {m.storeProducts = proto.storeProducts.map(StoreProduct.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListVisibleAddonsForProductResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeProducts !== 'undefined' && this.storeProducts !== null) {toReturn['storeProducts'] = 'toApiJson' in this.storeProducts ? (this.storeProducts as any).toApiJson() : this.storeProducts;}\n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        return toReturn;\n    }\n}\n\nexport class ProductPricePreviews implements i.ProductPricePreviewsInterface {\n    productId: string;\n    productName: string;\n    storePreviews: StorePricePreviews[];\n\n    static fromProto(proto: any): ProductPricePreviews {\n        let m = new ProductPricePreviews();\n        m = Object.assign(m, proto);\n        if (proto.storePreviews) {m.storePreviews = proto.storePreviews.map(StorePricePreviews.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ProductPricePreviewsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.productName !== 'undefined') {toReturn['productName'] = this.productName;}\n        if (typeof this.storePreviews !== 'undefined' && this.storePreviews !== null) {toReturn['storePreviews'] = 'toApiJson' in this.storePreviews ? (this.storePreviews as any).toApiJson() : this.storePreviews;}\n        return toReturn;\n    }\n}\n\nexport class CheckProductVisibilityResponseProductVisibiltyEntry implements i.CheckProductVisibilityResponseProductVisibiltyEntryInterface {\n    key: string;\n    value: boolean;\n\n    static fromProto(proto: any): CheckProductVisibilityResponseProductVisibiltyEntry {\n        let m = new CheckProductVisibilityResponseProductVisibiltyEntry();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CheckProductVisibilityResponseProductVisibiltyEntryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n        if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n        return toReturn;\n    }\n}\n\nexport class PublicStoreTheme implements i.PublicStoreThemeInterface {\n    logoBarColor: string;\n    backgroundColor: string;\n    primaryFontColor: string;\n    secondaryFontColor: string;\n    accentColor: string;\n    primaryCategoryColor: string;\n    secondaryCategoryColor: string;\n\n    static fromProto(proto: any): PublicStoreTheme {\n        let m = new PublicStoreTheme();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.PublicStoreThemeInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.logoBarColor !== 'undefined') {toReturn['logoBarColor'] = this.logoBarColor;}\n        if (typeof this.backgroundColor !== 'undefined') {toReturn['backgroundColor'] = this.backgroundColor;}\n        if (typeof this.primaryFontColor !== 'undefined') {toReturn['primaryFontColor'] = this.primaryFontColor;}\n        if (typeof this.secondaryFontColor !== 'undefined') {toReturn['secondaryFontColor'] = this.secondaryFontColor;}\n        if (typeof this.accentColor !== 'undefined') {toReturn['accentColor'] = this.accentColor;}\n        if (typeof this.primaryCategoryColor !== 'undefined') {toReturn['primaryCategoryColor'] = this.primaryCategoryColor;}\n        if (typeof this.secondaryCategoryColor !== 'undefined') {toReturn['secondaryCategoryColor'] = this.secondaryCategoryColor;}\n        return toReturn;\n    }\n}\n\nexport class RemoveFromStoreRequest implements i.RemoveFromStoreRequestInterface {\n    storeId: StoreIdentifier;\n    productReferenceId: string;\n\n    static fromProto(proto: any): RemoveFromStoreRequest {\n        let m = new RemoveFromStoreRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.RemoveFromStoreRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.productReferenceId !== 'undefined') {toReturn['productReferenceId'] = this.productReferenceId;}\n        return toReturn;\n    }\n}\n\nexport class SetCategoriesForPackageRequest implements i.SetCategoriesForPackageRequestInterface {\n    storeId: StoreIdentifier;\n    packageId: string;\n    categoryIds: string[];\n\n    static fromProto(proto: any): SetCategoriesForPackageRequest {\n        let m = new SetCategoriesForPackageRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SetCategoriesForPackageRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.categoryIds !== 'undefined') {toReturn['categoryIds'] = this.categoryIds;}\n        return toReturn;\n    }\n}\n\nexport class SetPackagesInCategoryRequest implements i.SetPackagesInCategoryRequestInterface {\n    storeId: StoreIdentifier;\n    packageIds: string[];\n    categoryId: string;\n\n    static fromProto(proto: any): SetPackagesInCategoryRequest {\n        let m = new SetPackagesInCategoryRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SetPackagesInCategoryRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.packageIds !== 'undefined') {toReturn['packageIds'] = this.packageIds;}\n        if (typeof this.categoryId !== 'undefined') {toReturn['categoryId'] = this.categoryId;}\n        return toReturn;\n    }\n}\n\nexport class SetStoreCategoryOrderRequest implements i.SetStoreCategoryOrderRequestInterface {\n    storeId: StoreIdentifier;\n    orderedCategoryIds: string[];\n\n    static fromProto(proto: any): SetStoreCategoryOrderRequest {\n        let m = new SetStoreCategoryOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SetStoreCategoryOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.orderedCategoryIds !== 'undefined') {toReturn['orderedCategoryIds'] = this.orderedCategoryIds;}\n        return toReturn;\n    }\n}\n\nexport class StoreIdentifier implements i.StoreIdentifierInterface {\n    partnerId: string;\n    marketId: string;\n\n    static fromProto(proto: any): StoreIdentifier {\n        let m = new StoreIdentifier();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.StoreIdentifierInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        return toReturn;\n    }\n}\n\nexport class StorePricePreview implements i.StorePricePreviewInterface {\n    editionId: string;\n    editionName: string;\n    price: number;\n    frequency: e.FrequenciesFrequency;\n\n    static fromProto(proto: any): StorePricePreview {\n        let m = new StorePricePreview();\n        m = Object.assign(m, proto);\n        if (proto.price) {m.price = parseInt(proto.price, 10);}\n        if (proto.frequency) {m.frequency = enumStringToValue<e.FrequenciesFrequency>(e.FrequenciesFrequency, proto.frequency);}\n        return m;\n    }\n\n    constructor(kwargs?: i.StorePricePreviewInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.editionName !== 'undefined') {toReturn['editionName'] = this.editionName;}\n        if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n        if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n        return toReturn;\n    }\n}\n\nexport class StorePricePreviews implements i.StorePricePreviewsInterface {\n    storeId: StoreIdentifier;\n    storeName: string;\n    prices: StorePricePreview[];\n    currency: e.CurrenciesCurrency;\n\n    static fromProto(proto: any): StorePricePreviews {\n        let m = new StorePricePreviews();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        if (proto.prices) {m.prices = proto.prices.map(StorePricePreview.fromProto);}\n        if (proto.currency) {m.currency = enumStringToValue<e.CurrenciesCurrency>(e.CurrenciesCurrency, proto.currency);}\n        return m;\n    }\n\n    constructor(kwargs?: i.StorePricePreviewsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.storeName !== 'undefined') {toReturn['storeName'] = this.storeName;}\n        if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        return toReturn;\n    }\n}\n\nexport class StoreProduct implements i.StoreProductInterface {\n    storeId: StoreIdentifier;\n    name: string;\n    tagline: string;\n    iconUrl: string;\n    headerImageUrl: string;\n    pricing: Pricing;\n    appId: string;\n    packageId: string;\n    lmiCategories: e.LmiCategories[];\n\n    static fromProto(proto: any): StoreProduct {\n        let m = new StoreProduct();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        if (proto.pricing) {m.pricing = Pricing.fromProto(proto.pricing);}\n        if (proto.lmiCategories) {m.lmiCategories = proto.lmiCategories.map((v: string) => enumStringToValue<e.LmiCategories>(e.LmiCategories, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.StoreProductInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.tagline !== 'undefined') {toReturn['tagline'] = this.tagline;}\n        if (typeof this.iconUrl !== 'undefined') {toReturn['iconUrl'] = this.iconUrl;}\n        if (typeof this.headerImageUrl !== 'undefined') {toReturn['headerImageUrl'] = this.headerImageUrl;}\n        if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.lmiCategories !== 'undefined') {toReturn['lmiCategories'] = this.lmiCategories;}\n        return toReturn;\n    }\n}\n\nexport class ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary implements i.ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummaryInterface {\n    productId: string;\n    numStoresVisible: number;\n\n    static fromProto(proto: any): ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary {\n        let m = new ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary();\n        m = Object.assign(m, proto);\n        if (proto.numStoresVisible) {m.numStoresVisible = parseInt(proto.numStoresVisible, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummaryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.numStoresVisible !== 'undefined') {toReturn['numStoresVisible'] = this.numStoresVisible;}\n        return toReturn;\n    }\n}\n\nexport class ListStoreProductVisibilitySummariesResponseSummariesEntry implements i.ListStoreProductVisibilitySummariesResponseSummariesEntryInterface {\n    key: string;\n    value: ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary;\n\n    static fromProto(proto: any): ListStoreProductVisibilitySummariesResponseSummariesEntry {\n        let m = new ListStoreProductVisibilitySummariesResponseSummariesEntry();\n        m = Object.assign(m, proto);\n        if (proto.value) {m.value = ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary.fromProto(proto.value);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListStoreProductVisibilitySummariesResponseSummariesEntryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n        if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n        return toReturn;\n    }\n}\n\nexport class UpdatePublicStoreThemeRequest implements i.UpdatePublicStoreThemeRequestInterface {\n    storeId: StoreIdentifier;\n    publicStoreTheme: PublicStoreTheme;\n\n    static fromProto(proto: any): UpdatePublicStoreThemeRequest {\n        let m = new UpdatePublicStoreThemeRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        if (proto.publicStoreTheme) {m.publicStoreTheme = PublicStoreTheme.fromProto(proto.publicStoreTheme);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdatePublicStoreThemeRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.publicStoreTheme !== 'undefined' && this.publicStoreTheme !== null) {toReturn['publicStoreTheme'] = 'toApiJson' in this.publicStoreTheme ? (this.publicStoreTheme as any).toApiJson() : this.publicStoreTheme;}\n        return toReturn;\n    }\n}\n\nexport class UpdateStoreCategoryRequest implements i.UpdateStoreCategoryRequestInterface {\n    storeId: StoreIdentifier;\n    categoryId: string;\n    name: string;\n    visibleInStore: boolean;\n    fieldMask: FieldMask;\n\n    static fromProto(proto: any): UpdateStoreCategoryRequest {\n        let m = new UpdateStoreCategoryRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateStoreCategoryRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.categoryId !== 'undefined') {toReturn['categoryId'] = this.categoryId;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.visibleInStore !== 'undefined') {toReturn['visibleInStore'] = this.visibleInStore;}\n        if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n        return toReturn;\n    }\n}\n\nexport class UpdateStoreRequest implements i.UpdateStoreRequestInterface {\n    storeId: StoreIdentifier;\n    publicStoreSalesPersonId: string;\n    useCustomCategories: boolean;\n    fieldMask: FieldMask;\n\n    static fromProto(proto: any): UpdateStoreRequest {\n        let m = new UpdateStoreRequest();\n        m = Object.assign(m, proto);\n        if (proto.storeId) {m.storeId = StoreIdentifier.fromProto(proto.storeId);}\n        if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateStoreRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.storeId !== 'undefined' && this.storeId !== null) {toReturn['storeId'] = 'toApiJson' in this.storeId ? (this.storeId as any).toApiJson() : this.storeId;}\n        if (typeof this.publicStoreSalesPersonId !== 'undefined') {toReturn['publicStoreSalesPersonId'] = this.publicStoreSalesPersonId;}\n        if (typeof this.useCustomCategories !== 'undefined') {toReturn['useCustomCategories'] = this.useCustomCategories;}\n        if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { RetailPrice } from './retail-price';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class ConvertRetailPricesForMarketRequest implements i.ConvertRetailPricesForMarketRequestInterface {\n    partnerMarket: PartnerMarketContainer;\n    currency: string;\n    conversionRate: number;\n\n    static fromProto(proto: any): ConvertRetailPricesForMarketRequest {\n        let m = new ConvertRetailPricesForMarketRequest();\n        m = Object.assign(m, proto);\n        if (proto.partnerMarket) {m.partnerMarket = PartnerMarketContainer.fromProto(proto.partnerMarket);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ConvertRetailPricesForMarketRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerMarket !== 'undefined' && this.partnerMarket !== null) {toReturn['partnerMarket'] = 'toApiJson' in this.partnerMarket ? (this.partnerMarket as any).toApiJson() : this.partnerMarket;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.conversionRate !== 'undefined') {toReturn['conversionRate'] = this.conversionRate;}\n        return toReturn;\n    }\n}\n\nexport class CreateOrUpdateRetailPriceRequest implements i.CreateOrUpdateRetailPriceRequestInterface {\n    appId: string;\n    editionId: string;\n    partnerId: string;\n    marketId: string;\n    retailPrice: RetailPrice;\n\n    static fromProto(proto: any): CreateOrUpdateRetailPriceRequest {\n        let m = new CreateOrUpdateRetailPriceRequest();\n        m = Object.assign(m, proto);\n        if (proto.retailPrice) {m.retailPrice = RetailPrice.fromProto(proto.retailPrice);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateOrUpdateRetailPriceRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.retailPrice !== 'undefined' && this.retailPrice !== null) {toReturn['retailPrice'] = 'toApiJson' in this.retailPrice ? (this.retailPrice as any).toApiJson() : this.retailPrice;}\n        return toReturn;\n    }\n}\n\nexport class DeleteRetailPriceRequest implements i.DeleteRetailPriceRequestInterface {\n    appId: string;\n    editionId: string;\n    partnerId: string;\n    marketId: string;\n\n    static fromProto(proto: any): DeleteRetailPriceRequest {\n        let m = new DeleteRetailPriceRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DeleteRetailPriceRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiRetailPriceRequest implements i.GetMultiRetailPriceRequestInterface {\n    businessId: string;\n    partnerMarket: PartnerMarketContainer;\n    productIds: ProductIdentifier[];\n\n    static fromProto(proto: any): GetMultiRetailPriceRequest {\n        let m = new GetMultiRetailPriceRequest();\n        m = Object.assign(m, proto);\n        if (proto.partnerMarket) {m.partnerMarket = PartnerMarketContainer.fromProto(proto.partnerMarket);}\n        if (proto.productIds) {m.productIds = proto.productIds.map(ProductIdentifier.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiRetailPriceRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.partnerMarket !== 'undefined' && this.partnerMarket !== null) {toReturn['partnerMarket'] = 'toApiJson' in this.partnerMarket ? (this.partnerMarket as any).toApiJson() : this.partnerMarket;}\n        if (typeof this.productIds !== 'undefined' && this.productIds !== null) {toReturn['productIds'] = 'toApiJson' in this.productIds ? (this.productIds as any).toApiJson() : this.productIds;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiRetailPriceResponse implements i.GetMultiRetailPriceResponseInterface {\n    retailPrices: GetMultiRetailPriceResponseRetailPriceResponse[];\n\n    static fromProto(proto: any): GetMultiRetailPriceResponse {\n        let m = new GetMultiRetailPriceResponse();\n        m = Object.assign(m, proto);\n        if (proto.retailPrices) {m.retailPrices = proto.retailPrices.map(GetMultiRetailPriceResponseRetailPriceResponse.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiRetailPriceResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.retailPrices !== 'undefined' && this.retailPrices !== null) {toReturn['retailPrices'] = 'toApiJson' in this.retailPrices ? (this.retailPrices as any).toApiJson() : this.retailPrices;}\n        return toReturn;\n    }\n}\n\nexport class GetRetailPriceRequest implements i.GetRetailPriceRequestInterface {\n    appId: string;\n    editionId: string;\n    businessId: string;\n    partnerMarket: PartnerMarketContainer;\n    dontUseMsrp: boolean;\n\n    static fromProto(proto: any): GetRetailPriceRequest {\n        let m = new GetRetailPriceRequest();\n        m = Object.assign(m, proto);\n        if (proto.partnerMarket) {m.partnerMarket = PartnerMarketContainer.fromProto(proto.partnerMarket);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetRetailPriceRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.partnerMarket !== 'undefined' && this.partnerMarket !== null) {toReturn['partnerMarket'] = 'toApiJson' in this.partnerMarket ? (this.partnerMarket as any).toApiJson() : this.partnerMarket;}\n        if (typeof this.dontUseMsrp !== 'undefined') {toReturn['dontUseMsrp'] = this.dontUseMsrp;}\n        return toReturn;\n    }\n}\n\nexport class GetRetailPriceResponse implements i.GetRetailPriceResponseInterface {\n    retailPrice: RetailPrice;\n\n    static fromProto(proto: any): GetRetailPriceResponse {\n        let m = new GetRetailPriceResponse();\n        m = Object.assign(m, proto);\n        if (proto.retailPrice) {m.retailPrice = RetailPrice.fromProto(proto.retailPrice);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetRetailPriceResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.retailPrice !== 'undefined' && this.retailPrice !== null) {toReturn['retailPrice'] = 'toApiJson' in this.retailPrice ? (this.retailPrice as any).toApiJson() : this.retailPrice;}\n        return toReturn;\n    }\n}\n\nexport class PartnerMarketContainer implements i.PartnerMarketContainerInterface {\n    marketId: string;\n    partnerId: string;\n\n    static fromProto(proto: any): PartnerMarketContainer {\n        let m = new PartnerMarketContainer();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.PartnerMarketContainerInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        return toReturn;\n    }\n}\n\nexport class ProductIdentifier implements i.ProductIdentifierInterface {\n    appId: string;\n    editionId: string;\n\n    static fromProto(proto: any): ProductIdentifier {\n        let m = new ProductIdentifier();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ProductIdentifierInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiRetailPriceResponseRetailPriceResponse implements i.GetMultiRetailPriceResponseRetailPriceResponseInterface {\n    productId: ProductIdentifier;\n    retailPrice: RetailPrice;\n\n    static fromProto(proto: any): GetMultiRetailPriceResponseRetailPriceResponse {\n        let m = new GetMultiRetailPriceResponseRetailPriceResponse();\n        m = Object.assign(m, proto);\n        if (proto.productId) {m.productId = ProductIdentifier.fromProto(proto.productId);}\n        if (proto.retailPrice) {m.retailPrice = RetailPrice.fromProto(proto.retailPrice);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiRetailPriceResponseRetailPriceResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productId !== 'undefined' && this.productId !== null) {toReturn['productId'] = 'toApiJson' in this.productId ? (this.productId as any).toApiJson() : this.productId;}\n        if (typeof this.retailPrice !== 'undefined' && this.retailPrice !== null) {toReturn['retailPrice'] = 'toApiJson' in this.retailPrice ? (this.retailPrice as any).toApiJson() : this.retailPrice;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class BuyItNowLink implements i.BuyItNowLinkInterface {\n    accountGroupId: string;\n    userId: string;\n    packageId: string;\n    linkId: string;\n    created: Date;\n    link: string;\n\n    static fromProto(proto: any): BuyItNowLink {\n        let m = new BuyItNowLink();\n        m = Object.assign(m, proto);\n        if (proto.created) {m.created = new Date(proto.created);}\n        return m;\n    }\n\n    constructor(kwargs?: i.BuyItNowLinkInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.linkId !== 'undefined') {toReturn['linkId'] = this.linkId;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.link !== 'undefined') {toReturn['link'] = this.link;}\n        return toReturn;\n    }\n}\n\nexport class GenerateBuyItNowLinkRequest implements i.GenerateBuyItNowLinkRequestInterface {\n    accountGroupId: string;\n    userId: string;\n    packageId: string;\n\n    static fromProto(proto: any): GenerateBuyItNowLinkRequest {\n        let m = new GenerateBuyItNowLinkRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GenerateBuyItNowLinkRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        return toReturn;\n    }\n}\n\nexport class GenerateBuyItNowLinkResponse implements i.GenerateBuyItNowLinkResponseInterface {\n    link: BuyItNowLink;\n    shortenedUrl: string;\n\n    static fromProto(proto: any): GenerateBuyItNowLinkResponse {\n        let m = new GenerateBuyItNowLinkResponse();\n        m = Object.assign(m, proto);\n        if (proto.link) {m.link = BuyItNowLink.fromProto(proto.link);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GenerateBuyItNowLinkResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.link !== 'undefined' && this.link !== null) {toReturn['link'] = 'toApiJson' in this.link ? (this.link as any).toApiJson() : this.link;}\n        if (typeof this.shortenedUrl !== 'undefined') {toReturn['shortenedUrl'] = this.shortenedUrl;}\n        return toReturn;\n    }\n}\n\nexport class GetBuyItNowLinkByLinkIDRequest implements i.GetBuyItNowLinkByLinkIDRequestInterface {\n    linkId: string;\n\n    static fromProto(proto: any): GetBuyItNowLinkByLinkIDRequest {\n        let m = new GetBuyItNowLinkByLinkIDRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetBuyItNowLinkByLinkIDRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.linkId !== 'undefined') {toReturn['linkId'] = this.linkId;}\n        return toReturn;\n    }\n}\n\nexport class GetBuyItNowLinkByLinkIDResponse implements i.GetBuyItNowLinkByLinkIDResponseInterface {\n    link: BuyItNowLink;\n\n    static fromProto(proto: any): GetBuyItNowLinkByLinkIDResponse {\n        let m = new GetBuyItNowLinkByLinkIDResponse();\n        m = Object.assign(m, proto);\n        if (proto.link) {m.link = BuyItNowLink.fromProto(proto.link);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetBuyItNowLinkByLinkIDResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.link !== 'undefined' && this.link !== null) {toReturn['link'] = 'toApiJson' in this.link ? (this.link as any).toApiJson() : this.link;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n    Currencies,\n    Frequencies,\n} from './common';\n\nexport {\n    PermissionLists,\n    Restrictions,\n} from './restrictions';\n\nexport {\n    FrequentlyAskedQuestions,\n    Lmi,\n    Product,\n    ServiceModel,\n} from './product';\n\nexport {\n    Addon,\n    IncludedCommonFormFields,\n    MarketingInformation,\n    OrderForm,\n    OrderFormField,\n} from './addon';\n\nexport {\n    RetailPrice,\n} from './retail-price';\n\nexport {\n    AddonKey,\n    AppEnablementStatuses,\n    ContactFormAction,\n    DefaultAction,\n    ExternalUrlAction,\n    LineItem,\n    LineItems,\n    MarketAction,\n    OrderFormAction,\n    Package,\n    Price,\n    Pricing,\n    Statuses,\n} from './package';\n\nexport {\n    FieldMask,\n} from './field-mask';\n\nexport {\n    Access,\n    MCPOptions,\n} from './annotations';\n\nexport {\n    ActivatableApp,\n    AddProductToStoreRequest,\n    GetMultiAddonsByAppResponseAddonListContainer,\n    GetMultiAddonsByAppResponseAddonMapEntry,\n    AddonOptions,\n    AppData,\n    AreAppsDistributedToPartnerResponseAppDistributedContainer,\n    ListAppDistributionStatusResponseAppDistributionStatus,\n    GetMultiIsAppEnabledResponseAppEnablement,\n    AppSummary,\n    AreAppsDistributedToPartnerRequest,\n    AreAppsDistributedToPartnerResponse,\n    BillingWholesalePricing,\n    BulkCopyPackageRequest,\n    BulkCopyPackageResponse,\n    BulkEnableAppForAllPartnersRequest,\n    CleanupRetiredProductRequest,\n    Commitment,\n    CopyPackageRequest,\n    CopyPackageResponse,\n    Cost,\n    CreatePackageRequest,\n    CreatePackageResponse,\n    DeletePackageRequest,\n    DisableAppForPartnerRequest,\n    DiscoverableAppParent,\n    DiscoverableAppSummary,\n    EnableAppForPartnerRequest,\n    GetAppPermissionsRequest,\n    GetAppPermissionsResponse,\n    GetMultiAddonsByAppRequest,\n    GetMultiAddonsByAppResponse,\n    GetMultiAddonsRequest,\n    GetMultiAddonsResponse,\n    GetMultiIsAppEnabledRequest,\n    GetMultiIsAppEnabledResponse,\n    GetMultiPackageRequest,\n    GetMultiPackageResponse,\n    GetMultiPartnerAppEnablementStatusRequest,\n    GetMultiPartnerAppEnablementStatusResponse,\n    GetMultiProductsRequest,\n    GetMultiProductsResponse,\n    HideArchivedPackageRequest,\n    IsAppDistributedToPartnerRequest,\n    IsAppDistributedToPartnerResponse,\n    KindValues,\n    ListActivatableAppsRequest,\n    ListActivatableAppsResponse,\n    ListAddonsRequest,\n    ListAddonsResponse,\n    ListAppDistributionStatusRequest,\n    ListAppDistributionStatusResponse,\n    ListAvailableAppsRequest,\n    ListAvailableAppsResponse,\n    ListDiscoverableAppSuggestionsRequest,\n    ListDiscoverableAppSuggestionsResponse,\n    ListDiscoverableAppsRequest,\n    ListDiscoverableAppsResponse,\n    ListDistributedAppIdsRequest,\n    ListDistributedAppIdsRequestListDistributedAppIdsRequestFilters,\n    ListDistributedAppIdsResponse,\n    ListPackageIDsForProductRequest,\n    ListPackageIDsForProductResponse,\n    ListPackagesRequest,\n    ListPackagesResponse,\n    ListPartnerAppEnablementStatusRequest,\n    ListPartnerAppEnablementStatusResponse,\n    ListProductFilter,\n    ListProductsRequest,\n    ListProductsResponse,\n    GetMultiPackageResponsePackageContainer,\n    PackageIdContainer,\n    PackageScope,\n    BulkCopyPackageRequestPackageSource,\n    PagedRequestOptions,\n    PagedResponseMetadata,\n    PartnerAppRequest,\n    PartnerAppResponse,\n    GetMultiProductsResponseProductContainer,\n    ProductPricingRule,\n    ProductWholesalePrice,\n    RemovePartnerFromPermissionsListRequest,\n    ListDiscoverableAppSuggestionsResponseSuggestion,\n    Tag,\n    UpdateEvent,\n    UpdatePackageOperation,\n    UpdatePackageRequest,\n    UpdatePackageResponse,\n    UpsertAppPermissionsRequest,\n    UpsertAppPermissionsResponse,\n    VendorRetailPrice,\n    WholesalePrice,\n} from './api';\n\nexport {\n    AddMultiToShoppingCartRequest,\n    AddToShoppingCartRequest,\n    ClearShoppingCartRequest,\n    GetShoppingCartRequest,\n    IsShoppingCartEnabledRequest,\n    IsShoppingCartEnabledResponse,\n    AddMultiToShoppingCartRequestItem,\n    RemoveFromShoppingCartRequest,\n    RemoveMultiFromShoppingCartRequest,\n    ShoppingCart,\n    ShoppingCartShoppingCartItem,\n    ShoppingCartResponse,\n    UpdateItemQuantityRequest,\n} from './shopping-cart-api';\n\nexport {\n    AddToStoreRequest,\n    AddToStoresRequest,\n    Category,\n    CheckProductVisibilityRequest,\n    CheckProductVisibilityResponse,\n    CreateStoreCategoryRequest,\n    CreateStoreCategoryResponse,\n    DeleteStoreCategoryRequest,\n    EnableCustomCategoriesForStoreRequest,\n    EnableCustomCategoriesForStoreResponse,\n    GetCategoriesForStoreRequest,\n    GetCategoriesForStoreResponse,\n    GetMultiStorePricePreviewsRequest,\n    GetMultiStorePricePreviewsResponse,\n    GetPublicStoreThemeRequest,\n    GetPublicStoreThemeResponse,\n    GetStoreRequest,\n    GetStoreResponse,\n    GetStoreWithCategoriesRequest,\n    GetStoreWithCategoriesResponse,\n    HasPartnerSetStoreOrderRequest,\n    HasPartnerSetStoreOrderResponse,\n    ListCategoriesForPackageRequest,\n    ListCategoriesForPackageResponse,\n    ListProductsInStoreFilters,\n    ListProductsInStoreRequest,\n    ListProductsInStoreResponse,\n    ListStorePricePreviewsRequest,\n    ListStorePricePreviewsResponse,\n    ListStoreProductVisibilitySummariesRequest,\n    ListStoreProductVisibilitySummariesResponse,\n    ListVisibleAddonsForProductRequest,\n    ListVisibleAddonsForProductResponse,\n    ProductPricePreviews,\n    CheckProductVisibilityResponseProductVisibiltyEntry,\n    PublicStoreTheme,\n    RemoveFromStoreRequest,\n    SetCategoriesForPackageRequest,\n    SetPackagesInCategoryRequest,\n    SetStoreCategoryOrderRequest,\n    StoreIdentifier,\n    StorePricePreview,\n    StorePricePreviews,\n    StoreProduct,\n    ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary,\n    ListStoreProductVisibilitySummariesResponseSummariesEntry,\n    UpdatePublicStoreThemeRequest,\n    UpdateStoreCategoryRequest,\n    UpdateStoreRequest,\n} from './store-api';\n\nexport {\n    ConvertRetailPricesForMarketRequest,\n    CreateOrUpdateRetailPriceRequest,\n    DeleteRetailPriceRequest,\n    GetMultiRetailPriceRequest,\n    GetMultiRetailPriceResponse,\n    GetRetailPriceRequest,\n    GetRetailPriceResponse,\n    PartnerMarketContainer,\n    ProductIdentifier,\n    GetMultiRetailPriceResponseRetailPriceResponse,\n} from './app-partner-settings-api';\n\nexport {\n    BuyItNowLink,\n    GenerateBuyItNowLinkRequest,\n    GenerateBuyItNowLinkResponse,\n    GetBuyItNowLinkByLinkIDRequest,\n    GetBuyItNowLinkByLinkIDResponse,\n} from './buy-it-now-api';\n\n","import { Injectable } from '@angular/core';\n\ndeclare const window: any;\nconst environment: string = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap: { [key: string]: string } = {\n    'local': 'marketplace-packages-api.vendasta-local.com',\n    'test': '',\n    'demo': 'marketplace-packages-api-demo.apigateway.co',\n    'prod': 'marketplace-packages-api-prod.apigateway.co',\n    'production': 'marketplace-packages-api-prod.apigateway.co',\n};\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n    get host(): string {\n        return hostMap[environment.toLowerCase()];\n    }\n\n    get hostWithScheme(): string {\n        return 'https://' + this.host;\n    }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        ConvertRetailPricesForMarketRequest,\n        CreateOrUpdateRetailPriceRequest,\n        DeleteRetailPriceRequest,\n        GetMultiRetailPriceRequest,\n        GetMultiRetailPriceResponse,\n        GetRetailPriceRequest,\n        GetRetailPriceResponse,\n} from './objects/';\nimport {\n        ConvertRetailPricesForMarketRequestInterface,\n        CreateOrUpdateRetailPriceRequestInterface,\n        DeleteRetailPriceRequestInterface,\n        GetMultiRetailPriceRequestInterface,\n        GetMultiRetailPriceResponseInterface,\n        GetRetailPriceRequestInterface,\n        GetRetailPriceResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class AppPartnerSettingsApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    getRetailPrice(r: GetRetailPriceRequest | GetRetailPriceRequestInterface): Observable<GetRetailPriceResponse> {\n        const request = ((<GetRetailPriceRequest>r).toApiJson) ? (<GetRetailPriceRequest>r) : new GetRetailPriceRequest(r);\n        return this.http.post<GetRetailPriceResponseInterface>(this._host + \"/marketplace_packages.v1.AppPartnerSettings/GetRetailPrice\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetRetailPriceResponse.fromProto(resp))\n            );\n    }\n    getMultiRetailPrice(r: GetMultiRetailPriceRequest | GetMultiRetailPriceRequestInterface): Observable<GetMultiRetailPriceResponse> {\n        const request = ((<GetMultiRetailPriceRequest>r).toApiJson) ? (<GetMultiRetailPriceRequest>r) : new GetMultiRetailPriceRequest(r);\n        return this.http.post<GetMultiRetailPriceResponseInterface>(this._host + \"/marketplace_packages.v1.AppPartnerSettings/GetMultiRetailPrice\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiRetailPriceResponse.fromProto(resp))\n            );\n    }\n    createOrUpdateRetailPrice(r: CreateOrUpdateRetailPriceRequest | CreateOrUpdateRetailPriceRequestInterface): Observable<GetRetailPriceResponse> {\n        const request = ((<CreateOrUpdateRetailPriceRequest>r).toApiJson) ? (<CreateOrUpdateRetailPriceRequest>r) : new CreateOrUpdateRetailPriceRequest(r);\n        return this.http.post<GetRetailPriceResponseInterface>(this._host + \"/marketplace_packages.v1.AppPartnerSettings/CreateOrUpdateRetailPrice\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetRetailPriceResponse.fromProto(resp))\n            );\n    }\n    deleteRetailPrice(r: DeleteRetailPriceRequest | DeleteRetailPriceRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<DeleteRetailPriceRequest>r).toApiJson) ? (<DeleteRetailPriceRequest>r) : new DeleteRetailPriceRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.AppPartnerSettings/DeleteRetailPrice\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    convertRetailPricesForMarket(r: ConvertRetailPricesForMarketRequest | ConvertRetailPricesForMarketRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<ConvertRetailPricesForMarketRequest>r).toApiJson) ? (<ConvertRetailPricesForMarketRequest>r) : new ConvertRetailPricesForMarketRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.AppPartnerSettings/ConvertRetailPricesForMarket\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        GenerateBuyItNowLinkRequest,\n        GenerateBuyItNowLinkResponse,\n        GetBuyItNowLinkByLinkIDRequest,\n        GetBuyItNowLinkByLinkIDResponse,\n} from './objects/';\nimport {\n        GenerateBuyItNowLinkRequestInterface,\n        GenerateBuyItNowLinkResponseInterface,\n        GetBuyItNowLinkByLinkIDRequestInterface,\n        GetBuyItNowLinkByLinkIDResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class BuyItNowApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    generateBuyItNowLink(r: GenerateBuyItNowLinkRequest | GenerateBuyItNowLinkRequestInterface): Observable<GenerateBuyItNowLinkResponse> {\n        const request = ((<GenerateBuyItNowLinkRequest>r).toApiJson) ? (<GenerateBuyItNowLinkRequest>r) : new GenerateBuyItNowLinkRequest(r);\n        return this.http.post<GenerateBuyItNowLinkResponseInterface>(this._host + \"/marketplace_packages.v1.BuyItNow/GenerateBuyItNowLink\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GenerateBuyItNowLinkResponse.fromProto(resp))\n            );\n    }\n    getBuyItNowLinkByLinkId(r: GetBuyItNowLinkByLinkIDRequest | GetBuyItNowLinkByLinkIDRequestInterface): Observable<GetBuyItNowLinkByLinkIDResponse> {\n        const request = ((<GetBuyItNowLinkByLinkIDRequest>r).toApiJson) ? (<GetBuyItNowLinkByLinkIDRequest>r) : new GetBuyItNowLinkByLinkIDRequest(r);\n        return this.http.post<GetBuyItNowLinkByLinkIDResponseInterface>(this._host + \"/marketplace_packages.v1.BuyItNow/GetBuyItNowLinkByLinkID\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetBuyItNowLinkByLinkIDResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        AddProductToStoreRequest,\n        AreAppsDistributedToPartnerRequest,\n        AreAppsDistributedToPartnerResponse,\n        BulkCopyPackageRequest,\n        BulkCopyPackageResponse,\n        BulkEnableAppForAllPartnersRequest,\n        CleanupRetiredProductRequest,\n        CopyPackageRequest,\n        CopyPackageResponse,\n        CreatePackageRequest,\n        CreatePackageResponse,\n        DeletePackageRequest,\n        DisableAppForPartnerRequest,\n        EnableAppForPartnerRequest,\n        GetAppPermissionsRequest,\n        GetAppPermissionsResponse,\n        GetMultiAddonsByAppRequest,\n        GetMultiAddonsByAppResponse,\n        GetMultiAddonsRequest,\n        GetMultiAddonsResponse,\n        GetMultiIsAppEnabledRequest,\n        GetMultiIsAppEnabledResponse,\n        GetMultiPackageRequest,\n        GetMultiPackageResponse,\n        GetMultiPartnerAppEnablementStatusRequest,\n        GetMultiPartnerAppEnablementStatusResponse,\n        GetMultiProductsRequest,\n        GetMultiProductsResponse,\n        HideArchivedPackageRequest,\n        IsAppDistributedToPartnerRequest,\n        IsAppDistributedToPartnerResponse,\n        ListActivatableAppsRequest,\n        ListActivatableAppsResponse,\n        ListAddonsRequest,\n        ListAddonsResponse,\n        ListAppDistributionStatusRequest,\n        ListAppDistributionStatusResponse,\n        ListAvailableAppsRequest,\n        ListAvailableAppsResponse,\n        ListDiscoverableAppSuggestionsRequest,\n        ListDiscoverableAppSuggestionsResponse,\n        ListDiscoverableAppsRequest,\n        ListDiscoverableAppsResponse,\n        ListDistributedAppIdsRequest,\n        ListDistributedAppIdsResponse,\n        ListPackageIDsForProductRequest,\n        ListPackageIDsForProductResponse,\n        ListPackagesRequest,\n        ListPackagesResponse,\n        ListPartnerAppEnablementStatusRequest,\n        ListPartnerAppEnablementStatusResponse,\n        ListProductsRequest,\n        ListProductsResponse,\n        RemovePartnerFromPermissionsListRequest,\n        UpdatePackageRequest,\n        UpdatePackageResponse,\n        UpsertAppPermissionsRequest,\n        UpsertAppPermissionsResponse,\n} from './objects/';\nimport {\n        AddProductToStoreRequestInterface,\n        AreAppsDistributedToPartnerRequestInterface,\n        AreAppsDistributedToPartnerResponseInterface,\n        BulkCopyPackageRequestInterface,\n        BulkCopyPackageResponseInterface,\n        BulkEnableAppForAllPartnersRequestInterface,\n        CleanupRetiredProductRequestInterface,\n        CopyPackageRequestInterface,\n        CopyPackageResponseInterface,\n        CreatePackageRequestInterface,\n        CreatePackageResponseInterface,\n        DeletePackageRequestInterface,\n        DisableAppForPartnerRequestInterface,\n        EnableAppForPartnerRequestInterface,\n        GetAppPermissionsRequestInterface,\n        GetAppPermissionsResponseInterface,\n        GetMultiAddonsByAppRequestInterface,\n        GetMultiAddonsByAppResponseInterface,\n        GetMultiAddonsRequestInterface,\n        GetMultiAddonsResponseInterface,\n        GetMultiIsAppEnabledRequestInterface,\n        GetMultiIsAppEnabledResponseInterface,\n        GetMultiPackageRequestInterface,\n        GetMultiPackageResponseInterface,\n        GetMultiPartnerAppEnablementStatusRequestInterface,\n        GetMultiPartnerAppEnablementStatusResponseInterface,\n        GetMultiProductsRequestInterface,\n        GetMultiProductsResponseInterface,\n        HideArchivedPackageRequestInterface,\n        IsAppDistributedToPartnerRequestInterface,\n        IsAppDistributedToPartnerResponseInterface,\n        ListActivatableAppsRequestInterface,\n        ListActivatableAppsResponseInterface,\n        ListAddonsRequestInterface,\n        ListAddonsResponseInterface,\n        ListAppDistributionStatusRequestInterface,\n        ListAppDistributionStatusResponseInterface,\n        ListAvailableAppsRequestInterface,\n        ListAvailableAppsResponseInterface,\n        ListDiscoverableAppSuggestionsRequestInterface,\n        ListDiscoverableAppSuggestionsResponseInterface,\n        ListDiscoverableAppsRequestInterface,\n        ListDiscoverableAppsResponseInterface,\n        ListDistributedAppIdsRequestInterface,\n        ListDistributedAppIdsResponseInterface,\n        ListPackageIDsForProductRequestInterface,\n        ListPackageIDsForProductResponseInterface,\n        ListPackagesRequestInterface,\n        ListPackagesResponseInterface,\n        ListPartnerAppEnablementStatusRequestInterface,\n        ListPartnerAppEnablementStatusResponseInterface,\n        ListProductsRequestInterface,\n        ListProductsResponseInterface,\n        RemovePartnerFromPermissionsListRequestInterface,\n        UpdatePackageRequestInterface,\n        UpdatePackageResponseInterface,\n        UpsertAppPermissionsRequestInterface,\n        UpsertAppPermissionsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MarketplacePackagesApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    listProducts(r: ListProductsRequest | ListProductsRequestInterface): Observable<ListProductsResponse> {\n        const request = ((<ListProductsRequest>r).toApiJson) ? (<ListProductsRequest>r) : new ListProductsRequest(r);\n        return this.http.post<ListProductsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListProducts\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListProductsResponse.fromProto(resp))\n            );\n    }\n    getMultiProducts(r: GetMultiProductsRequest | GetMultiProductsRequestInterface): Observable<GetMultiProductsResponse> {\n        const request = ((<GetMultiProductsRequest>r).toApiJson) ? (<GetMultiProductsRequest>r) : new GetMultiProductsRequest(r);\n        return this.http.post<GetMultiProductsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/GetMultiProducts\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiProductsResponse.fromProto(resp))\n            );\n    }\n    listPackages(r: ListPackagesRequest | ListPackagesRequestInterface): Observable<ListPackagesResponse> {\n        const request = ((<ListPackagesRequest>r).toApiJson) ? (<ListPackagesRequest>r) : new ListPackagesRequest(r);\n        return this.http.post<ListPackagesResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListPackages\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListPackagesResponse.fromProto(resp))\n            );\n    }\n    getMultiAddons(r: GetMultiAddonsRequest | GetMultiAddonsRequestInterface): Observable<GetMultiAddonsResponse> {\n        const request = ((<GetMultiAddonsRequest>r).toApiJson) ? (<GetMultiAddonsRequest>r) : new GetMultiAddonsRequest(r);\n        return this.http.post<GetMultiAddonsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/GetMultiAddons\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiAddonsResponse.fromProto(resp))\n            );\n    }\n    listAddons(r: ListAddonsRequest | ListAddonsRequestInterface): Observable<ListAddonsResponse> {\n        const request = ((<ListAddonsRequest>r).toApiJson) ? (<ListAddonsRequest>r) : new ListAddonsRequest(r);\n        return this.http.post<ListAddonsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListAddons\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListAddonsResponse.fromProto(resp))\n            );\n    }\n    createPackage(r: CreatePackageRequest | CreatePackageRequestInterface): Observable<CreatePackageResponse> {\n        const request = ((<CreatePackageRequest>r).toApiJson) ? (<CreatePackageRequest>r) : new CreatePackageRequest(r);\n        return this.http.post<CreatePackageResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/CreatePackage\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreatePackageResponse.fromProto(resp))\n            );\n    }\n    updatePackage(r: UpdatePackageRequest | UpdatePackageRequestInterface): Observable<UpdatePackageResponse> {\n        const request = ((<UpdatePackageRequest>r).toApiJson) ? (<UpdatePackageRequest>r) : new UpdatePackageRequest(r);\n        return this.http.post<UpdatePackageResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/UpdatePackage\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => UpdatePackageResponse.fromProto(resp))\n            );\n    }\n    deletePackage(r: DeletePackageRequest | DeletePackageRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<DeletePackageRequest>r).toApiJson) ? (<DeletePackageRequest>r) : new DeletePackageRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplacePackages/DeletePackage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    hideArchivedPackage(r: HideArchivedPackageRequest | HideArchivedPackageRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<HideArchivedPackageRequest>r).toApiJson) ? (<HideArchivedPackageRequest>r) : new HideArchivedPackageRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplacePackages/HideArchivedPackage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getMultiPackages(r: GetMultiPackageRequest | GetMultiPackageRequestInterface): Observable<GetMultiPackageResponse> {\n        const request = ((<GetMultiPackageRequest>r).toApiJson) ? (<GetMultiPackageRequest>r) : new GetMultiPackageRequest(r);\n        return this.http.post<GetMultiPackageResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/GetMultiPackages\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiPackageResponse.fromProto(resp))\n            );\n    }\n    listAppDistributionStatus(r: ListAppDistributionStatusRequest | ListAppDistributionStatusRequestInterface): Observable<ListAppDistributionStatusResponse> {\n        const request = ((<ListAppDistributionStatusRequest>r).toApiJson) ? (<ListAppDistributionStatusRequest>r) : new ListAppDistributionStatusRequest(r);\n        return this.http.post<ListAppDistributionStatusResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListAppDistributionStatus\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListAppDistributionStatusResponse.fromProto(resp))\n            );\n    }\n    listDiscoverableApps(r: ListDiscoverableAppsRequest | ListDiscoverableAppsRequestInterface): Observable<ListDiscoverableAppsResponse> {\n        const request = ((<ListDiscoverableAppsRequest>r).toApiJson) ? (<ListDiscoverableAppsRequest>r) : new ListDiscoverableAppsRequest(r);\n        return this.http.post<ListDiscoverableAppsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListDiscoverableApps\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListDiscoverableAppsResponse.fromProto(resp))\n            );\n    }\n    listDiscoverableAppSuggestions(r: ListDiscoverableAppSuggestionsRequest | ListDiscoverableAppSuggestionsRequestInterface): Observable<ListDiscoverableAppSuggestionsResponse> {\n        const request = ((<ListDiscoverableAppSuggestionsRequest>r).toApiJson) ? (<ListDiscoverableAppSuggestionsRequest>r) : new ListDiscoverableAppSuggestionsRequest(r);\n        return this.http.post<ListDiscoverableAppSuggestionsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListDiscoverableAppSuggestions\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListDiscoverableAppSuggestionsResponse.fromProto(resp))\n            );\n    }\n    listAvailableApps(r: ListAvailableAppsRequest | ListAvailableAppsRequestInterface): Observable<ListAvailableAppsResponse> {\n        const request = ((<ListAvailableAppsRequest>r).toApiJson) ? (<ListAvailableAppsRequest>r) : new ListAvailableAppsRequest(r);\n        return this.http.post<ListAvailableAppsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListAvailableApps\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListAvailableAppsResponse.fromProto(resp))\n            );\n    }\n    listActivatableApps(r: ListActivatableAppsRequest | ListActivatableAppsRequestInterface): Observable<ListActivatableAppsResponse> {\n        const request = ((<ListActivatableAppsRequest>r).toApiJson) ? (<ListActivatableAppsRequest>r) : new ListActivatableAppsRequest(r);\n        return this.http.post<ListActivatableAppsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListActivatableApps\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListActivatableAppsResponse.fromProto(resp))\n            );\n    }\n    getMultiAddonsByApp(r: GetMultiAddonsByAppRequest | GetMultiAddonsByAppRequestInterface): Observable<GetMultiAddonsByAppResponse> {\n        const request = ((<GetMultiAddonsByAppRequest>r).toApiJson) ? (<GetMultiAddonsByAppRequest>r) : new GetMultiAddonsByAppRequest(r);\n        return this.http.post<GetMultiAddonsByAppResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/GetMultiAddonsByApp\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiAddonsByAppResponse.fromProto(resp))\n            );\n    }\n    listDistributedAppIds(r: ListDistributedAppIdsRequest | ListDistributedAppIdsRequestInterface): Observable<ListDistributedAppIdsResponse> {\n        const request = ((<ListDistributedAppIdsRequest>r).toApiJson) ? (<ListDistributedAppIdsRequest>r) : new ListDistributedAppIdsRequest(r);\n        return this.http.post<ListDistributedAppIdsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListDistributedAppIds\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListDistributedAppIdsResponse.fromProto(resp))\n            );\n    }\n    isAppDistributedToPartner(r: IsAppDistributedToPartnerRequest | IsAppDistributedToPartnerRequestInterface): Observable<IsAppDistributedToPartnerResponse> {\n        const request = ((<IsAppDistributedToPartnerRequest>r).toApiJson) ? (<IsAppDistributedToPartnerRequest>r) : new IsAppDistributedToPartnerRequest(r);\n        return this.http.post<IsAppDistributedToPartnerResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/IsAppDistributedToPartner\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => IsAppDistributedToPartnerResponse.fromProto(resp))\n            );\n    }\n    areAppsDistributedToPartner(r: AreAppsDistributedToPartnerRequest | AreAppsDistributedToPartnerRequestInterface): Observable<AreAppsDistributedToPartnerResponse> {\n        const request = ((<AreAppsDistributedToPartnerRequest>r).toApiJson) ? (<AreAppsDistributedToPartnerRequest>r) : new AreAppsDistributedToPartnerRequest(r);\n        return this.http.post<AreAppsDistributedToPartnerResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/AreAppsDistributedToPartner\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => AreAppsDistributedToPartnerResponse.fromProto(resp))\n            );\n    }\n    getAppPermissions(r: GetAppPermissionsRequest | GetAppPermissionsRequestInterface): Observable<GetAppPermissionsResponse> {\n        const request = ((<GetAppPermissionsRequest>r).toApiJson) ? (<GetAppPermissionsRequest>r) : new GetAppPermissionsRequest(r);\n        return this.http.post<GetAppPermissionsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/GetAppPermissions\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetAppPermissionsResponse.fromProto(resp))\n            );\n    }\n    removePartnerFromPermissionsList(r: RemovePartnerFromPermissionsListRequest | RemovePartnerFromPermissionsListRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<RemovePartnerFromPermissionsListRequest>r).toApiJson) ? (<RemovePartnerFromPermissionsListRequest>r) : new RemovePartnerFromPermissionsListRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplacePackages/RemovePartnerFromPermissionsList\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    upsertAppPermissions(r: UpsertAppPermissionsRequest | UpsertAppPermissionsRequestInterface): Observable<UpsertAppPermissionsResponse> {\n        const request = ((<UpsertAppPermissionsRequest>r).toApiJson) ? (<UpsertAppPermissionsRequest>r) : new UpsertAppPermissionsRequest(r);\n        return this.http.post<UpsertAppPermissionsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/UpsertAppPermissions\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => UpsertAppPermissionsResponse.fromProto(resp))\n            );\n    }\n    copyPackage(r: CopyPackageRequest | CopyPackageRequestInterface): Observable<CopyPackageResponse> {\n        const request = ((<CopyPackageRequest>r).toApiJson) ? (<CopyPackageRequest>r) : new CopyPackageRequest(r);\n        return this.http.post<CopyPackageResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/CopyPackage\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CopyPackageResponse.fromProto(resp))\n            );\n    }\n    bulkCopyPackage(r: BulkCopyPackageRequest | BulkCopyPackageRequestInterface): Observable<BulkCopyPackageResponse> {\n        const request = ((<BulkCopyPackageRequest>r).toApiJson) ? (<BulkCopyPackageRequest>r) : new BulkCopyPackageRequest(r);\n        return this.http.post<BulkCopyPackageResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/BulkCopyPackage\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => BulkCopyPackageResponse.fromProto(resp))\n            );\n    }\n    getMultiPartnerAppEnablementStatus(r: GetMultiPartnerAppEnablementStatusRequest | GetMultiPartnerAppEnablementStatusRequestInterface): Observable<GetMultiPartnerAppEnablementStatusResponse> {\n        const request = ((<GetMultiPartnerAppEnablementStatusRequest>r).toApiJson) ? (<GetMultiPartnerAppEnablementStatusRequest>r) : new GetMultiPartnerAppEnablementStatusRequest(r);\n        return this.http.post<GetMultiPartnerAppEnablementStatusResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/GetMultiPartnerAppEnablementStatus\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiPartnerAppEnablementStatusResponse.fromProto(resp))\n            );\n    }\n    listPartnerAppEnablementStatus(r: ListPartnerAppEnablementStatusRequest | ListPartnerAppEnablementStatusRequestInterface): Observable<ListPartnerAppEnablementStatusResponse> {\n        const request = ((<ListPartnerAppEnablementStatusRequest>r).toApiJson) ? (<ListPartnerAppEnablementStatusRequest>r) : new ListPartnerAppEnablementStatusRequest(r);\n        return this.http.post<ListPartnerAppEnablementStatusResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListPartnerAppEnablementStatus\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListPartnerAppEnablementStatusResponse.fromProto(resp))\n            );\n    }\n    getMultiIsAppEnabled(r: GetMultiIsAppEnabledRequest | GetMultiIsAppEnabledRequestInterface): Observable<GetMultiIsAppEnabledResponse> {\n        const request = ((<GetMultiIsAppEnabledRequest>r).toApiJson) ? (<GetMultiIsAppEnabledRequest>r) : new GetMultiIsAppEnabledRequest(r);\n        return this.http.post<GetMultiIsAppEnabledResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/GetMultiIsAppEnabled\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiIsAppEnabledResponse.fromProto(resp))\n            );\n    }\n    disableAppForPartner(r: DisableAppForPartnerRequest | DisableAppForPartnerRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<DisableAppForPartnerRequest>r).toApiJson) ? (<DisableAppForPartnerRequest>r) : new DisableAppForPartnerRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplacePackages/DisableAppForPartner\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    enableAppForPartner(r: EnableAppForPartnerRequest | EnableAppForPartnerRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<EnableAppForPartnerRequest>r).toApiJson) ? (<EnableAppForPartnerRequest>r) : new EnableAppForPartnerRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplacePackages/EnableAppForPartner\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    bulkEnableAppForAllPartners(r: BulkEnableAppForAllPartnersRequest | BulkEnableAppForAllPartnersRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<BulkEnableAppForAllPartnersRequest>r).toApiJson) ? (<BulkEnableAppForAllPartnersRequest>r) : new BulkEnableAppForAllPartnersRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplacePackages/BulkEnableAppForAllPartners\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    cleanupRetiredProduct(r: CleanupRetiredProductRequest | CleanupRetiredProductRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<CleanupRetiredProductRequest>r).toApiJson) ? (<CleanupRetiredProductRequest>r) : new CleanupRetiredProductRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplacePackages/CleanupRetiredProduct\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    addProductToStore(r: AddProductToStoreRequest | AddProductToStoreRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<AddProductToStoreRequest>r).toApiJson) ? (<AddProductToStoreRequest>r) : new AddProductToStoreRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplacePackages/AddProductToStore\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    listPackageIDsForProduct(r: ListPackageIDsForProductRequest | ListPackageIDsForProductRequestInterface): Observable<ListPackageIDsForProductResponse> {\n        const request = ((<ListPackageIDsForProductRequest>r).toApiJson) ? (<ListPackageIDsForProductRequest>r) : new ListPackageIDsForProductRequest(r);\n        return this.http.post<ListPackageIDsForProductResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplacePackages/ListPackageIDsForProduct\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListPackageIDsForProductResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        AddToStoreRequest,\n        AddToStoresRequest,\n        CheckProductVisibilityRequest,\n        CheckProductVisibilityResponse,\n        CreateStoreCategoryRequest,\n        CreateStoreCategoryResponse,\n        DeleteStoreCategoryRequest,\n        EnableCustomCategoriesForStoreRequest,\n        EnableCustomCategoriesForStoreResponse,\n        GetCategoriesForStoreRequest,\n        GetCategoriesForStoreResponse,\n        GetMultiStorePricePreviewsRequest,\n        GetMultiStorePricePreviewsResponse,\n        GetPublicStoreThemeRequest,\n        GetPublicStoreThemeResponse,\n        GetStoreRequest,\n        GetStoreResponse,\n        GetStoreWithCategoriesRequest,\n        GetStoreWithCategoriesResponse,\n        HasPartnerSetStoreOrderRequest,\n        HasPartnerSetStoreOrderResponse,\n        ListCategoriesForPackageRequest,\n        ListCategoriesForPackageResponse,\n        ListProductsInStoreRequest,\n        ListProductsInStoreResponse,\n        ListStorePricePreviewsRequest,\n        ListStorePricePreviewsResponse,\n        ListStoreProductVisibilitySummariesRequest,\n        ListStoreProductVisibilitySummariesResponse,\n        ListVisibleAddonsForProductRequest,\n        ListVisibleAddonsForProductResponse,\n        RemoveFromStoreRequest,\n        SetCategoriesForPackageRequest,\n        SetPackagesInCategoryRequest,\n        SetStoreCategoryOrderRequest,\n        UpdatePublicStoreThemeRequest,\n        UpdateStoreCategoryRequest,\n        UpdateStoreRequest,\n} from './objects/';\nimport {\n        AddToStoreRequestInterface,\n        AddToStoresRequestInterface,\n        CheckProductVisibilityRequestInterface,\n        CheckProductVisibilityResponseInterface,\n        CreateStoreCategoryRequestInterface,\n        CreateStoreCategoryResponseInterface,\n        DeleteStoreCategoryRequestInterface,\n        EnableCustomCategoriesForStoreRequestInterface,\n        EnableCustomCategoriesForStoreResponseInterface,\n        GetCategoriesForStoreRequestInterface,\n        GetCategoriesForStoreResponseInterface,\n        GetMultiStorePricePreviewsRequestInterface,\n        GetMultiStorePricePreviewsResponseInterface,\n        GetPublicStoreThemeRequestInterface,\n        GetPublicStoreThemeResponseInterface,\n        GetStoreRequestInterface,\n        GetStoreResponseInterface,\n        GetStoreWithCategoriesRequestInterface,\n        GetStoreWithCategoriesResponseInterface,\n        HasPartnerSetStoreOrderRequestInterface,\n        HasPartnerSetStoreOrderResponseInterface,\n        ListCategoriesForPackageRequestInterface,\n        ListCategoriesForPackageResponseInterface,\n        ListProductsInStoreRequestInterface,\n        ListProductsInStoreResponseInterface,\n        ListStorePricePreviewsRequestInterface,\n        ListStorePricePreviewsResponseInterface,\n        ListStoreProductVisibilitySummariesRequestInterface,\n        ListStoreProductVisibilitySummariesResponseInterface,\n        ListVisibleAddonsForProductRequestInterface,\n        ListVisibleAddonsForProductResponseInterface,\n        RemoveFromStoreRequestInterface,\n        SetCategoriesForPackageRequestInterface,\n        SetPackagesInCategoryRequestInterface,\n        SetStoreCategoryOrderRequestInterface,\n        UpdatePublicStoreThemeRequestInterface,\n        UpdateStoreCategoryRequestInterface,\n        UpdateStoreRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MarketplaceStoreApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    getStore(r: GetStoreRequest | GetStoreRequestInterface): Observable<GetStoreResponse> {\n        const request = ((<GetStoreRequest>r).toApiJson) ? (<GetStoreRequest>r) : new GetStoreRequest(r);\n        return this.http.post<GetStoreResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/GetStore\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetStoreResponse.fromProto(resp))\n            );\n    }\n    updateStore(r: UpdateStoreRequest | UpdateStoreRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateStoreRequest>r).toApiJson) ? (<UpdateStoreRequest>r) : new UpdateStoreRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/UpdateStore\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    setStoreCategoryOrder(r: SetStoreCategoryOrderRequest | SetStoreCategoryOrderRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<SetStoreCategoryOrderRequest>r).toApiJson) ? (<SetStoreCategoryOrderRequest>r) : new SetStoreCategoryOrderRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/SetStoreCategoryOrder\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    createStoreCategory(r: CreateStoreCategoryRequest | CreateStoreCategoryRequestInterface): Observable<CreateStoreCategoryResponse> {\n        const request = ((<CreateStoreCategoryRequest>r).toApiJson) ? (<CreateStoreCategoryRequest>r) : new CreateStoreCategoryRequest(r);\n        return this.http.post<CreateStoreCategoryResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/CreateStoreCategory\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateStoreCategoryResponse.fromProto(resp))\n            );\n    }\n    deleteStoreCategory(r: DeleteStoreCategoryRequest | DeleteStoreCategoryRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<DeleteStoreCategoryRequest>r).toApiJson) ? (<DeleteStoreCategoryRequest>r) : new DeleteStoreCategoryRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/DeleteStoreCategory\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getCategoriesForStore(r: GetCategoriesForStoreRequest | GetCategoriesForStoreRequestInterface): Observable<GetCategoriesForStoreResponse> {\n        const request = ((<GetCategoriesForStoreRequest>r).toApiJson) ? (<GetCategoriesForStoreRequest>r) : new GetCategoriesForStoreRequest(r);\n        return this.http.post<GetCategoriesForStoreResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/GetCategoriesForStore\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetCategoriesForStoreResponse.fromProto(resp))\n            );\n    }\n    updateStoreCategory(r: UpdateStoreCategoryRequest | UpdateStoreCategoryRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateStoreCategoryRequest>r).toApiJson) ? (<UpdateStoreCategoryRequest>r) : new UpdateStoreCategoryRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/UpdateStoreCategory\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    listCategoriesForPackage(r: ListCategoriesForPackageRequest | ListCategoriesForPackageRequestInterface): Observable<ListCategoriesForPackageResponse> {\n        const request = ((<ListCategoriesForPackageRequest>r).toApiJson) ? (<ListCategoriesForPackageRequest>r) : new ListCategoriesForPackageRequest(r);\n        return this.http.post<ListCategoriesForPackageResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/ListCategoriesForPackage\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListCategoriesForPackageResponse.fromProto(resp))\n            );\n    }\n    setPackagesInCategory(r: SetPackagesInCategoryRequest | SetPackagesInCategoryRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<SetPackagesInCategoryRequest>r).toApiJson) ? (<SetPackagesInCategoryRequest>r) : new SetPackagesInCategoryRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/SetPackagesInCategory\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    setCategoriesForPackage(r: SetCategoriesForPackageRequest | SetCategoriesForPackageRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<SetCategoriesForPackageRequest>r).toApiJson) ? (<SetCategoriesForPackageRequest>r) : new SetCategoriesForPackageRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/SetCategoriesForPackage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getStoreWithCategories(r: GetStoreWithCategoriesRequest | GetStoreWithCategoriesRequestInterface): Observable<GetStoreWithCategoriesResponse> {\n        const request = ((<GetStoreWithCategoriesRequest>r).toApiJson) ? (<GetStoreWithCategoriesRequest>r) : new GetStoreWithCategoriesRequest(r);\n        return this.http.post<GetStoreWithCategoriesResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/GetStoreWithCategories\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetStoreWithCategoriesResponse.fromProto(resp))\n            );\n    }\n    enableCustomCategoriesForStore(r: EnableCustomCategoriesForStoreRequest | EnableCustomCategoriesForStoreRequestInterface): Observable<EnableCustomCategoriesForStoreResponse> {\n        const request = ((<EnableCustomCategoriesForStoreRequest>r).toApiJson) ? (<EnableCustomCategoriesForStoreRequest>r) : new EnableCustomCategoriesForStoreRequest(r);\n        return this.http.post<EnableCustomCategoriesForStoreResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/EnableCustomCategoriesForStore\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => EnableCustomCategoriesForStoreResponse.fromProto(resp))\n            );\n    }\n    getPublicStoreTheme(r: GetPublicStoreThemeRequest | GetPublicStoreThemeRequestInterface): Observable<GetPublicStoreThemeResponse> {\n        const request = ((<GetPublicStoreThemeRequest>r).toApiJson) ? (<GetPublicStoreThemeRequest>r) : new GetPublicStoreThemeRequest(r);\n        return this.http.post<GetPublicStoreThemeResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/GetPublicStoreTheme\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetPublicStoreThemeResponse.fromProto(resp))\n            );\n    }\n    updatePublicStoreTheme(r: UpdatePublicStoreThemeRequest | UpdatePublicStoreThemeRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdatePublicStoreThemeRequest>r).toApiJson) ? (<UpdatePublicStoreThemeRequest>r) : new UpdatePublicStoreThemeRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/UpdatePublicStoreTheme\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    addToStore(r: AddToStoreRequest | AddToStoreRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<AddToStoreRequest>r).toApiJson) ? (<AddToStoreRequest>r) : new AddToStoreRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/AddToStore\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    addToStores(r: AddToStoresRequest | AddToStoresRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<AddToStoresRequest>r).toApiJson) ? (<AddToStoresRequest>r) : new AddToStoresRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/AddToStores\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    removeFromStore(r: RemoveFromStoreRequest | RemoveFromStoreRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<RemoveFromStoreRequest>r).toApiJson) ? (<RemoveFromStoreRequest>r) : new RemoveFromStoreRequest(r);\n        return this.http.post<null>(this._host + \"/marketplace_packages.v1.MarketplaceStore/RemoveFromStore\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    checkProductVisibility(r: CheckProductVisibilityRequest | CheckProductVisibilityRequestInterface): Observable<CheckProductVisibilityResponse> {\n        const request = ((<CheckProductVisibilityRequest>r).toApiJson) ? (<CheckProductVisibilityRequest>r) : new CheckProductVisibilityRequest(r);\n        return this.http.post<CheckProductVisibilityResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/CheckProductVisibility\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CheckProductVisibilityResponse.fromProto(resp))\n            );\n    }\n    listProductsInStore(r: ListProductsInStoreRequest | ListProductsInStoreRequestInterface): Observable<ListProductsInStoreResponse> {\n        const request = ((<ListProductsInStoreRequest>r).toApiJson) ? (<ListProductsInStoreRequest>r) : new ListProductsInStoreRequest(r);\n        return this.http.post<ListProductsInStoreResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/ListProductsInStore\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListProductsInStoreResponse.fromProto(resp))\n            );\n    }\n    listVisibleAddonsForProduct(r: ListVisibleAddonsForProductRequest | ListVisibleAddonsForProductRequestInterface): Observable<ListVisibleAddonsForProductResponse> {\n        const request = ((<ListVisibleAddonsForProductRequest>r).toApiJson) ? (<ListVisibleAddonsForProductRequest>r) : new ListVisibleAddonsForProductRequest(r);\n        return this.http.post<ListVisibleAddonsForProductResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/ListVisibleAddonsForProduct\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListVisibleAddonsForProductResponse.fromProto(resp))\n            );\n    }\n    listStorePricePreviews(r: ListStorePricePreviewsRequest | ListStorePricePreviewsRequestInterface): Observable<ListStorePricePreviewsResponse> {\n        const request = ((<ListStorePricePreviewsRequest>r).toApiJson) ? (<ListStorePricePreviewsRequest>r) : new ListStorePricePreviewsRequest(r);\n        return this.http.post<ListStorePricePreviewsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/ListStorePricePreviews\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListStorePricePreviewsResponse.fromProto(resp))\n            );\n    }\n    getMultiStorePricePreviews(r: GetMultiStorePricePreviewsRequest | GetMultiStorePricePreviewsRequestInterface): Observable<GetMultiStorePricePreviewsResponse> {\n        const request = ((<GetMultiStorePricePreviewsRequest>r).toApiJson) ? (<GetMultiStorePricePreviewsRequest>r) : new GetMultiStorePricePreviewsRequest(r);\n        return this.http.post<GetMultiStorePricePreviewsResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/GetMultiStorePricePreviews\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiStorePricePreviewsResponse.fromProto(resp))\n            );\n    }\n    listStoreProductVisibilitySummaries(r: ListStoreProductVisibilitySummariesRequest | ListStoreProductVisibilitySummariesRequestInterface): Observable<ListStoreProductVisibilitySummariesResponse> {\n        const request = ((<ListStoreProductVisibilitySummariesRequest>r).toApiJson) ? (<ListStoreProductVisibilitySummariesRequest>r) : new ListStoreProductVisibilitySummariesRequest(r);\n        return this.http.post<ListStoreProductVisibilitySummariesResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/ListStoreProductVisibilitySummaries\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListStoreProductVisibilitySummariesResponse.fromProto(resp))\n            );\n    }\n    hasPartnerSetStoreOrder(r: HasPartnerSetStoreOrderRequest | HasPartnerSetStoreOrderRequestInterface): Observable<HasPartnerSetStoreOrderResponse> {\n        const request = ((<HasPartnerSetStoreOrderRequest>r).toApiJson) ? (<HasPartnerSetStoreOrderRequest>r) : new HasPartnerSetStoreOrderRequest(r);\n        return this.http.post<HasPartnerSetStoreOrderResponseInterface>(this._host + \"/marketplace_packages.v1.MarketplaceStore/HasPartnerSetStoreOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => HasPartnerSetStoreOrderResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        AddMultiToShoppingCartRequest,\n        AddToShoppingCartRequest,\n        ClearShoppingCartRequest,\n        GetShoppingCartRequest,\n        IsShoppingCartEnabledRequest,\n        IsShoppingCartEnabledResponse,\n        RemoveFromShoppingCartRequest,\n        RemoveMultiFromShoppingCartRequest,\n        ShoppingCartResponse,\n        UpdateItemQuantityRequest,\n} from './objects/';\nimport {\n        AddMultiToShoppingCartRequestInterface,\n        AddToShoppingCartRequestInterface,\n        ClearShoppingCartRequestInterface,\n        GetShoppingCartRequestInterface,\n        IsShoppingCartEnabledRequestInterface,\n        IsShoppingCartEnabledResponseInterface,\n        RemoveFromShoppingCartRequestInterface,\n        RemoveMultiFromShoppingCartRequestInterface,\n        ShoppingCartResponseInterface,\n        UpdateItemQuantityRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ShoppingCartApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    getShoppingCart(r: GetShoppingCartRequest | GetShoppingCartRequestInterface): Observable<ShoppingCartResponse> {\n        const request = ((<GetShoppingCartRequest>r).toApiJson) ? (<GetShoppingCartRequest>r) : new GetShoppingCartRequest(r);\n        return this.http.post<ShoppingCartResponseInterface>(this._host + \"/marketplace_packages.v1.ShoppingCartService/GetShoppingCart\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ShoppingCartResponse.fromProto(resp))\n            );\n    }\n    addToShoppingCart(r: AddToShoppingCartRequest | AddToShoppingCartRequestInterface): Observable<ShoppingCartResponse> {\n        const request = ((<AddToShoppingCartRequest>r).toApiJson) ? (<AddToShoppingCartRequest>r) : new AddToShoppingCartRequest(r);\n        return this.http.post<ShoppingCartResponseInterface>(this._host + \"/marketplace_packages.v1.ShoppingCartService/AddToShoppingCart\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ShoppingCartResponse.fromProto(resp))\n            );\n    }\n    addMultiToShoppingCart(r: AddMultiToShoppingCartRequest | AddMultiToShoppingCartRequestInterface): Observable<ShoppingCartResponse> {\n        const request = ((<AddMultiToShoppingCartRequest>r).toApiJson) ? (<AddMultiToShoppingCartRequest>r) : new AddMultiToShoppingCartRequest(r);\n        return this.http.post<ShoppingCartResponseInterface>(this._host + \"/marketplace_packages.v1.ShoppingCartService/AddMultiToShoppingCart\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ShoppingCartResponse.fromProto(resp))\n            );\n    }\n    updateItemQuantity(r: UpdateItemQuantityRequest | UpdateItemQuantityRequestInterface): Observable<ShoppingCartResponse> {\n        const request = ((<UpdateItemQuantityRequest>r).toApiJson) ? (<UpdateItemQuantityRequest>r) : new UpdateItemQuantityRequest(r);\n        return this.http.post<ShoppingCartResponseInterface>(this._host + \"/marketplace_packages.v1.ShoppingCartService/UpdateItemQuantity\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ShoppingCartResponse.fromProto(resp))\n            );\n    }\n    removeFromShoppingCart(r: RemoveFromShoppingCartRequest | RemoveFromShoppingCartRequestInterface): Observable<ShoppingCartResponse> {\n        const request = ((<RemoveFromShoppingCartRequest>r).toApiJson) ? (<RemoveFromShoppingCartRequest>r) : new RemoveFromShoppingCartRequest(r);\n        return this.http.post<ShoppingCartResponseInterface>(this._host + \"/marketplace_packages.v1.ShoppingCartService/RemoveFromShoppingCart\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ShoppingCartResponse.fromProto(resp))\n            );\n    }\n    removeMultiFromShoppingCart(r: RemoveMultiFromShoppingCartRequest | RemoveMultiFromShoppingCartRequestInterface): Observable<ShoppingCartResponse> {\n        const request = ((<RemoveMultiFromShoppingCartRequest>r).toApiJson) ? (<RemoveMultiFromShoppingCartRequest>r) : new RemoveMultiFromShoppingCartRequest(r);\n        return this.http.post<ShoppingCartResponseInterface>(this._host + \"/marketplace_packages.v1.ShoppingCartService/RemoveMultiFromShoppingCart\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ShoppingCartResponse.fromProto(resp))\n            );\n    }\n    clearShoppingCart(r: ClearShoppingCartRequest | ClearShoppingCartRequestInterface): Observable<ShoppingCartResponse> {\n        const request = ((<ClearShoppingCartRequest>r).toApiJson) ? (<ClearShoppingCartRequest>r) : new ClearShoppingCartRequest(r);\n        return this.http.post<ShoppingCartResponseInterface>(this._host + \"/marketplace_packages.v1.ShoppingCartService/ClearShoppingCart\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ShoppingCartResponse.fromProto(resp))\n            );\n    }\n    isShoppingCartEnabled(r: IsShoppingCartEnabledRequest | IsShoppingCartEnabledRequestInterface): Observable<IsShoppingCartEnabledResponse> {\n        const request = ((<IsShoppingCartEnabledRequest>r).toApiJson) ? (<IsShoppingCartEnabledRequest>r) : new IsShoppingCartEnabledRequest(r);\n        return this.http.post<IsShoppingCartEnabledResponseInterface>(this._host + \"/marketplace_packages.v1.ShoppingCartService/IsShoppingCartEnabled\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => IsShoppingCartEnabledResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { AppPartnerSettingsApiService } from './app-partner-settings.api.service';\nexport { BuyItNowApiService } from './buy-it-now.api.service';\nexport { MarketplacePackagesApiService } from './marketplace-packages.api.service';\nexport { MarketplaceStoreApiService } from './marketplace-store.api.service';\nexport { ShoppingCartApiService } from './shopping-cart.api.service';\n","import {\n    BulkEnableAppForAllPartnersRequest,\n    EnableAppForPartnerRequest,\n    DisableAppForPartnerRequest,\n    GetMultiIsAppEnabledRequest,\n    GetMultiPartnerAppEnablementStatusRequest,\n    PartnerAppRequest\n} from './_internal/objects/api';\nimport {Injectable} from '@angular/core';\nimport {MarketplacePackagesApiService} from './_internal/marketplace-packages.api.service';\nimport {Observable} from 'rxjs';\nimport { ListPartnerAppEnablementStatusRequest, AppEnablementStatusesAppEnablementStatus as AppEnablementStatus } from './_internal';\nimport { map } from 'rxjs/operators';\nimport { HttpResponse } from '@angular/common/http';\n\n\nexport interface PartnerAppEnablementStatus {\n  partnerId?: string;\n  appId?: string;\n  status?: AppEnablementStatus;\n}\n\nexport interface AppEnabledInformation {\n  appId: string;\n  enabled: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class PartnerAppEnablementStatusService {\n\n    constructor(private apiService: MarketplacePackagesApiService) {}\n\n    listPartnerAppEnablementStatus(partnerId: string): Observable<PartnerAppEnablementStatus[]> {\n      const request = new ListPartnerAppEnablementStatusRequest({ partnerId: partnerId });\n      const response = this.apiService.listPartnerAppEnablementStatus(request);\n      return response.pipe( map(res => res.partnerAppResponse as PartnerAppEnablementStatus[]) );\n    }\n    enableAppForPartner(partnerId: string, appId: string, origin: string): Observable<HttpResponse<null>> {\n      const request = new EnableAppForPartnerRequest({ partnerId: partnerId, appId: appId, origin: origin });\n      const response = this.apiService.enableAppForPartner(request);\n      return response;\n    }\n    disableAppForPartner(partnerId: string, appId: string, origin: string): Observable<HttpResponse<null>> {\n      const request = new DisableAppForPartnerRequest({ partnerId: partnerId, appId: appId, origin: origin });\n      const response = this.apiService.disableAppForPartner(request);\n      return response;\n    }\n    bulkEnableAppForAllPartners(appId: string): Observable<HttpResponse<null>> {\n      const request = new BulkEnableAppForAllPartnersRequest({ appId: appId });\n      return this.apiService.bulkEnableAppForAllPartners(request);\n    }\n    getMultiIsAppEnabled(appIds: string[]): Observable<AppEnabledInformation[]> {\n      const request = new GetMultiIsAppEnabledRequest({ appIds: appIds });\n      const response = this.apiService.getMultiIsAppEnabled(request);\n      return response.pipe( map(res => res.appEnablement as AppEnabledInformation[]) );\n    }\n    getMultiPartnerAppEnablementStatus(partnerAppIds: PartnerAppRequest[]): Observable<PartnerAppEnablementStatus[]> {\n        const request = new GetMultiPartnerAppEnablementStatusRequest({ partnerAppRequest: partnerAppIds });\n        const response = this.apiService.getMultiPartnerAppEnablementStatus(request);\n        return response.pipe( map(res => res.partnerAppResponse as PartnerAppEnablementStatus[]) );\n    }\n}\n","import { Injectable } from '@angular/core';\nimport {\n  ListPackagesResponse, ListPackagesRequest, GetMultiPackageRequest,\n  GetMultiPackageResponse,\n  ListAppDistributionStatusRequest,\n  ListAppDistributionStatusResponse,\n  CopyPackageRequest,\n  PackageScope,\n  CopyPackageResponse,\n  UpdatePackageRequest,\n  UpdatePackageOperation,\n  CreatePackageRequest,\n  ListPackageIDsForProductRequest,\n  AddProductToStoreRequest,\n  HideArchivedPackageRequest,\n} from './_internal/objects/api';\nimport { Package, Pricing, Price, LineItem, LineItems, MarketAction } from './_internal/objects/package';\nimport {\n  StatusesStatus as Status,\n  CurrenciesCurrency as Currency,\n  FrequenciesFrequency as Frequency,\n  LmiCategories as Categories,\n  PricingDisplayOption,\n  LineItemDisplayOption,\n  CurrenciesCurrency,\n  FrequenciesFrequency\n} from './_internal/enums';\nimport { MarketplacePackagesApiService } from './_internal/marketplace-packages.api.service';\nimport { Observable, of as observableOf } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { StatusString } from './status';\nimport { HttpErrorResponse, HttpResponse } from '@angular/common/http';\nimport {RetailPrice} from './_internal/objects/retail-price';\n\n@Injectable({providedIn: 'root'})\nexport class PackageService {\n  constructor(private apiService: MarketplacePackagesApiService) {}\n\n  copyPackage(packageId: string, partnerId: string, marketIds: string[], contactSales: boolean,\n    name: string, status: StatusString, currency?: string, price?: number, additionalPrice?: number,\n    frequency?: string, additionalFrequency?: string,\n    isStartingPrice?: boolean, isAdditionalStartingPrice?: boolean): Observable<CopyPackageResponse> {\n\n    const request = new CopyPackageRequest({\n      packageId: packageId,\n      name: name,\n      publish: status ? status.toLowerCase() === 'publish' : false\n    });\n\n    if (contactSales) {\n      price = -1;\n      frequency = 'MONTHLY';\n    }\n\n    if ((price && frequency) || (additionalPrice && additionalFrequency)) {\n      request.pricing = new Pricing();\n      if (currency) {\n        request.pricing.currency = Currency[currency.toUpperCase() as unknown as number] as unknown as CurrenciesCurrency;\n      }\n\n      if (price && frequency) {\n        request.pricing.prices = [new Price({\n          price: price,\n          frequency: Frequency[frequency.toUpperCase() as unknown as number] as unknown as FrequenciesFrequency,\n          isStartingPrice: isStartingPrice,\n        })];\n      }\n\n      if (additionalPrice && additionalFrequency) {\n        request.pricing.prices = (request.pricing.prices ? request.pricing.prices : []).concat(new Price({\n          price: additionalPrice,\n          frequency: Frequency[additionalFrequency.toUpperCase() as unknown as number] as unknown as FrequenciesFrequency,\n          isStartingPrice: isAdditionalStartingPrice,\n        }))\n      }\n    }\n\n    request.packageDestination = new PackageScope({\n      partnerId: partnerId,\n      marketIds: marketIds\n    });\n\n    return this.apiService.copyPackage(request);\n  }\n\n  loadAllPackages(partnerId: string, statuses: Status[], marketId = 'default', sort = false,\n    pageSize = 600, cursor = 'MA==', lmiCategory?: Categories): Observable<ListPackagesResponse> {\n    return this.apiService.listPackages(new ListPackagesRequest({\n      partnerId: partnerId,\n      statuses: statuses,\n      marketId: marketId,\n      lmiCategory: lmiCategory,\n      sort: sort,\n      pageSize: pageSize,\n      cursor: cursor\n    }));\n  }\n\n  list(partnerId: string, statuses: Status[], marketId = 'default', pageSize = 600,\n       cursor = 'MA==', lmiCategory?: Categories, includeTotalResults?: boolean, filterTerm?: string): Observable<ListPackagesResponse> {\n    return this.apiService.listPackages(new ListPackagesRequest({\n      partnerId: partnerId,\n      statuses: statuses,\n      marketId: marketId,\n      lmiCategory: lmiCategory,\n      pageSize: pageSize,\n      cursor: cursor,\n      includeTotalResults: includeTotalResults,\n      filterTerm: filterTerm\n    }));\n  }\n\n  getMulti(packageIds: string[]): Observable<Package[]> {\n    if (!packageIds || packageIds.length === 0) {\n      throw Error('Must provide at least one package id for GetMulti.')\n    }\n\n    const request: GetMultiPackageRequest = new GetMultiPackageRequest({\n      packageIds: packageIds\n    });\n\n    const response = this.apiService.getMultiPackages(request);\n\n    return response.pipe(map((resp: GetMultiPackageResponse) => {\n      return resp.packageContainers.map(container => container.package);\n    }));\n  }\n\n  /**\n   * DEPRECATED\n   * @deprecated please use the getAllAppDistributionStatuses method in the apps.service.ts file\n  */\n  listAppDistributionStatus(pageSize = 0, cursor = 'MA=='): Observable<ListAppDistributionStatusResponse> {\n    return this.apiService.listAppDistributionStatus(new ListAppDistributionStatusRequest({\n      pageSize: pageSize,\n      cursor: cursor\n    }))\n  };\n\n  /**\n   * @params packageId is the id of the package that the status will be set for. Status is the status the package\n   * will be mutated to have.\n   * @returns the mutated package\n   * @throws httpErrorResponse\n  */\n  setStatus(packageId: string, status: Status): Observable<Package> {\n    const req = new UpdatePackageRequest({\n      packageId: packageId,\n      updatePackageOperations: [new UpdatePackageOperation({\n        status: status\n      })]\n    })\n\n    return this.apiService.updatePackage(req).pipe(\n      map(resp => resp.package)\n    )\n  }\n\n  /**\n   * @params fields that make up a package including name, tagline and lineItems\n   * @returns the created package\n   * @throws httpErrorResponse\n  */\n create(partnerId: string, marketId: string, name: string, tagline: string, iconUrl: string, headerImageUrl: string,\n  content: string, lineItems: LineItem[], pricing: Pricing, hideProductIconsAndNames: boolean, hideProductDetails: boolean,\n  publishImmediately: boolean, marketAction: MarketAction, usesBillingPricing: boolean,\n  pricingDisplayOption?: PricingDisplayOption, lineItemDisplayOption?: LineItemDisplayOption): Observable<Package> {\n    const req = new CreatePackageRequest({\n      partnerId: partnerId,\n      marketId: marketId,\n      name: name,\n      tagline: tagline,\n      iconUrl: iconUrl,\n      headerImageUrl: headerImageUrl,\n      content: content,\n      lineItems: new LineItems({lineItems: lineItems}),\n      pricing: pricing,\n      hideProductDetails: hideProductDetails,\n      hideProductIconsAndNames: hideProductIconsAndNames,\n      publishImmediately: publishImmediately,\n      marketAction: marketAction,\n      usesBillingPricing: usesBillingPricing,\n      pricingDisplayOption: pricingDisplayOption,\n      lineItemDisplayOption: lineItemDisplayOption,\n    });\n\n    return this.apiService.createPackage(req).pipe(\n      map(resp => resp.package)\n    )\n  }\n\n  /**\n   * @params fields that make up a package including name, tagline and lineItems\n   * @returns the created package\n   * @throws httpErrorResponse if the api fails\n  */\n update(packageId: string, name: string, tagline: string, iconUrl: string, headerImageUrl: string,\n  content: string, lineItems: LineItem[], pricing: Pricing, hideProductIconsAndNames: boolean,\n  hideProductDetails: boolean, marketAction: MarketAction, usesBillingPricing: boolean,\n  pricingDisplayOption: PricingDisplayOption, lineItemDisplayOption?: LineItemDisplayOption): Observable<Package> {\n    const operations: UpdatePackageOperation[] = [\n      new UpdatePackageOperation({name: name}),\n      new UpdatePackageOperation({tagline: tagline}),\n      new UpdatePackageOperation({iconUrlV2: iconUrl}),\n      new UpdatePackageOperation({headerImageUrlV2: headerImageUrl}),\n      new UpdatePackageOperation({content: content}),\n      new UpdatePackageOperation({lineItems: new LineItems({lineItems: lineItems})}),\n      new UpdatePackageOperation({pricing: pricing}),\n      new UpdatePackageOperation({hideProductIconsAndNames: hideProductIconsAndNames}),\n      new UpdatePackageOperation({hideProductDetails: hideProductDetails}),\n      new UpdatePackageOperation({marketAction: marketAction}),\n      new UpdatePackageOperation({usesBillingPricing: usesBillingPricing}),\n      new UpdatePackageOperation({pricingDisplayOption: pricingDisplayOption}),\n    ];\n    if (lineItemDisplayOption !== undefined) {\n      operations.push(new UpdatePackageOperation({lineItemDisplayOption: lineItemDisplayOption}));\n    }\n    const req = new UpdatePackageRequest({\n      packageId: packageId,\n      updatePackageOperations: operations,\n    });\n\n    return this.apiService.updatePackage(req).pipe(\n      map(resp => resp.package)\n    )\n  }\n\n  hideArchivedPackage(packageId: string): Observable<HttpResponse<null>> {\n   const req = new HideArchivedPackageRequest({\n     packageId,\n   });\n   return this.apiService.hideArchivedPackage(req);\n  }\n\n  /**\n   * @params the id of the package to be fetched\n   * @returns the package corresponding to the id passed\n   * @throws httpErrorResponse containing a 412 if the packageID isn't passed,\n   * 404 if the package isn't found, or 500 if there is some other api error\n  */\n  get(packageId: string): Observable<Package> {\n\n    if (!packageId) {\n      observableOf(new HttpErrorResponse({\n        status: 412,\n        statusText: 'package with id' + packageId + 'doesn\\'t exist'\n      }));\n    }\n\n    const req = new GetMultiPackageRequest({\n      packageIds: [packageId]\n    })\n\n    return this.apiService.getMultiPackages(req).pipe(\n      map(res => res.packageContainers || []),\n      map(cont => {\n        if (cont && cont.length && cont[0].package) {\n          return cont[0].package;\n        }\n        throw new HttpErrorResponse({\n          status: 404,\n          statusText: 'package with id' + packageId + 'doesn\\'t exist'\n        });\n      }),\n      shareReplay(1)\n    );\n  }\n\n  listPackageIDsForProduct(partnerId: string, marketId: string, appId: string, editionId: string): Observable<string[]> {\n    const request = new ListPackageIDsForProductRequest({\n      partnerId: partnerId, marketId: marketId, appId: appId, editionId: editionId,\n    });\n    return this.apiService.listPackageIDsForProduct(request).pipe(\n      map(response => response.packageIds)\n    );\n  }\n\n  /**\n   * @params fields containing information about the product to be made into a package and the retail price to be set\n   * @returns empty response\n   * @throws httpErrorResponse\n  */\n  addProductToStore(\n    partnerId: string,\n    marketId: string,\n    appId: string,\n    editionId: string,\n    retailPrice: RetailPrice,\n    publishImmediately: boolean\n  ): Observable<HttpResponse<null>> {\n\n    const request = new AddProductToStoreRequest({\n      partnerId: partnerId,\n      marketId: marketId,\n      appId: appId,\n      editionId: editionId,\n      retailPrice: retailPrice,\n      publishImmediately: publishImmediately\n    });\n\n    return this.apiService.addProductToStore(request);\n  }\n}\n","import {Injectable} from '@angular/core';\nimport {MarketplacePackagesApiService} from './_internal/marketplace-packages.api.service';\nimport {ListProductsRequest, ListProductsResponse, GetMultiProductsRequest, GetMultiProductsResponse,\n  ListProductFilter} from './_internal/objects/api';\nimport {Observable} from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class ProductService {\n\n    constructor(private apiService: MarketplacePackagesApiService) {\n    }\n\n    loadAllProducts(partnerId: string, pageSize = 600, cursor = 'MA==', marketId = '',\n                    filters = new ListProductFilter({approved: false}),\n                    whitelabelOverrideKey?: string):\n    Observable<ListProductsResponse> {\n        return this.apiService.listProducts(new ListProductsRequest({\n            partnerId: partnerId,\n            pageSize: pageSize,\n            cursor: cursor,\n            marketId: marketId,\n            filters: filters,\n            whitelabelOverrideKey: whitelabelOverrideKey\n        }));\n    }\n\n    getMultiProducts(partnerId: string, productIds: string[], marketId?: string,\n                     whitelabelOverrideKey?: string): Observable<GetMultiProductsResponse> {\n        return this.apiService.getMultiProducts(new GetMultiProductsRequest({\n            partnerId: partnerId,\n            productIds: productIds,\n            marketId: marketId,\n            whitelabelOverrideKey: whitelabelOverrideKey\n        }));\n    }\n}\n","import {\n  ActivatableApp as GeneratedActivatableApp, Cost\n} from './_internal/objects/api';\n\nexport class PermissionLists {\n    whitelist: string[];\n    blacklist: string[];\n}\n\nexport function convertActivatableApps(genApps: GeneratedActivatableApp[]): ActivatableApp[] {\n  if (genApps.length === 0) {\n    return [];\n  }\n  return genApps.map(app => {\n    return ActivatableApp.fromApi((app));\n  });\n}\n\nexport class ActivatableApp {\n\n  appId: string;\n  name: string;\n  headerImage: string;\n  tagline: string;\n  icon: string;\n  countryRestrictions: PermissionLists;\n  childActivatableApps: ActivatableApp[];\n\n  static fromApi(data: GeneratedActivatableApp): ActivatableApp {\n    const obj = new ActivatableApp();\n    obj.appId = data.appId;\n    obj.name = data.name;\n    obj.headerImage = data.headerImage;\n    obj.tagline = data.tagline;\n    obj.icon = data.icon;\n    obj.countryRestrictions = data.countryRestrictions;\n    if (data.childActivatableApps != null) {\n      obj.childActivatableApps = convertActivatableApps(data.childActivatableApps);\n    } else {\n      obj.childActivatableApps = [];\n    }\n    return obj;\n  }\n}\n","export enum AppType {\n    NOT_SPECIFIED = 0,\n    APP = 1,\n    ADDON = 2,\n    CUSTOM_PRODUCT = 3,\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpResponse } from '@angular/common/http';\n\nimport { AppType, DiscoverProductSortOrderType, PermissionsListType } from './_internal/enums/api.enum';\nimport { MarketplacePackagesApiService } from './_internal/marketplace-packages.api.service';\nimport { ActivatableApp, convertActivatableApps } from './app.model';\nimport { AppType as SharedAppType } from './app-type';\nimport {\n    IsAppDistributedToPartnerRequest,\n    AreAppsDistributedToPartnerRequest,\n    GetAppPermissionsRequest,\n    ListActivatableAppsRequest,\n    ListDistributedAppIdsRequest,\n    ListDiscoverableAppsRequest,\n    ListDiscoverableAppSuggestionsRequest,\n    ListDiscoverableAppSuggestionsResponse,\n    ListAppDistributionStatusRequest,\n    ListDistributedAppIdsRequestListDistributedAppIdsRequestFilters as ListDistributedAppIdsRequestFilters,\n    ListAppDistributionStatusResponseAppDistributionStatus as AppDistributionStatus,\n    ListDiscoverableAppsResponse,\n    ListAvailableAppsResponse,\n    ListAvailableAppsRequest,\n    PagedRequestOptions,\n    GetAppPermissionsResponse, UpsertAppPermissionsResponse,\n    UpsertAppPermissionsRequest,\n    RemovePartnerFromPermissionsListRequest,\n} from './_internal/objects/api';\nimport {\n  AreAppsDistributedToPartnerResponseAppDistributedContainerInterface as AppDistributedContainerInterface,\n  ListDistributedAppIdsRequestListDistributedAppIdsRequestFiltersInterface as ListDistributedAppIdsRequestFiltersInterface,\n} from './_internal/interfaces/api.interface';\nimport { Tag, AddonOptions } from './_internal';\n\n\n@Injectable({providedIn: 'root'})\nexport class MarketplaceAppService {\n  constructor(private apiService: MarketplacePackagesApiService) {}\n\n  /*\n      @params:\n        - partnerId: represents the partner to get discoverable app summary list for\n        - pageSize (optional): the number of results to return per request\n        - cursor (optional): the cursor to begin paging from\n        - marketId (optional): the market context that the partner user is operating in\n        - whitelabelOverrideKey (optional): override the current whitelabel configuration\n      @returns: an observable containing a discoverable app summary list, next cursor, and an indicator of whether there are more results\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n  listDiscoverableApps(partnerId: string, pageSize?: number, cursor?: string, marketId?: string, whitelabelOverrideKey?: string,\n    tagFilters?: Tag[], searchTerm?: string, sortOrder?: DiscoverProductSortOrderType, addonOptions?: AddonOptions):\n    Observable<ListDiscoverableAppsResponse> {\n    return this.apiService.listDiscoverableApps(\n      new ListDiscoverableAppsRequest({\n        partnerId: partnerId,\n        pageSize: pageSize,\n        cursor: cursor,\n        marketId: marketId,\n        whitelabelOverrideKey: whitelabelOverrideKey,\n        tagFilters: tagFilters,\n        searchTerm: searchTerm,\n        sortOrder: sortOrder,\n        addonOptions: addonOptions,\n      })\n    );\n  }\n\n    /*\n      @params:\n        - partnerId: represents the partner to get discoverable app summary list for\n        - searchTerm: the term to suggest apps for\n        - pageSize (optional): the number of results to return per request\n      @returns: an observable containing a list of app suggestions\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n  listDiscoverableAppSuggestions(partnerId: string, searchTerm: string, pageSize?: number):\n    Observable<ListDiscoverableAppSuggestionsResponse> {\n    return this.apiService.listDiscoverableAppSuggestions(\n      new ListDiscoverableAppSuggestionsRequest({\n        partnerId: partnerId,\n        pageSize: pageSize,\n        searchTerm: searchTerm,\n      })\n    );\n  }\n\n    /*\n      @params:\n        - partnerId: represents the partner to get app summary list for\n        - tagFilters: represents the tags the list should be filtered by\n        - pageSize (optional): the number of results to return per request\n        - cursor (optional): the cursor to begin paging from\n        - whitelabelOverrideKey (optional): override the current whitelabel configuration\n      @returns: an observable containing a app summary list, next cursor, and an indicator of whether there are more results\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n   listAvailableApps(partnerId: string, pageSize?: number, cursor?: string, whitelabelOverrideKey?: string,\n    tagFilters?: Tag[], searchTerm?: string):\n    Observable<ListAvailableAppsResponse> {\n    return this.apiService.listAvailableApps(\n      new ListAvailableAppsRequest({\n        partnerId: partnerId,\n        whitelabelOverrideKey: whitelabelOverrideKey,\n        tagFilters: tagFilters,\n        pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n        searchTerm: searchTerm\n      })\n    );\n  }\n\n  /*\n      @params\n        - partnerId: represents the partner Id to fetch the activatable apps for\n        - marketId: a market based filter that will scope the response to contain activatable apps that can be activated in that market\n      @returns: an observable of all activatable apps\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n  getAllActivatableApps(partnerId: string, marketId?: string, whitelabelOverrideKey?: string): Observable<ActivatableApp[]> {\n    const response = this.apiService.listActivatableApps(\n      new ListActivatableAppsRequest({\n        partnerId: partnerId,\n        marketId: marketId,\n        pageSize: 0,\n        cursor: '',\n        whitelabelOverrideKey: whitelabelOverrideKey\n      })\n    );\n    return response.pipe(\n      map(resp => (resp.activatableApps && resp.activatableApps.length ? convertActivatableApps(resp.activatableApps) : []))\n    );\n  }\n\n  /*\n      @returns: an observable of all app distribution statuses\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n  getAllAppDistributionStatuses(): Observable<AppDistributionStatus[]> {\n    const response = this.apiService.listAppDistributionStatus(\n      new ListAppDistributionStatusRequest({\n        pageSize: 0,\n        cursor: ''\n      })\n    );\n\n    return response.pipe(\n      map(resp => (resp.appDistributionStatuses && resp.appDistributionStatuses.length ? resp.appDistributionStatuses : []))\n    );\n  }\n\n  getAllDistributedAppIds(partnerId: string, marketId?: string, restrictToTypes?: SharedAppType[]): Observable<string[]> {\n    const generatedTypes = restrictToTypes!.map(sat => this.sharedAppTypeToProto(sat));\n\n    const response = this.apiService.listDistributedAppIds(\n      new ListDistributedAppIdsRequest({\n        partnerId: partnerId,\n        marketId: marketId,\n        filters: new ListDistributedAppIdsRequestFilters({ appTypes: generatedTypes } as ListDistributedAppIdsRequestFiltersInterface)\n      })\n    );\n\n    return response.pipe(map(resp => (resp.appIds && resp.appIds.length ? resp.appIds : [])));\n  }\n\n  sharedAppTypeToProto(shared: SharedAppType): AppType {\n    switch (shared) {\n      case SharedAppType.APP:\n        return AppType.APP;\n      case SharedAppType.ADDON:\n        return AppType.ADDON;\n      case SharedAppType.CUSTOM_PRODUCT:\n        return AppType.CUSTOM_PRODUCT;\n      default:\n        return AppType.NOT_SPECIFIED;\n    }\n  }\n\n  /*\n      @returns: an observable of whether or not the app is distributed to that partner.\n      @throws: an HttpError if the client is unable to fetch the data\n  */\n  isAppDistributedToPartner(appId: string, partnerId: string): Observable<boolean> {\n    const response = this.apiService.isAppDistributedToPartner(\n      new IsAppDistributedToPartnerRequest({\n        appId: appId,\n        partnerId: partnerId\n      })\n    );\n\n    return response.pipe(map(resp => resp.isDistributed));\n  }\n\n  /*\n    @returns: a list of observables like this\n      {\n        appId: string,\n        isDistributed: boolean,\n      }\n    @throws: an HttpError if the client is unable to fetch the data\n  */\n  areAppsDistributedToPartner(partnerId: string, appIds: string[]): Observable<AppDistributedContainerInterface[]> {\n    const response = this.apiService.areAppsDistributedToPartner(\n      new AreAppsDistributedToPartnerRequest({\n        partnerId: partnerId,\n        appIds: appIds,\n      })\n    );\n\n    return response.pipe(map(resp => resp.areAppsDistributed));\n  }\n\n    /*\n      @returns: an observable of permissions data for the given app\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n    getAppPermissions(appId: string): Observable<GetAppPermissionsResponse> {\n        const response = this.apiService.getAppPermissions(\n            new GetAppPermissionsRequest({\n                appId: appId,\n            })\n        );\n\n        return response.pipe(map(resp => new GetAppPermissionsResponse({\n            appId: resp.appId,\n            whitelist: resp.whitelist,\n            blacklist: resp.blacklist,\n            distributed: resp.distributed,\n            })\n        ));\n    }\n\n    /*\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n    removePartnerFromPermissionsList(appId: string, partnerId: string, permissionsList: PermissionsListType): Observable<HttpResponse<null>> {\n        return this.apiService.removePartnerFromPermissionsList(\n            new RemovePartnerFromPermissionsListRequest({\n                appId: appId,\n                partnerId: partnerId,\n                permissionsList: permissionsList,\n            })\n        );\n    }\n\n    /*\n      @returns: an observable of the updated permissions data for the given app\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n    upsertAppPermissions(appId: string, whitelist: string[], blacklist: string[], distributed: boolean): Observable<UpsertAppPermissionsResponse> {\n        const response = this.apiService.upsertAppPermissions(\n            new UpsertAppPermissionsRequest({\n                appId: appId,\n                whitelist: whitelist,\n                blacklist: blacklist,\n                distributed: distributed,\n            })\n        );\n\n        return response.pipe(map(resp => new UpsertAppPermissionsResponse({\n                appId: resp.appId,\n                whitelist: resp.whitelist,\n                blacklist: resp.blacklist,\n                distributed: resp.distributed,\n            })\n        ));\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { MarketplacePackagesApiService } from './_internal/marketplace-packages.api.service';\nimport { Addon } from './_internal/objects/addon';\nimport {\n  GetMultiAddonsByAppRequest,\n  GetMultiAddonsByAppResponse,\n  GetMultiAddonsByAppResponseAddonListContainer as AddonListContainer,\n} from './_internal/objects/api';\nimport { HttpErrorResponse } from '@angular/common/http';\n\n@Injectable({providedIn: 'root'})\nexport class AddonService {\n  constructor(private apiService: MarketplacePackagesApiService) {}\n  /*\n      @params:\n        - partnerId: represents the partner to get the distributed/approved addonList map for.\n        - appIds: is a list of appIds to filter the resulting map by.\n        - whitelabelOverrideKey (optional): override the current whitelabel configuration\n        If no appIds are provided, the resulting map will return all addons key'd by their parent.\n      @returns: an observable of an es6 map with the app being the parent appId\n      and the value being a list of addons that share that parent\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n  getMultiAddonsByApp(partnerId: string, appIds: string[], whitelabelOverrideKey?: string): Observable<Map<string, Addon[]>> {\n    return this.fetchAddonToAppIdMap(partnerId, appIds, whitelabelOverrideKey).pipe(\n      map((resp: GetMultiAddonsByAppResponse) => (resp ? this.convertInterfaceToMap(resp.addonMap) : null)!)\n    );\n  }\n\n  private fetchAddonToAppIdMap(partnerId: string, appIds: string[],\n                               whitelabelOverrideKey?: string): Observable<GetMultiAddonsByAppResponse> {\n    const response = this.apiService.getMultiAddonsByApp(\n      new GetMultiAddonsByAppRequest({\n        partnerId: partnerId,\n        appIds: appIds,\n        whitelabelOverrideKey: whitelabelOverrideKey\n      })\n    );\n    return response;\n  }\n\n  private convertInterfaceToMap(addonListContainerMap: { [key: string]: AddonListContainer }): Map<string, Addon[]> {\n    const addonMap = new Map<string, Addon[]>();\n    if (!addonListContainerMap) {\n      return addonMap;\n    }\n    const keys = Object.keys(addonListContainerMap);\n    keys.forEach(k => {\n      const l = addonListContainerMap[k];\n      if (l && l.addons && l.addons.length) {\n        addonMap.set(k, l.addons);\n      }\n    });\n    return addonMap;\n  }\n\n  /*\n      @params:\n        - partnerId: represents the partner to get the distributed/approved addons for.\n        - appIds (optional): is a list of appIds to filter the list by.\n        - whitelabelOverrideKey (optional): override the current whitelabel configuration\n        If no appIds are provided, the resulting list will contain all addons.\n      @returns: an observable of an array of addons\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n  getAllAddons(partnerId: string, appIds?: string[], whitelabelOverrideKey?: string): Observable<Addon[]> {\n    return this.fetchAddonToAppIdMap(partnerId, appIds || [], whitelabelOverrideKey).pipe(\n      map(resp => (resp && resp.addonMap ? this.flattenInterfaceToList(resp.addonMap) : []))\n    );\n  }\n\n  private flattenInterfaceToList(addonListContainerMap: { [key: string]: AddonListContainer }): Addon[] {\n    let addonList: Addon[] = [];\n    if (!addonListContainerMap) {\n      return addonList;\n    }\n    const keys = Object.keys(addonListContainerMap);\n    keys.forEach(k => {\n      const l = addonListContainerMap[k];\n      if (l && l.addons && l.addons.length) {\n        addonList = addonList.concat(l.addons);\n      }\n    });\n    return addonList;\n  }\n\n  /*\n      @params:\n        - partnerId: represents the partner to get the distributed/approved addon for.\n        - addonId: is the id of the addon to fetch.\n        - appId (optional): is the id of the parent of the desired addon to fetch. If the appId is avaliable, you should pass it in.\n        - whitelabelOverrideKey (optional): override the current whitelabel configuration\n        This function will be more performant\n      @returns: an observable of an addon. If the addon does not exist, the observable will emit a value of null.\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n  getAddon(partnerId: string, addonId: string, appId?: string, whitelabelOverrideKey?: string): Observable<Addon> {\n    let addonList$: Observable<Addon[]>;\n    if (appId) {\n      addonList$ = this.fetchAddonToAppIdMap(partnerId, [appId], whitelabelOverrideKey).pipe(\n        map(resp => {\n          return resp && resp.addonMap && resp.addonMap[appId] && resp.addonMap[appId].addons ? resp.addonMap[appId].addons : [];\n        })\n      );\n    } else {\n      addonList$ = this.getAllAddons(partnerId, [], whitelabelOverrideKey);\n    }\n    return addonList$.pipe(map(l => this.getAddonFromList(addonId, l)));\n  }\n\n  private getAddonFromList(addonId: string, addons: Addon[]): Addon {\n    const addon = addons.find(a => a.addonId === addonId);\n    if (!addon) {\n      throw new HttpErrorResponse({ status: 404 });\n    }\n    return addon;\n  }\n\n  /*\n      @params:\n        - partnerId: represents the partner to get the distributed/approved addon for.\n        - addonIds: the ids of the addons to fetch.\n        - appIds (optional): is the ids of the parents of the addons you wish to to fetch\n        - whitelabelOverrideKey (optional): override the current whitelabel configuration\n        This function will be more performant\n      @returns: an observable of a map of an addonId to addon.\n      @throws: an HttpError if the client is unable to fetch the data\n    */\n  getMultiAddon(partnerId: string, addonIds: string[], appIds?: string[], whitelabelOverrideKey?: string): Observable<Map<string, Addon>> {\n    const addonList$ = this.fetchAddonToAppIdMap(partnerId, appIds || [], whitelabelOverrideKey).pipe(map(\n      resp => (resp && resp.addonMap ? this.flattenInterfaceToList(resp.addonMap) : [])\n    ));\n    return addonList$.pipe(map((al: Addon[]) => {\n      // Reducing to a map then filtering that map is a O(n) algorithm. Where as filtering a list on another list is O(n^2).\n      const addonMap = al.reduce((am, a) => am.set(a.addonId, a), new Map<string, Addon>());\n      const filteredMap = new Map<string, Addon>();\n      addonIds.forEach(i => {\n        const a = addonMap.get(i);\n        if (a) {\n          filteredMap.set(i, a);\n        }\n      });\n      return filteredMap;\n    }));\n  }\n}\n","import { HttpResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport {\n  Category,\n  CreateStoreCategoryRequest,\n  DeleteStoreCategoryRequest,\n  GetCategoriesForStoreRequest,\n  GetStoreRequest,\n  GetStoreResponse,\n  SetStoreCategoryOrderRequest,\n  StoreIdentifier,\n  UpdateStoreCategoryRequest,\n  UpdateStoreRequest,\n  ListCategoriesForPackageRequest,\n  SetPackagesInCategoryRequest,\n  SetCategoriesForPackageRequest,\n  GetStoreWithCategoriesResponse,\n  GetStoreWithCategoriesRequest,\n  EnableCustomCategoriesForStoreRequest,\n  GetPublicStoreThemeRequest,\n  GetPublicStoreThemeResponse,\n  UpdatePublicStoreThemeRequest,\n  PublicStoreTheme,\n  AddToStoreRequest,\n  RemoveFromStoreRequest,\n  CheckProductVisibilityRequest,\n  CheckProductVisibilityResponse,\n  ListProductsInStoreFilters,\n  ListProductsInStoreRequest,\n  ListProductsInStoreResponse,\n  ListVisibleAddonsForProductRequest,\n  ListVisibleAddonsForProductResponse,\n  ListStorePricePreviewsRequest,\n  StorePricePreviews,\n  ListStoreProductVisibilitySummariesRequest,\n  ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary,\n  HasPartnerSetStoreOrderRequest,\n  HasPartnerSetStoreOrderResponse,\n  ProductPricePreviews,\n  GetMultiStorePricePreviewsRequest, AddToStoresRequest,\n} from \"./_internal/objects/store-api\";\nimport { MarketplaceStoreApiService } from \"./_internal/marketplace-store.api.service\";\nimport { FieldMask } from \"./_internal/objects/field-mask\";\nimport { Observable } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\n\nexport type StoreProductVisibilitySummary =\n  ListStoreProductVisibilitySummariesResponseStoreProductVisibilitySummary;\n\n@Injectable({ providedIn: \"root\" })\nexport class StoreService {\n  constructor(private apiService: MarketplaceStoreApiService) {}\n\n  private buildStoreIdentifier(\n    partnerId: string,\n    marketId: string\n  ): StoreIdentifier {\n    return new StoreIdentifier({\n      partnerId: partnerId,\n      marketId: marketId,\n    });\n  }\n\n  getStore(partnerId: string, marketId: string): Observable<GetStoreResponse> {\n    const req = new GetStoreRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n    });\n    return this.apiService.getStore(req);\n  }\n\n  updateStore(\n    partnerId: string,\n    marketId: string,\n    publicStoreSalesPersonId: string,\n    useCustomCategories: boolean,\n    fieldMask: FieldMask\n  ): Observable<{} | null> {\n    const req = new UpdateStoreRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      publicStoreSalesPersonId: publicStoreSalesPersonId,\n      useCustomCategories: useCustomCategories,\n      fieldMask: fieldMask,\n    });\n    return this.apiService.updateStore(req).pipe(map(() => null));\n  }\n\n  setStoreCategoryOrder(\n    partnerId: string,\n    marketId: string,\n    orderedCategoryIds: string[]\n  ): Observable<{} | null> {\n    const req = new SetStoreCategoryOrderRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      orderedCategoryIds: orderedCategoryIds,\n    });\n    return this.apiService.setStoreCategoryOrder(req).pipe(map(() => null));\n  }\n\n  createStoreCategory(\n    partnerId: string,\n    marketId: string,\n    name: string\n  ): Observable<Category> {\n    const req = new CreateStoreCategoryRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      name: name,\n    });\n    return this.apiService\n      .createStoreCategory(req)\n      .pipe(map((resp) => resp.category));\n  }\n\n  deleteStoreCategory(\n    partnerId: string,\n    marketId: string,\n    categoryId: string\n  ): Observable<{} | null> {\n    const req = new DeleteStoreCategoryRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      categoryId: categoryId,\n    });\n    return this.apiService.deleteStoreCategory(req).pipe(map(() => null));\n  }\n\n  getCategoriesForStore(\n    partnerId: string,\n    marketId: string\n  ): Observable<Category[]> {\n    const req = new GetCategoriesForStoreRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n    });\n    return this.apiService\n      .getCategoriesForStore(req)\n      .pipe(map((resp) => resp.categories));\n  }\n\n  updateStoreCategory(\n    partnerId: string,\n    marketId: string,\n    categoryId: string,\n    name: string,\n    visibleInStore: boolean,\n    fieldMask: FieldMask\n  ): Observable<{} | null> {\n    const req = new UpdateStoreCategoryRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      categoryId: categoryId,\n      name: name,\n      visibleInStore: visibleInStore,\n      fieldMask: fieldMask,\n    });\n    return this.apiService.updateStoreCategory(req).pipe(map(() => null));\n  }\n\n  listCategoriesForPackage(\n    partnerId: string,\n    marketId: string,\n    packageId: string\n  ): Observable<Category[]> {\n    const req = new ListCategoriesForPackageRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      packageId: packageId,\n    });\n    return this.apiService\n      .listCategoriesForPackage(req)\n      .pipe(map((resp) => resp.categories));\n  }\n\n  setPackagesInCategory(\n    partnerId: string,\n    marketId: string,\n    packageIds: string[],\n    categoryId: string\n  ): Observable<{} | null> {\n    const req = new SetPackagesInCategoryRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      packageIds: packageIds,\n      categoryId: categoryId,\n    });\n    return this.apiService.setPackagesInCategory(req).pipe(map(() => null));\n  }\n\n  setCategoriesForPackage(\n    partnerId: string,\n    marketId: string,\n    packageId: string,\n    categoryIds: string[]\n  ): Observable<{} | null> {\n    const req = new SetCategoriesForPackageRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      packageId: packageId,\n      categoryIds: categoryIds,\n    });\n    return this.apiService.setCategoriesForPackage(req).pipe(map(() => null));\n  }\n\n  getStoreWithCategories(\n    partnerId: string,\n    marketId: string,\n    bypassCache?: boolean,\n    getLegacyLmiCategories?: boolean\n  ): Observable<GetStoreWithCategoriesResponse> {\n    const r = new GetStoreWithCategoriesRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n      bypassCache: bypassCache,\n      getLegacyLmiCategories: getLegacyLmiCategories,\n    });\n    return this.apiService.getStoreWithCategories(r);\n  }\n\n  enableCustomCategoriesForStore(\n    partnerId: string,\n    marketId: string\n  ): Observable<Category[]> {\n    const r = new EnableCustomCategoriesForStoreRequest({\n      storeId: this.buildStoreIdentifier(partnerId, marketId),\n    });\n    return this.apiService\n      .enableCustomCategoriesForStore(r)\n      .pipe(map((resp) => resp.categories));\n  }\n\n  getPublicStoreTheme(\n    partnerID: string,\n    marketID: string\n  ): Observable<GetPublicStoreThemeResponse> {\n    const req = new GetPublicStoreThemeRequest({\n      storeId: new StoreIdentifier({\n        partnerId: partnerID,\n        marketId: marketID,\n      }),\n    });\n    return this.apiService.getPublicStoreTheme(req);\n  }\n\n  updatePublicStoreTheme(\n    partnerID: string,\n    marketID: string,\n    publicStoreTheme: PublicStoreTheme\n  ): Observable<HttpResponse<null>> {\n    const req = new UpdatePublicStoreThemeRequest({\n      storeId: new StoreIdentifier({\n        partnerId: partnerID,\n        marketId: marketID,\n      }),\n      publicStoreTheme: publicStoreTheme,\n    });\n    return this.apiService.updatePublicStoreTheme(req);\n  }\n\n  removeFromStore(\n    partnerID: string,\n    marketID: string,\n    productId: string\n  ): Observable<HttpResponse<null>> {\n    const req = new RemoveFromStoreRequest({\n      storeId: new StoreIdentifier({\n        partnerId: partnerID,\n        marketId: marketID,\n      }),\n      productReferenceId: productId,\n    });\n    return this.apiService.removeFromStore(req);\n  }\n\n  addToStore(\n    partnerID: string,\n    marketID: string,\n    appId: string\n  ): Observable<HttpResponse<null>> {\n    const req = new AddToStoreRequest({\n      storeId: new StoreIdentifier({\n        partnerId: partnerID,\n        marketId: marketID,\n      }),\n      appId: appId,\n    });\n    return this.apiService.addToStore(req);\n  }\n\n  addToStores(\n    partnerId: string,\n    storeIds: string[],\n    itemId: string\n  ): Observable<HttpResponse<null>> {\n    const req = new AddToStoresRequest({\n      partnerId: partnerId,\n      storeIds: storeIds,\n      itemId: itemId,\n    });\n    return this.apiService.addToStores(req);\n  }\n\n  checkProductVisibility(\n    partnerID: string,\n    marketID: string[],\n    appId: string\n  ): Observable<{ [marketId: string]: boolean }> {\n    const req = new CheckProductVisibilityRequest({\n      partnerId: partnerID,\n      marketIds: marketID,\n      productReferenceId: appId,\n    });\n    return this.apiService\n      .checkProductVisibility(req)\n      .pipe(map((resp) => resp.productVisibilty));\n  }\n\n  listProductsInStore(\n    partnerID: string,\n    storeID: string,\n    cursor: string,\n    pageSize: number,\n    filters: ListProductsInStoreFilters\n  ): Observable<ListProductsInStoreResponse> {\n    const req = new ListProductsInStoreRequest({\n      storeId: new StoreIdentifier({\n        partnerId: partnerID,\n        marketId: storeID,\n      }),\n      cursor: cursor,\n      pageSize: pageSize,\n      filters: filters,\n    });\n    return this.apiService.listProductsInStore(req);\n  }\n\n  listVisibleAddonsForProduct(\n    partnerID: string,\n    storeID: string,\n    cursor: string,\n    pageSize: number,\n    appID: string\n  ): Observable<ListVisibleAddonsForProductResponse> {\n    const req = new ListVisibleAddonsForProductRequest({\n      storeId: new StoreIdentifier({\n        partnerId: partnerID,\n        marketId: storeID,\n      }),\n      appId: appID,\n      cursor: cursor,\n      pageSize: pageSize,\n    });\n    return this.apiService.listVisibleAddonsForProduct(req);\n  }\n\n  listStorePricePreviews(\n    partnerID: string,\n    productID: string\n  ): Observable<StorePricePreviews[]> {\n    const req = new ListStorePricePreviewsRequest({\n      partnerId: partnerID,\n      productId: productID,\n    });\n    return this.apiService\n      .listStorePricePreviews(req)\n      .pipe(map((resp) => resp.previews));\n  }\n\n  getMultiStorePricePreviews(\n    partnerID: string,\n    productIDs: string[]\n  ): Observable<ProductPricePreviews[]> {\n    const req = new GetMultiStorePricePreviewsRequest({\n      partnerId: partnerID,\n      productIds: productIDs,\n    });\n    return this.apiService\n      .getMultiStorePricePreviews(req)\n      .pipe(map((resp) => resp.productPreviews));\n  }\n\n  listStoreProductVisibilitySummaries(\n    partnerId: string\n  ): Observable<Map<string, StoreProductVisibilitySummary>> {\n    const req = new ListStoreProductVisibilitySummariesRequest({\n      partnerId,\n    });\n    return this.apiService.listStoreProductVisibilitySummaries(req).pipe(\n      map((resp) => resp.summaries),\n      map((summaries) => {\n        const m = new Map<string, StoreProductVisibilitySummary>();\n        for (const k in summaries) {\n          if (summaries.hasOwnProperty(k)) {\n            m.set(k, summaries[k]);\n          }\n        }\n        return m;\n      })\n    );\n  }\n\n  hasPartnerSetStoreOrder(partnerId: string): Observable<boolean> {\n    const req = new HasPartnerSetStoreOrderRequest({\n      partnerId,\n    });\n    return this.apiService\n      .hasPartnerSetStoreOrder(req)\n      .pipe(map((resp) => resp.result));\n  }\n}\n","import { LmiCategories } from \"./_internal/index\";\n\nexport enum LMICategories {\n  NOT_SET = 0,\n  WEBSITE = 1,\n  CONTENT_AND_EXPERIENCE = 2,\n  LISTINGS = 3,\n  REPUTATION = 4,\n  SEO = 5,\n  SOCIAL = 6,\n  ADVERTISING = 7,\n}\n\nexport interface LmiCategory {\n  name: string;\n  categoryId: string;\n}\n\nexport interface LmiToEnum {\n  [categoryId: string]: LMICategories;\n}\n\n// converts lmi category ids to enum values\nexport const LMI_TO_ENUM_MAP: LmiToEnum = {\n  listings: LMICategories.LISTINGS,\n  social: LMICategories.SOCIAL,\n  reputation: LMICategories.REPUTATION,\n  seo: LMICategories.SEO,\n  website: LMICategories.WEBSITE,\n  advertising: LMICategories.ADVERTISING,\n  content_and_experience: LMICategories.CONTENT_AND_EXPERIENCE,\n};\n\n// converts lmi enum values to category objects based on the index of the array.\n// Note that this enum is shared by conversion functionality for mp-apps and packages\nexport const ENUM_TO_LMI_ARRAY = [\n  // first value represents the unset category, because of how proto enums work.\n  null,\n  { name: \"Website\", categoryId: \"website\" },\n  { name: \"Content & Experience\", categoryId: \"content_and_experience\" },\n  { name: \"Listings\", categoryId: \"listings\" },\n  { name: \"Reputation\", categoryId: \"reputation\" },\n  { name: \"SEO\", categoryId: \"seo\" },\n  { name: \"Social\", categoryId: \"social\" },\n  { name: \"Advertising\", categoryId: \"advertising\" },\n] as LmiCategory[];\n\n// list of all lmi categories\nexport const LMI_CATEGORIES: LmiCategory[] = [\n  { name: \"Listings\", categoryId: \"listings\" },\n  { name: \"Social\", categoryId: \"social\" },\n  { name: \"Reputation\", categoryId: \"reputation\" },\n  { name: \"SEO\", categoryId: \"seo\" },\n  { name: \"Website\", categoryId: \"website\" },\n  { name: \"Advertising\", categoryId: \"advertising\" },\n  { name: \"Content & Experience\", categoryId: \"content_and_experience\" },\n];\n\n// converts category id to lmi category\nexport const LMI_CATEGORY_MAP = LMI_CATEGORIES.reduce((previous, current) => {\n  previous[current.categoryId] = current;\n  return previous;\n}, {} as { [key: string]: LmiCategory });\n\nexport const sdkLmiEnumToStringMap = new Map<LmiCategories, string>([\n  [LmiCategories.ADVERTISING, \"Advertising\"],\n  [LmiCategories.CONTENT_AND_EXPERIENCE, \"Content and Experience\"],\n  [LmiCategories.LISTINGS, \"Listings\"],\n  [LmiCategories.REPUTATION, \"Reputation\"],\n  [LmiCategories.SEO, \"SEO\"],\n  [LmiCategories.SOCIAL, \"Social\"],\n  [LmiCategories.WEBSITE, \"Website\"],\n]);\n\n/**\n * converts lmi enum values to lmi category objects\n */\nexport function convertLmiEnumToCategoryObject(\n  categoryId: LMICategories\n): LmiCategory {\n  return ENUM_TO_LMI_ARRAY[categoryId];\n}\n\n/**\n * converts lmi enum values to the display string equivalent\n */\nexport function convertSDKLmiEnumToDisplayString(cat: LmiCategories): string {\n  return sdkLmiEnumToStringMap.get(cat)!;\n}\n\n/**\n * converts multiple sdk lmi enum values to display strings\n */\nexport function convertSDKLmiEnumsToDisplayStrings(\n  cats: LmiCategories[]\n): string[] {\n  return (cats || []).map((cat) => convertSDKLmiEnumToDisplayString(cat));\n}\n","import { CurrenciesCurrency as Currency } from './_internal/enums';\n\nexport function getCurrencyCode(currency: Currency, fallback?: string): string {\n  switch (currency) {\n    case Currency.USD:\n      return 'USD';\n    case Currency.AUD:\n      return 'AUD';\n    case Currency.BRL:\n      return 'BRL';\n    case Currency.CAD:\n      return 'CAD';\n    case Currency.CHF:\n      return 'CHF';\n    case Currency.CNY:\n      return 'CNY';\n    case Currency.CZK:\n      return 'CZK';\n    case Currency.EUR:\n      return 'EUR';\n    case Currency.GBP:\n      return 'GBP';\n    case Currency.HKD:\n      return 'HKD';\n    case Currency.INR:\n      return 'INR';\n    case Currency.JPY:\n      return 'JPY';\n    case Currency.KHR:\n      return 'KHR';\n    case Currency.KRW:\n      return 'KRW';\n    case Currency.MXN:\n      return 'MXN';\n    case Currency.NOK:\n      return 'NOK';\n    case Currency.NZD:\n      return 'NZD';\n    case Currency.RUB:\n      return 'RUB';\n    case Currency.SEK:\n      return 'SEK';\n    case Currency.SGD:\n      return 'SGD';\n    case Currency.TRY:\n      return 'TRY';\n    case Currency.ZAR:\n      return 'ZAR';\n    case Currency.DZD:\n      return 'DZD';\n    case Currency.AWG:\n      return 'AWG';\n    case Currency.FJD:\n      return 'FJD';\n    case Currency.KYD:\n      return 'KYD';\n    default:\n      if (fallback !== undefined) {\n        return fallback;\n      }\n      // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n      throw new Error(`Unexpected currency enumeration: ${currency}`);\n  }\n}\n","import { Injectable } from \"@angular/core\";\nimport { AppPartnerSettingsApiService } from \"./_internal/app-partner-settings.api.service\";\nimport { RetailPrice } from \"./_internal/objects/retail-price\";\nimport {\n  PartnerMarketContainer,\n  GetRetailPriceRequest,\n  CreateOrUpdateRetailPriceRequest,\n  DeleteRetailPriceRequest,\n  ProductIdentifier,\n  GetMultiRetailPriceRequest,\n  GetMultiRetailPriceResponseRetailPriceResponse,\n  ConvertRetailPricesForMarketRequest,\n} from \"./_internal/objects/app-partner-settings-api\";\nimport { Observable, throwError } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { HttpErrorResponse, HttpResponse } from \"@angular/common/http\";\n\n@Injectable({ providedIn: \"root\" })\nexport class AppPartnerSettingsService {\n  constructor(private apiService: AppPartnerSettingsApiService) {}\n\n  private _buildGetRetailPrice(\n    appId: string,\n    businessIdentifier: PartnerMarketContainer | string,\n    editionId?: string,\n    dontUseMsrp: boolean = false\n  ): GetRetailPriceRequest | null {\n    if (!appId || !businessIdentifier) {\n      return null;\n    }\n\n    const r = new GetRetailPriceRequest();\n    r.appId = appId;\n    r.editionId = editionId!;\n    r.dontUseMsrp = dontUseMsrp;\n    if (businessIdentifier instanceof PartnerMarketContainer) {\n      if (businessIdentifier.partnerId) {\n        r.partnerMarket = new PartnerMarketContainer();\n        r.partnerMarket.partnerId = businessIdentifier.partnerId;\n        r.partnerMarket.marketId = businessIdentifier.marketId;\n        return r;\n      }\n      return null;\n    } else {\n      r.businessId = businessIdentifier;\n      return r;\n    }\n    return null;\n  }\n\n  private _buildGetMultiRetailPrice(\n    businessIdentifier: PartnerMarketContainer | string,\n    productIds: ProductIdentifier[]\n  ): GetMultiRetailPriceRequest {\n    const r = new GetMultiRetailPriceRequest({\n      productIds,\n    });\n    if (businessIdentifier instanceof PartnerMarketContainer) {\n      r.partnerMarket = businessIdentifier;\n    } else {\n      r.businessId = businessIdentifier;\n    }\n    return r;\n  }\n\n  /*\n    @params:\n      - appId: represents id of the app to get the retail price for.\n      - businessIdentifier: is either a string representing the business id, or object containing the partner/market ids\n      that a busines maps too. note that if you don't pass either the businessId container or the partner/market ids container\n      you will receive an error event of type HttpErrorResponse. This response will contain a 404 code.\n      - editionId (optional): is the edition id of the app to fetch the retail price for.\n      - dontUseMsrp (optional): option to bypass msrp from apps. If set to true, msrp from apps will not be used if retail\n      price information is not available. Default is false.\n    @returns: an observable of the RetailPrice definition, or an observable containing and HttpErrorResponse\n  */\n  getRetailPrice(\n    appId: string,\n    businessIdentifier: PartnerMarketContainer | string,\n    editionId?: string,\n    dontUseMsrp?: boolean\n  ): Observable<RetailPrice> {\n    const r = this._buildGetRetailPrice(\n      appId,\n      businessIdentifier,\n      editionId,\n      dontUseMsrp\n    );\n    if (!r) {\n      const e = new HttpErrorResponse({\n        status: 404,\n        statusText:\n          \"You must either pass in a partner Id with an optional market Id in an object or a business Id in an object\",\n      });\n      return throwError(e);\n    }\n    return this.apiService\n      .getRetailPrice(r)\n      .pipe(map((resp) => (resp || { retailPrice: null }).retailPrice));\n  }\n\n  /**\n   * @param businessIdentifier - either a string representing the business id, or object containing the partner/market ids that the business\n   *    belongs to\n   * @param productIds - the list of app/edition ID combinations to get the retail price for\n   */\n  getMultiRetailPrice(\n    businessIdentifier: PartnerMarketContainer | string,\n    productIds: ProductIdentifier[]\n  ): Observable<GetMultiRetailPriceResponseRetailPriceResponse[]> {\n    const r = this._buildGetMultiRetailPrice(businessIdentifier, productIds);\n    return this.apiService\n      .getMultiRetailPrice(r)\n      .pipe(map((resp) => resp.retailPrices));\n  }\n\n  /*\n    @params:\n      - appId: represents id of the app to set the retail price for.\n      - partnerId: the id of the partner to associated this retail price.\n      - retailPrice: the retail price to be set for the app.\n      - editionId (optional): is the edition id of the app to set the retail price for.\n      - marketId (optional): is a sub group nested under the partner corresponding to partnerId.\n\n    @returns: an observable of the RetailPrice definition.\n  */\n  createOrUpdateRetailPrice(\n    appId: string,\n    partnerId: string,\n    retailPrice: RetailPrice,\n    editionId?: string,\n    marketId?: string\n  ): Observable<RetailPrice> {\n    const req = new CreateOrUpdateRetailPriceRequest();\n    req.appId = appId;\n    req.editionId = editionId!;\n    req.partnerId = partnerId;\n    req.marketId = marketId!;\n    req.retailPrice = retailPrice;\n\n    return this.apiService\n      .createOrUpdateRetailPrice(req)\n      .pipe(map((resp) => (resp || { retailPrice: null }).retailPrice));\n  }\n\n  /*\n      @params:\n        - appId: represents id of the app to delete the retail price information.\n        - partnerId: the id of the partner to which the retail price is associated.\n        - editionId (optional): is the edition id of the app to delete the retail price information.\n        - marketId (optional): is a sub group nested under the partner corresponding to partnerId.\n      @returns: an observable of HttpErrorResponse\n    */\n  deleteRetailPrice(\n    appId: string,\n    partnerId: string,\n    editionId?: string,\n    marketId?: string\n  ): Observable<HttpResponse<null>> {\n    const req = new DeleteRetailPriceRequest();\n    req.appId = appId;\n    req.editionId = editionId!;\n    req.partnerId = partnerId;\n    req.marketId = marketId!;\n\n    return this.apiService.deleteRetailPrice(req);\n  }\n\n  convertRetailPricesForMarket(\n    partnerId: string,\n    marketId: string,\n    currency: string,\n    conversionRate: number\n  ): Observable<HttpResponse<null>> {\n    const req = new ConvertRetailPricesForMarketRequest();\n    req.partnerMarket = new PartnerMarketContainer();\n    req.partnerMarket.marketId = marketId;\n    req.partnerMarket.partnerId = partnerId;\n    req.currency = currency;\n    req.conversionRate = conversionRate;\n\n    return this.apiService.convertRetailPricesForMarket(req);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { ShoppingCartApiService } from './_internal/shopping-cart.api.service';\nimport {\n  AddMultiToShoppingCartRequest,\n  AddToShoppingCartRequest,\n  ClearShoppingCartRequest,\n  GetShoppingCartRequest,\n  RemoveFromShoppingCartRequest,\n  RemoveMultiFromShoppingCartRequest,\n  ShoppingCart,\n  UpdateItemQuantityRequest,\n  AddMultiToShoppingCartRequestItem,\n} from './_internal/objects';\nimport { ShoppingCartItemType } from './_internal/enums';\nimport { Observable } from 'rxjs'\nimport { map } from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ShoppingCartService {\n\n  constructor(private apiService: ShoppingCartApiService) {}\n\n  getShoppingCart(businessId: string): Observable<ShoppingCart> {\n    const req = new GetShoppingCartRequest({businessId: businessId});\n    return this.apiService.getShoppingCart(req).pipe(\n      map(resp => resp.cart),\n    );\n  }\n\n  addToShoppingCart(businessId: string, itemId: string, itemType: ShoppingCartItemType, editionId?: string): Observable<ShoppingCart> {\n    const req = new AddToShoppingCartRequest({\n      businessId,\n      itemId,\n      editionId,\n      itemType,\n    });\n    return this.apiService.addToShoppingCart(req).pipe(\n      map(resp => resp.cart),\n    );\n  }\n\n  addMultiToShoppingCart(businessId: string, items: AddMultiToShoppingCartRequestItem[]): Observable<ShoppingCart> {\n    const req = new AddMultiToShoppingCartRequest({\n      businessId,\n      items,\n    });\n    return this.apiService.addMultiToShoppingCart(req).pipe(\n        map(resp => resp.cart),\n    );\n  }\n\n  updateItemQuantity(businessID: string, itemID: string, quantity: number): Observable<ShoppingCart> {\n      const req = new UpdateItemQuantityRequest({businessId: businessID, itemId: itemID, quantity: quantity});\n      return this.apiService.updateItemQuantity(req).pipe(\n          map(resp => resp.cart)\n      );\n  }\n\n  removeFromShoppingCart(businessId: string, itemId: string): Observable<ShoppingCart> {\n    const req = new RemoveFromShoppingCartRequest({businessId: businessId, itemId: itemId});\n    return this.apiService.removeFromShoppingCart(req).pipe(\n      map(resp => resp.cart),\n    );\n  }\n\n  removeMultiFromShoppingCart(businessId: string, itemIds: string[]): Observable<ShoppingCart> {\n    const req = new RemoveMultiFromShoppingCartRequest({\n      businessId,\n      itemIds,\n    });\n    return this.apiService.removeMultiFromShoppingCart(req).pipe(\n        map(resp => resp.cart),\n    );\n  }\n\n  clearShoppingCart(businessId: string): Observable<ShoppingCart> {\n    const req = new ClearShoppingCartRequest({businessId: businessId});\n    return this.apiService.clearShoppingCart(req).pipe(\n      map(resp => resp.cart),\n    );\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { BuyItNowApiService } from './_internal/buy-it-now.api.service';\nimport {\n  BuyItNowLink,\n  GenerateBuyItNowLinkRequest,\n  GenerateBuyItNowLinkResponse,\n  GetBuyItNowLinkByLinkIDRequest\n} from './_internal/objects';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class BuyItNowService {\n    constructor(private apiService: BuyItNowApiService) {\n    }\n\n    generateBuyItNowLink(accountGroupID: string, userID: string, packageID: string): Observable<GenerateBuyItNowLinkResponse> {\n        const req = new GenerateBuyItNowLinkRequest({\n            accountGroupId: accountGroupID,\n            userId: userID,\n            packageId: packageID\n        });\n        return this.apiService.generateBuyItNowLink(req);\n    }\n\n    getBuyItNowLinkByLinkID(linkID: string): Observable<BuyItNowLink> {\n        const req = new GetBuyItNowLinkByLinkIDRequest({\n            linkId: linkID\n        });\n        return this.apiService.getBuyItNowLinkByLinkId(req).pipe(\n            map(resp => resp.link)\n        );\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["AppType","enumStringToValue","PermissionLists","e.CurrenciesCurrency","e.ServiceModelType","e.LmiCategories","e.State","e.FrequenciesFrequency","e.StatusesStatus","e.PricingDisplayOption","e.LineItemDisplayOption","e.ProductPricingType","ActivatableApp","e.DiscoverProductSortOrderType","e.AppType","e.StateFilterOptions","e.AppEnablementStatusesAppEnablementStatus","e.PermissionsListType","e.ShoppingCartItemType","i1.MarketplacePackagesApiService","Currency","Frequency","observableOf","ListDistributedAppIdsRequestFilters","SharedAppType","i1.MarketplaceStoreApiService","i1.AppPartnerSettingsApiService","i1.ShoppingCartApiService","i1.BuyItNowApiService"],"mappings":"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"}