@startuml
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 class identityOptions {
  signingIdentity msp.SigningIdentity
  orgName string
  username string
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 class defPkgSuite {
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 class FabricSDK {
  opts options
  provider *context.Provider
  cryptoSuite core.CryptoSuite
  system *operations.System
  clientMetrics *metrics.ClientMetrics
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 class configs {
  cryptoSuiteConfig core.CryptoSuiteConfig
  endpointConfig fab.EndpointConfig
  identityConfig msp.IdentityConfig
  metricsConfig metricsCfg.MetricsConfig
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 class options {
  Core sdkApi.CoreProviderFactory
  MSP sdkApi.MSPProviderFactory
  Service sdkApi.ServiceProviderFactory
  Logger api.LoggerProvider
  CryptoSuiteConfig core.CryptoSuiteConfig
  endpointConfig fab.EndpointConfig
  IdentityConfig msp.IdentityConfig
  ConfigBackend []core.ConfigBackend
  ProviderOpts []coptions.Opt
  metricsConfig metricsCfg.MetricsConfig
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defcore {
 class ProviderFactory {
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defmsp {
 class ProviderFactory {
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defsvc {
 class ProviderFactory {
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 class OperationConfig {
  TLSEnabled bool
  ClientAuthRequired bool
  ListenAddress string
  TLSCertFile string
  TLSKeyFile string
  ClientRootCAs []string
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 class MetricConfig {
  Provider string
  Statsd Statsd
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 class Statsd {
  Network string
  Address string
  WriteInterval time.Duration
  Prefix string
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 class MetricsConfigImpl {
  backend *lookup.ConfigLookup
  OperationConfig
  MetricConfig
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 class OperationsConfigOptions {
  operation
  metricCfg
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 class setter {
  isSet bool
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics {
 class ClientMetrics {
  QueriesReceived metrics.Counter
  QueriesFailed metrics.Counter
  QueryDuration metrics.Histogram
  QueryTimeouts metrics.Counter
  ExecutionsReceived metrics.Counter
  ExecutionsFailed metrics.Counter
  ExecutionDuration metrics.Histogram
  ExecutionTimeouts metrics.Counter
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class ctxtCacheKey {
  key string
  context fab.ClientContext  //ClientContext interface（） instance
  String() string //return key
} 
}

// ClientContext contains the client context
type ClientContext interface {
	core.Providers
	msp.Providers
	Providers
	msp.SigningIdentity
}

namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class cacheKey {
  channelConfig fab.ChannelCfg  //ChannelCfg interface instance
  String() string  //return channelId
}
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class eventCacheKey {
  key string
  channelConfig fab.ChannelCfg //ChannelCfg interface instance
  opts []options.Opt
  String() string //return key
  Opts() []options.Opt  //return opts

} 
}

{
// ChannelCfg contains channel configuration
}
type ChannelCfg interface {
	ID() string
	BlockNumber() uint64
	MSPs() []*mspCfg.MSPConfig
	AnchorPeers() []*OrgAnchorPeer
	Orderers() []string
	Versions() *Versions
	HasCapability(group ConfigGroupKey, capability string) bool
}
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class params {
  permitBlockEvents bool  //是否允许blockevents
  PermitBlockEvents()   //设置（set） permitBlockEvents is true
  getOptKey() string   // return permitBlockEvents
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class ChannelProvider {
  providerContext context.Providers Providers interface instance
  ctxtCaches *lazycache.Cache
  Initialize(providers context.Providers) error //set providerContext
  Close() //ctxtCaches.close
  CloseContext(ctx fab.ClientContext)  //ctxtCaches.delete(ctxkey)
  ChannelService(ctx fab.ClientContext, channelID string) (fab.ChannelService, error) //creates a ChannelService for an identity
} 
}
// Providers represents the SDK configured providers context.
type Providers interface {
	core.Providers
	msp.Providers
	fab.Providers
}

namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class ChannelService {
  provider *ChannelProvider
  context context.Client
  channelID string
  ctxtCache *contextCache
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class contextCache {
  ctx fab.ClientContext ClientContext interface instance
  eventServiceCache cache
  discoveryServiceCache cache
  selectionServiceCache cache
  chCfgCache cache
  membershipCache cache
  Close()  //execute all  cache.close
} 
}

// ClientContext contains the client context
type ClientContext interface {
	core.Providers
	msp.Providers
	Providers
	msp.SigningIdentity
}

namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class EventClientRef {
  ref *lazyref.Reference
  provider eventClientProvider
  eventClient fab.EventClient
  closed int32
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 class chCfgCache {
  cfgMap sync.Map
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\fabpvdr {
 class InfraProvider {
  providerContext context.Providers
  commManager *comm.CachingConnector
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\msppvdr {
 class MSPProvider {
  providerContext core.Providers
  userStore msp.UserStore
  identityManager map[string]msp.IdentityManager
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi {
 class MockCoreProviderFactory {
  ctrl *gomock.Controller
  recorder *MockCoreProviderFactoryMockRecorder
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi {
 class MockCoreProviderFactoryMockRecorder {
  mock *MockCoreProviderFactory
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi {
 class MockMSPProviderFactory {
  ctrl *gomock.Controller
  recorder *MockMSPProviderFactoryMockRecorder
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi {
 class MockMSPProviderFactoryMockRecorder {
  mock *MockMSPProviderFactory
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi {
 class MockServiceProviderFactory {
  ctrl *gomock.Controller
  recorder *MockServiceProviderFactoryMockRecorder
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi {
 class MockServiceProviderFactoryMockRecorder {
  mock *MockServiceProviderFactory
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api {
 interface Providers  {
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api {
 interface CoreProviderFactory  {
  CreateCryptoSuiteProvider(config core.CryptoSuiteConfig)(core.CryptoSuite,error)
  CreateSigningManager(cryptoProvider core.CryptoSuite)(core.SigningManager,error)
  CreateInfraProvider(config fab.EndpointConfig)(fab.InfraProvider,error)
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api {
 interface MSPProviderFactory  {
  CreateUserStore(config msp.IdentityConfig)(msp.UserStore,error)
  CreateIdentityManagerProvider(config fab.EndpointConfig,cryptoProvider core.CryptoSuite,userStore msp.UserStore)(msp.IdentityManagerProvider,error)
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api {
 interface ServiceProviderFactory  {
  CreateLocalDiscoveryProvider(config fab.EndpointConfig)(fab.LocalDiscoveryProvider,error)
  CreateChannelProvider(config fab.EndpointConfig,opts ... options.Opt)(fab.ChannelProvider,error)
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 interface closeable  {
  Close()
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 interface contextCloseable  {
  CloseContext(ctxt fab.ClientContext)
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 interface providerInit  {
  Initialize(providers contextApi.Providers)error
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 interface errHandlerSetter  {
  SetErrorHandler(value fab.ErrorHandler)
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk {
 interface pkgSuite  {
  Core()(sdkApi.CoreProviderFactory,error)
  MSP()(sdkApi.MSPProviderFactory,error)
  Service()(sdkApi.ServiceProviderFactory,error)
  Logger()(api.LoggerProvider,error)
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 interface MetricsConfig  {
  OperationCfg()OperationConfig
  MetricCfg()MetricConfig
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 interface operation  {
  OperationCfg()OperationConfig
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg {
 interface metricCfg  {
  MetricCfg()MetricConfig
} 
}
namespace github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr {
 interface cache  {
  Get(lazycache.Key,... interface  { })(interface  { },error)
  Close()
} 
}
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.FabricSDK ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.options : opts
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.FabricSDK ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics.ClientMetrics : clientMetrics
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricConfig ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.Statsd : Statsd
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricsConfigImpl -|> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.OperationConfig
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricsConfigImpl -|> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricConfig
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.ChannelService ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.ChannelProvider : provider
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.ChannelService ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.contextCache : ctxtCache
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockCoreProviderFactory ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockCoreProviderFactoryMockRecorder : recorder
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockCoreProviderFactoryMockRecorder ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockCoreProviderFactory : mock
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockMSPProviderFactory ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockMSPProviderFactoryMockRecorder : recorder
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockMSPProviderFactoryMockRecorder ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockMSPProviderFactory : mock
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockServiceProviderFactory ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockServiceProviderFactoryMockRecorder : recorder
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockServiceProviderFactoryMockRecorder ---> github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockServiceProviderFactory : mock
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.identityOptions
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.defPkgSuite
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.FabricSDK
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.configs
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.options
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defcore.ProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defmsp.ProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defsvc.ProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.OperationConfig
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricConfig
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.Statsd
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricsConfigImpl
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.OperationsConfigOptions
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.setter
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics.ClientMetrics
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.ctxtCacheKey
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.cacheKey
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.eventCacheKey
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.params
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.ChannelProvider
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.ChannelService
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.contextCache
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.EventClientRef
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.chCfgCache
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\fabpvdr.InfraProvider
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\msppvdr.MSPProvider
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockCoreProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockCoreProviderFactoryMockRecorder
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockMSPProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockMSPProviderFactoryMockRecorder
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockServiceProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.Providers <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockServiceProviderFactoryMockRecorder
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.CoreProviderFactory <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defcore.ProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.CoreProviderFactory <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockCoreProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.MSPProviderFactory <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defmsp.ProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.MSPProviderFactory <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockMSPProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.ServiceProviderFactory <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\factory\\defsvc.ProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\api.ServiceProviderFactory <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\test\\mocksdkapi.MockServiceProviderFactory
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.closeable <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.FabricSDK
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.closeable <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.ChannelProvider
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.closeable <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.contextCache
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.closeable <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.EventClientRef
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.closeable <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.chCfgCache
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.closeable <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\fabpvdr.InfraProvider
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.contextCloseable <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.FabricSDK
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.contextCloseable <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.ChannelProvider
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.providerInit <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\fabpvdr.InfraProvider
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.pkgSuite <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk.defPkgSuite
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricsConfig <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricsConfigImpl
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.operation <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricsConfigImpl
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.metricCfg <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\metrics\\cfg.MetricsConfigImpl
github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.cache <|- github.com\\fabric_sdk_sample\\fabric_sdk_go\\pkg\\fabsdk\\provider\\chpvdr.chCfgCache
@enduml