(function (_, kotlin_kotlin, kotlin_org_kodein_type_kaverit) { 'use strict'; //region block: imports var imul = Math.imul; var protoOf = kotlin_kotlin.$_$.xc; var classMeta = kotlin_kotlin.$_$.mb; var setMetadataFor = kotlin_kotlin.$_$.yc; var VOID = kotlin_kotlin.$_$.f; var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.v; var first = kotlin_kotlin.$_$.q7; var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m; var Unit_instance = kotlin_kotlin.$_$.n5; var filterNotNull = kotlin_kotlin.$_$.n7; var sorted = kotlin_kotlin.$_$.q9; var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.f1; var repeat = kotlin_kotlin.$_$.uf; var ensureNotNull = kotlin_kotlin.$_$.aj; var KProperty1 = kotlin_kotlin.$_$.wd; var getPropertyCallableRef = kotlin_kotlin.$_$.vb; var objectMeta = kotlin_kotlin.$_$.wc; var toString = kotlin_kotlin.$_$.nj; var Companion_getInstance = kotlin_org_kodein_type_kaverit.$_$.a; var equals = kotlin_kotlin.$_$.pb; var objectCreate = kotlin_kotlin.$_$.vc; var RuntimeException = kotlin_kotlin.$_$.hi; var RuntimeException_init_$Init$ = kotlin_kotlin.$_$.m2; var captureStack = kotlin_kotlin.$_$.gb; var hashCode = kotlin_kotlin.$_$.xb; var THROW_CCE = kotlin_kotlin.$_$.ii; var interfaceMeta = kotlin_kotlin.$_$.yb; var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.a2; var getBooleanHashCode = kotlin_kotlin.$_$.sb; var getStringHashCode = kotlin_kotlin.$_$.wb; var TypeToken = kotlin_org_kodein_type_kaverit.$_$.b; var isInterface = kotlin_kotlin.$_$.hc; var joinToString = kotlin_kotlin.$_$.b8; var erasedOf = kotlin_org_kodein_type_kaverit.$_$.c; var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.l; var toString_0 = kotlin_kotlin.$_$.cd; var HashSet_init_$Create$ = kotlin_kotlin.$_$.s; var HashMap_init_$Create$ = kotlin_kotlin.$_$.p; var addAll = kotlin_kotlin.$_$.f6; var collectionSizeOrDefault = kotlin_kotlin.$_$.o6; var charSequenceLength = kotlin_kotlin.$_$.kb; var Enum = kotlin_kotlin.$_$.vh; var Map = kotlin_kotlin.$_$.z5; var listOf = kotlin_kotlin.$_$.l8; var plus = kotlin_kotlin.$_$.a9; var emptyList = kotlin_kotlin.$_$.j7; var plus_0 = kotlin_kotlin.$_$.b9; var checkIndexOverflow = kotlin_kotlin.$_$.m6; var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.u2; var mapCapacity = kotlin_kotlin.$_$.n8; var coerceAtLeast = kotlin_kotlin.$_$.kd; var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.u; var to = kotlin_kotlin.$_$.oj; var KProperty0 = kotlin_kotlin.$_$.vd; var lazy = kotlin_kotlin.$_$.gj; var asSequence = kotlin_kotlin.$_$.i6; var filter = kotlin_kotlin.$_$.ce; var flatMap = kotlin_kotlin.$_$.ee; var mapNotNull = kotlin_kotlin.$_$.he; var map = kotlin_kotlin.$_$.ie; var toList = kotlin_kotlin.$_$.oe; var Triple = kotlin_kotlin.$_$.li; var ArrayList_init_$Create$_1 = kotlin_kotlin.$_$.n; var HashMap_init_$Create$_0 = kotlin_kotlin.$_$.q; var Collection = kotlin_kotlin.$_$.q5; var getOrNull = kotlin_kotlin.$_$.u7; //endregion //region block: pre-declaration setMetadataFor(DIDefining, 'DIDefining', classMeta); setMetadataFor(DIDefinition, 'DIDefinition', classMeta, DIDefining); setMetadataFor(NonCached, 'NonCached', objectMeta); setMetadataFor(ImplWithScope, 'ImplWithScope', classMeta); setMetadataFor(DependencyLoopException, 'DependencyLoopException', classMeta, RuntimeException); setMetadataFor(NotFoundException, 'NotFoundException', classMeta, RuntimeException); setMetadataFor(OverridingException, 'OverridingException', classMeta, RuntimeException); setMetadataFor(Key, 'Key', classMeta); function constant$default(tag, overrides, $super) { overrides = overrides === VOID ? null : overrides; return $super === VOID ? this.j57(tag, overrides) : $super.j57.call(this, tag, overrides); } function import$default(module_0, allowOverride, $super) { allowOverride = allowOverride === VOID ? false : allowOverride; var tmp; if ($super === VOID) { this.l57(module_0, allowOverride); tmp = Unit_instance; } else { tmp = $super.l57.call(this, module_0, allowOverride); } return tmp; } setMetadataFor(Builder, 'Builder', interfaceMeta); function extend$default(di, allowOverride, copy, $super) { allowOverride = allowOverride === VOID ? false : allowOverride; copy = copy === VOID ? NonCached_instance : copy; var tmp; if ($super === VOID) { this.o57(di, allowOverride, copy); tmp = Unit_instance; } else { tmp = $super.o57.call(this, di, allowOverride, copy); } return tmp; } setMetadataFor(MainBuilder, 'MainBuilder', interfaceMeta, VOID, [Builder]); setMetadataFor(Module, 'Module', classMeta); setMetadataFor(Companion, 'Companion', objectMeta); function get_diContext() { return get_AnyDIContext(); } function get_diTrigger() { return null; } setMetadataFor(DIAware, 'DIAware', interfaceMeta); function get_di() { return this; } setMetadataFor(DI, 'DI', interfaceMeta, VOID, [DIAware]); setMetadataFor(DIContext, 'DIContext', interfaceMeta); setMetadataFor(Value, 'Value', classMeta, VOID, [DIContext]); setMetadataFor(Companion_0, 'Companion', objectMeta); setMetadataFor(DIWrapper, 'DIWrapper', classMeta, VOID, [DI]); setMetadataFor(Contexes, 'Contexes', objectMeta); function factory$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.j58(key, context, overrideLevel) : $super.j58.call(this, key, context, overrideLevel); } function factoryOrNull$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.l58(key, context, overrideLevel) : $super.l58.call(this, key, context, overrideLevel); } function provider(key, context, overrideLevel) { // Inline function 'org.kodein.di.toProvider' call var this_0 = this.k58(key, context); return DIContainer$provider$lambda(this_0); } function provider$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.n58(key, context, overrideLevel) : provider(key, context, overrideLevel); } function providerOrNull(key, context, overrideLevel) { var tmp0_safe_receiver = this.m58(key, context); var tmp; if (tmp0_safe_receiver == null) { tmp = null; } else { // Inline function 'org.kodein.di.toProvider' call tmp = DIContainer$providerOrNull$lambda(tmp0_safe_receiver); } return tmp; } function providerOrNull$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.o58(key, context, overrideLevel) : providerOrNull(key, context, overrideLevel); } setMetadataFor(DIContainer, 'DIContainer', interfaceMeta); function find$default(key, overrideLevel, all, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; all = all === VOID ? false : all; return $super === VOID ? this.r58(key, overrideLevel, all) : $super.r58.call(this, key, overrideLevel, all); } setMetadataFor(DITree, 'DITree', interfaceMeta); function get_di_0() { return this.v58(); } setMetadataFor(DirectDIBase, 'DirectDIBase', interfaceMeta); setMetadataFor(NoDefinedTag, 'NoDefinedTag', objectMeta); setMetadataFor(SearchSpecs, 'SearchSpecs', classMeta, VOID, VOID, SearchSpecs); setMetadataFor(NoArgBindingDIWrap, 'NoArgBindingDIWrap', classMeta, VOID, [DirectDIBase]); setMetadataFor(ErasedContext, 'ErasedContext', objectMeta, VOID, [DIContext]); setMetadataFor(DIBinding$Copier$Companion$invoke$1, VOID, classMeta); setMetadataFor(Companion_1, 'Companion', objectMeta); function factoryFullName() { return this.i59(); } function get_scope() { return null; } function get_description() { var arg = !equals(this.k59(), Companion_getInstance().k55_1) ? this.k59().m55() + ' -> ' : ''; var tmp; var tmp_0 = this.w56(); if (tmp_0 instanceof NoScope) { tmp = null; } else { tmp = this.w56(); } var scope = tmp; var tmp_1; if (scope == null) { tmp_1 = null; } else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.DIBinding..' call tmp_1 = 'scoped(' + erasedOf(scope).m55() + ').'; } var tmp1_elvis_lhs = tmp_1; var context = tmp1_elvis_lhs == null ? !equals(this.v56(), Companion_getInstance().l55_1) ? 'contexted<' + this.v56().m55() + '>().' : '' : tmp1_elvis_lhs; return context + this.i59() + ' { ' + arg + this.l59().m55() + ' }'; } function get_fullDescription() { var arg = !equals(this.k59(), Companion_getInstance().k55_1) ? this.k59().o55() + ' -> ' : ''; var tmp; var tmp_0 = this.w56(); if (tmp_0 instanceof NoScope) { tmp = null; } else { tmp = this.w56(); } var scope = tmp; var tmp_1; if (scope == null) { tmp_1 = null; } else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.DIBinding..' call tmp_1 = 'scoped(' + erasedOf(scope).o55() + ').'; } var tmp1_elvis_lhs = tmp_1; var context = tmp1_elvis_lhs == null ? !equals(this.v56(), Companion_getInstance().l55_1) ? 'contexted<' + this.v56().o55() + '>().' : '' : tmp1_elvis_lhs; return context + this.j59() + ' { ' + arg + this.l59().o55() + ' }'; } function get_copier() { return null; } function get_supportSubTypes() { return false; } setMetadataFor(DIBinding, 'DIBinding', interfaceMeta); function get_argType() { return Companion_getInstance().k55_1; } setMetadataFor(NoArgDIBinding, 'NoArgDIBinding', interfaceMeta, VOID, [DIBinding]); setMetadataFor(SingletonReference, 'SingletonReference', objectMeta); setMetadataFor(Reference, 'Reference', classMeta); setMetadataFor(ScopeRegistry, 'ScopeRegistry', classMeta); setMetadataFor(StandardScopeRegistry, 'StandardScopeRegistry', classMeta, ScopeRegistry, VOID, StandardScopeRegistry); setMetadataFor(ContextTranslator, 'ContextTranslator', interfaceMeta); setMetadataFor(SimpleContextTranslator, 'SimpleContextTranslator', classMeta, VOID, [ContextTranslator]); setMetadataFor(NoScope, 'NoScope', classMeta, VOID, VOID, NoScope); setMetadataFor(CompositeContextTranslator, 'CompositeContextTranslator', classMeta, VOID, [ContextTranslator]); setMetadataFor(Singleton, 'Singleton', classMeta, VOID, [NoArgDIBinding]); setMetadataFor(Provider, 'Provider', classMeta, VOID, [NoArgDIBinding]); setMetadataFor(ScopeKey, 'ScopeKey', classMeta); setMetadataFor(InstanceBinding, 'InstanceBinding', classMeta, VOID, [NoArgDIBinding]); setMetadataFor(DIBuilderImpl, 'DIBuilderImpl', classMeta, VOID, [Builder]); setMetadataFor(DIMainBuilderImpl, 'DIMainBuilderImpl', classMeta, DIBuilderImpl, [DIBuilderImpl, MainBuilder]); setMetadataFor(TypeBinder, 'TypeBinder', classMeta); setMetadataFor(ConstantBinder, 'ConstantBinder', classMeta); setMetadataFor(OverrideMode, 'OverrideMode', classMeta, Enum); setMetadataFor(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT, 'ALLOW_SILENT', classMeta, OverrideMode); setMetadataFor(DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT, 'ALLOW_EXPLICIT', classMeta, OverrideMode); setMetadataFor(DIContainerBuilderImpl$OverrideMode$FORBID, 'FORBID', classMeta, OverrideMode); setMetadataFor(Companion_2, 'Companion', objectMeta); setMetadataFor(DIContainerBuilderImpl, 'DIContainerBuilderImpl', classMeta); setMetadataFor(Node, 'Node', classMeta); setMetadataFor(DIContainerImpl, 'DIContainerImpl', classMeta, VOID, [DIContainer]); setMetadataFor(Companion_3, 'Companion', objectMeta); setMetadataFor(DIImpl, 'DIImpl', classMeta, VOID, [DI]); setMetadataFor(BindingDIImpl, 'BindingDIImpl', classMeta, VOID, [DirectDIBase]); setMetadataFor(DITreeImpl, 'DITreeImpl', classMeta, VOID, [DITree]); setMetadataFor(TypeChecker, 'TypeChecker', classMeta); setMetadataFor(Down, 'Down', classMeta, TypeChecker); setMetadataFor(Up, 'Up', classMeta, TypeChecker); setMetadataFor(DirectDIBaseImpl, 'DirectDIBaseImpl', classMeta, VOID, [DirectDIBase]); setMetadataFor(DIProperty, 'DIProperty', classMeta); setMetadataFor(DirectDIImpl, 'DirectDIImpl', classMeta, DirectDIBaseImpl, [DirectDIBaseImpl, DirectDIBase]); //endregion function DIDefinition(binding, fromModule, tree) { DIDefining.call(this, binding, fromModule); this.e56_1 = tree; } function description(_this__u8e3s4, withOverrides, ident) { withOverrides = withOverrides === VOID ? false : withOverrides; ident = ident === VOID ? 8 : ident; return descriptionImpl(_this__u8e3s4, withOverrides, ident, bindDescription$factory(), description$factory()); } function DIDefining(binding, fromModule) { this.f56_1 = binding; this.g56_1 = fromModule; } function descriptionImpl(_this__u8e3s4, withOverrides, ident, keyBindDisp, bindingDisp) { // Inline function 'kotlin.collections.groupBy' call // Inline function 'kotlin.collections.groupByTo' call var this_0 = _this__u8e3s4.q2(); var destination = LinkedHashMap_init_$Create$(); var tmp0_iterator = this_0.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.descriptionImpl.' call var key = first(element.t2()).g56_1; // Inline function 'kotlin.collections.getOrPut' call var value = destination.q(key); var tmp; if (value == null) { // Inline function 'kotlin.collections.groupByTo.' call var answer = ArrayList_init_$Create$(); destination.s(key, answer); tmp = answer; } else { tmp = value; } var list = tmp; list.i1(element); } var byModule = destination; var modules = sorted(filterNotNull(byModule.o2())); // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_1 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.descriptionImpl.' call var tmp0_safe_receiver = byModule.q(null); if (tmp0_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call descriptionImpl$appendBindings(this_1, keyBindDisp, bindingDisp, withOverrides, ident, tmp0_safe_receiver); } // Inline function 'kotlin.collections.forEach' call var tmp0_iterator_0 = modules.w(); while (tmp0_iterator_0.f()) { var element_0 = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.descriptionImpl..' call this_1.y5(repeat(' ', ident) + 'module ' + element_0 + ' {\n'); descriptionImpl$appendBindings(this_1, keyBindDisp, bindingDisp, withOverrides, ident + 4 | 0, ensureNotNull(byModule.q(element_0))); this_1.y5(repeat(' ', ident) + '}\n'); } return this_1.toString(); } function fullDescription(_this__u8e3s4, withOverrides, ident) { withOverrides = withOverrides === VOID ? false : withOverrides; ident = ident === VOID ? 8 : ident; return descriptionImpl(_this__u8e3s4, withOverrides, ident, bindFullDescription$factory(), fullDescription$factory()); } function descriptionImpl$appendBindings(_this__u8e3s4, $keyBindDisp, $bindingDisp, $withOverrides, ident, entries) { var tmp0_iterator = entries.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.descriptionImpl.appendBindings.' call var keyDescription = $keyBindDisp(element.s2()); _this__u8e3s4.y5(repeat(' ', ident) + keyDescription + ' { ' + $bindingDisp(first(element.t2()).f56_1) + ' }'); if ($withOverrides) { var subIdent = keyDescription.length - 4 | 0; // Inline function 'kotlin.collections.forEach' call var tmp0_iterator_0 = element.t2().z(1, element.t2().u()).w(); while (tmp0_iterator_0.f()) { var element_0 = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.descriptionImpl.appendBindings..' call _this__u8e3s4.y5(repeat(' ', subIdent) + 'overrides ' + $bindingDisp(element_0.f56_1)); } } _this__u8e3s4.y5('\n'); } return Unit_instance; } function bindDescription$factory() { return getPropertyCallableRef('bindDescription', 1, KProperty1, function (receiver) { return receiver.m56(); }, null); } function description$factory() { return getPropertyCallableRef('description', 1, KProperty1, function (receiver) { return receiver.n56(); }, null); } function bindFullDescription$factory() { return getPropertyCallableRef('bindFullDescription', 1, KProperty1, function (receiver) { return receiver.o56(); }, null); } function fullDescription$factory() { return getPropertyCallableRef('fullDescription', 1, KProperty1, function (receiver) { return receiver.p56(); }, null); } function NonCached() { } protoOf(NonCached).q56 = function (tree) { // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_0 = tree.r56(); var destination = LinkedHashMap_init_$Create$(); // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = this_0.q2().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.NonCached.keySet.' call if (first(element.t2()).f56_1.s56() == null) { destination.s(element.s2(), element.t2()); } } return destination.o2(); }; var NonCached_instance; function NonCached_getInstance() { return NonCached_instance; } function appendDescription(_this__u8e3s4, $this, displayString) { if (!($this.k56_1 == null)) { _this__u8e3s4.y5(' tagged "' + toString($this.k56_1) + '"'); } if (!equals($this.h56_1, Companion_getInstance().l55_1)) { _this__u8e3s4.y5(' on context ' + displayString($this.h56_1)); } if (!equals($this.i56_1, Companion_getInstance().k55_1)) { _this__u8e3s4.y5(', with argument ' + displayString($this.i56_1)); } } function TypeToken$simpleDispString$ref() { var l = function (p0) { return p0.m55(); }; l.callableName = 'simpleDispString'; return l; } function TypeToken$qualifiedDispString$ref() { var l = function (p0) { return p0.o55(); }; l.callableName = 'qualifiedDispString'; return l; } function ImplWithScope(contextType, scope) { this.t56_1 = contextType; this.u56_1 = scope; } protoOf(ImplWithScope).v56 = function () { return this.t56_1; }; protoOf(ImplWithScope).w56 = function () { return this.u56_1; }; protoOf(ImplWithScope).x56 = function () { return true; }; function Module_init_$Init$(name, allowSilentOverride, prefix, init, $this) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; prefix = prefix === VOID ? '' : prefix; Module.call($this, allowSilentOverride, prefix, init); $this.b57_1 = name; return $this; } function Module_init_$Create$(name, allowSilentOverride, prefix, init) { return Module_init_$Init$(name, allowSilentOverride, prefix, init, objectCreate(protoOf(Module))); } function DependencyLoopException(message) { RuntimeException_init_$Init$(message, this); captureStack(this, DependencyLoopException); } function NotFoundException(key, message) { RuntimeException_init_$Init$(message, this); captureStack(this, NotFoundException); this.c57_1 = key; } function OverridingException(message) { RuntimeException_init_$Init$(message, this); captureStack(this, OverridingException); } function Key(contextType, argType, type, tag) { this.h56_1 = contextType; this.i56_1 = argType; this.j56_1 = type; this.k56_1 = tag; this.l56_1 = 0; } protoOf(Key).hashCode = function () { if (this.l56_1 === 0) { this.l56_1 = hashCode(this.h56_1); this.l56_1 = imul(31, this.l56_1) + hashCode(this.i56_1) | 0; this.l56_1 = imul(29, hashCode(this.j56_1)); var tmp = this; var tmp_0 = imul(23, this.l56_1); var tmp0_safe_receiver = this.k56_1; var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver); tmp.l56_1 = tmp_0 + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0; } return this.l56_1; }; protoOf(Key).toString = function () { return this.n56(); }; protoOf(Key).m56 = function () { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.Key..' call this_0.y5('bind<' + this.j56_1.m55() + '>'); if (!(this.k56_1 == null)) { this_0.y5('(tag = "' + toString(this.k56_1) + '")'); } return this_0.toString(); }; protoOf(Key).o56 = function () { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.Key..' call this_0.y5('bind<' + this.j56_1.o55() + '>'); if (!(this.k56_1 == null)) { this_0.y5('(tag = "' + toString(this.k56_1) + '")'); } return this_0.toString(); }; protoOf(Key).n56 = function () { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.Key..' call this_0.y5(this.j56_1.m55()); appendDescription(this_0, this, TypeToken$simpleDispString$ref()); return this_0.toString(); }; protoOf(Key).d57 = function () { return '(context: ' + this.h56_1.m55() + ', arg: ' + this.i56_1.m55() + ', type: ' + this.j56_1.m55() + ', tag: ' + toString(this.k56_1) + ')'; }; protoOf(Key).p56 = function () { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.Key..' call this_0.y5(this.j56_1.o55()); appendDescription(this_0, this, TypeToken$qualifiedDispString$ref()); return this_0.toString(); }; protoOf(Key).e57 = function (contextType, argType, type, tag) { return new Key(contextType, argType, type, tag); }; protoOf(Key).f57 = function (contextType, argType, type, tag, $super) { contextType = contextType === VOID ? this.h56_1 : contextType; argType = argType === VOID ? this.i56_1 : argType; type = type === VOID ? this.j56_1 : type; tag = tag === VOID ? this.k56_1 : tag; return $super === VOID ? this.e57(contextType, argType, type, tag) : $super.e57.call(this, contextType, argType, type, tag); }; protoOf(Key).equals = function (other) { if (this === other) return true; if (!(other instanceof Key)) return false; var tmp0_other_with_cast = other instanceof Key ? other : THROW_CCE(); if (!equals(this.h56_1, tmp0_other_with_cast.h56_1)) return false; if (!equals(this.i56_1, tmp0_other_with_cast.i56_1)) return false; if (!equals(this.j56_1, tmp0_other_with_cast.j56_1)) return false; if (!equals(this.k56_1, tmp0_other_with_cast.k56_1)) return false; return true; }; function Builder() { } function MainBuilder() { } function Module(allowSilentOverride, prefix, init) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; prefix = prefix === VOID ? '' : prefix; this.y56_1 = allowSilentOverride; this.z56_1 = prefix; this.a57_1 = init; this.b57_1 = null; } protoOf(Module).dc = function () { var tmp0_elvis_lhs = this.b57_1; var tmp; if (tmp0_elvis_lhs == null) { throw IllegalStateException_init_$Create$('module must have a name.'); } else { tmp = tmp0_elvis_lhs; } return tmp; }; protoOf(Module).toString = function () { return 'Module(allowSilentOverride=' + this.y56_1 + ', prefix=' + this.z56_1 + ', init=' + this.a57_1 + ')'; }; protoOf(Module).hashCode = function () { var result = getBooleanHashCode(this.y56_1); result = imul(result, 31) + getStringHashCode(this.z56_1) | 0; result = imul(result, 31) + hashCode(this.a57_1) | 0; return result; }; protoOf(Module).equals = function (other) { if (this === other) return true; if (!(other instanceof Module)) return false; var tmp0_other_with_cast = other instanceof Module ? other : THROW_CCE(); if (!(this.y56_1 === tmp0_other_with_cast.y56_1)) return false; if (!(this.z56_1 === tmp0_other_with_cast.z56_1)) return false; if (!equals(this.a57_1, tmp0_other_with_cast.a57_1)) return false; return true; }; function Companion() { this.q57_1 = false; this.r57_1 = false; } protoOf(Companion).s57 = function (allowSilentOverride, init) { return DIImpl_init_$Create$(allowSilentOverride, init); }; protoOf(Companion).t57 = function (allowSilentOverride, init, $super) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; return $super === VOID ? this.s57(allowSilentOverride, init) : $super.s57.call(this, allowSilentOverride, init); }; var Companion_instance; function Companion_getInstance_0() { return Companion_instance; } function DI() { } function get_direct(_this__u8e3s4) { return new DirectDIImpl(_this__u8e3s4.u57().v57(), _this__u8e3s4.w57()); } function DIAware() { } function Instance(_this__u8e3s4, type, tag) { tag = tag === VOID ? null : tag; var tmp = _this__u8e3s4.x57(); var tmp_0 = _this__u8e3s4.w57(); return new DIProperty(tmp, tmp_0, Instance$lambda(_this__u8e3s4, type, tag)); } function Value(type, value) { this.y57_1 = type; this.z57_1 = value; } protoOf(Value).a58 = function () { return this.y57_1; }; protoOf(Value).t2 = function () { return this.z57_1; }; protoOf(Value).toString = function () { return 'Value(type=' + this.y57_1 + ', value=' + this.z57_1 + ')'; }; protoOf(Value).hashCode = function () { var result = hashCode(this.y57_1); result = imul(result, 31) + hashCode(this.z57_1) | 0; return result; }; protoOf(Value).equals = function (other) { if (this === other) return true; if (!(other instanceof Value)) return false; var tmp0_other_with_cast = other instanceof Value ? other : THROW_CCE(); if (!equals(this.y57_1, tmp0_other_with_cast.y57_1)) return false; if (!equals(this.z57_1, tmp0_other_with_cast.z57_1)) return false; return true; }; function Companion_0() { } protoOf(Companion_0).b58 = function (type, value) { return new Value(type, value); }; var Companion_instance_0; function Companion_getInstance_1() { return Companion_instance_0; } function DIContext() { } function On(_this__u8e3s4, context, trigger) { context = context === VOID ? _this__u8e3s4.w57() : context; trigger = trigger === VOID ? _this__u8e3s4.x57() : trigger; return DIWrapper_init_$Create$(_this__u8e3s4, context, trigger); } function InstanceOrNull(_this__u8e3s4, type, tag) { tag = tag === VOID ? null : tag; var tmp = _this__u8e3s4.x57(); var tmp_0 = _this__u8e3s4.w57(); return new DIProperty(tmp, tmp_0, InstanceOrNull$lambda(_this__u8e3s4, type, tag)); } function get_AnyDIContext() { return Contexes_getInstance().c58_1; } function DIWrapper_init_$Init$(base, diContext, trigger, $this) { diContext = diContext === VOID ? base.w57() : diContext; trigger = trigger === VOID ? base.x57() : trigger; DIWrapper.call($this, base.u57(), diContext, trigger); return $this; } function DIWrapper_init_$Create$(base, diContext, trigger) { return DIWrapper_init_$Init$(base, diContext, trigger, objectCreate(protoOf(DIWrapper))); } function DIWrapper(_base, diContext, diTrigger) { diTrigger = diTrigger === VOID ? null : diTrigger; this.d58_1 = _base; this.e58_1 = diContext; this.f58_1 = diTrigger; } protoOf(DIWrapper).w57 = function () { return this.e58_1; }; protoOf(DIWrapper).x57 = function () { return this.f58_1; }; protoOf(DIWrapper).u57 = function () { return this; }; protoOf(DIWrapper).v57 = function () { return this.d58_1.v57(); }; function Contexes() { Contexes_instance = this; this.c58_1 = Companion_instance_0.b58(Companion_getInstance().l55_1, new Object()); } var Contexes_instance; function Contexes_getInstance() { if (Contexes_instance == null) new Contexes(); return Contexes_instance; } function Instance$lambda($this_Instance, $type, $tag) { return function (ctx, _anonymous_parameter_1__qggqgd) { var tmp = $this_Instance.u57().v57(); // Inline function 'org.kodein.di.anyType' call var tmp_0 = ctx.a58(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); return tmp.g58(new Key(tmp$ret$0, Companion_getInstance().k55_1, $type, $tag), ctx.t2())(); }; } function InstanceOrNull$lambda($this_InstanceOrNull, $type, $tag) { return function (ctx, _anonymous_parameter_1__qggqgd) { var tmp = $this_InstanceOrNull.u57().v57(); // Inline function 'org.kodein.di.anyType' call var tmp_0 = ctx.a58(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); var tmp0_safe_receiver = tmp.h58(new Key(tmp$ret$0, Companion_getInstance().k55_1, $type, $tag), ctx.t2()); return tmp0_safe_receiver == null ? null : tmp0_safe_receiver(); }; } function DIContainer$provider$lambda($this) { return function () { return $this(Unit_instance); }; } function DIContainer$providerOrNull$lambda($this) { return function () { return $this(Unit_instance); }; } function DIContainer() { } function DITree() { } function DirectDIBase() { } function NoDefinedTag() { } var NoDefinedTag_instance; function NoDefinedTag_getInstance() { return NoDefinedTag_instance; } function SearchSpecs(contextType, argType, type, tag) { contextType = contextType === VOID ? null : contextType; argType = argType === VOID ? null : argType; type = type === VOID ? null : type; tag = tag === VOID ? NoDefinedTag_instance : tag; this.a59_1 = contextType; this.b59_1 = argType; this.c59_1 = type; this.d59_1 = tag; } protoOf(SearchSpecs).toString = function () { var args = ArrayList_init_$Create$(); if (!(this.a59_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp0_safe_receiver = this.a59_1; var element = 'contextType=' + (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.m55()); args.i1(element); } if (!(this.b59_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp1_safe_receiver = this.b59_1; var element_0 = 'argType=' + (tmp1_safe_receiver == null ? null : tmp1_safe_receiver.m55()); args.i1(element_0); } if (!(this.c59_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp2_safe_receiver = this.c59_1; var element_1 = 'type=' + (tmp2_safe_receiver == null ? null : tmp2_safe_receiver.m55()); args.i1(element_1); } if (!equals(this.d59_1, NoDefinedTag_instance)) { // Inline function 'kotlin.collections.plusAssign' call var element_2 = 'tag=' + toString(this.d59_1); args.i1(element_2); } return '[' + joinToString(args, ', ') + ']'; }; function NoArgBindingDIWrap(_di) { this.e59_1 = _di; } protoOf(NoArgBindingDIWrap).u57 = function () { return this.e59_1.u57(); }; protoOf(NoArgBindingDIWrap).z58 = function () { return this.e59_1.z58(); }; protoOf(NoArgBindingDIWrap).v58 = function () { return this.e59_1.v58(); }; protoOf(NoArgBindingDIWrap).x58 = function (type, tag) { return this.e59_1.x58(type, tag); }; protoOf(NoArgBindingDIWrap).y58 = function (type, tag) { return this.e59_1.y58(type, tag); }; protoOf(NoArgBindingDIWrap).w58 = function (context) { return this.e59_1.w58(context); }; protoOf(NoArgBindingDIWrap).od = function () { return this.e59_1.od(); }; function ErasedContext() { } protoOf(ErasedContext).a58 = function () { return Companion_getInstance().l55_1; }; protoOf(ErasedContext).t2 = function () { return ErasedContext_instance; }; var ErasedContext_instance; function ErasedContext_getInstance() { return ErasedContext_instance; } function DIBinding$Copier$Companion$invoke$1($f) { this.f59_1 = $f; } protoOf(DIBinding$Copier$Companion$invoke$1).g59 = function (builder) { return this.f59_1(builder); }; function Companion_1() { } protoOf(Companion_1).h59 = function (f) { return new DIBinding$Copier$Companion$invoke$1(f); }; var Companion_instance_1; function Companion_getInstance_2() { return Companion_instance_1; } function DIBinding() { } function NoArgDIBinding() { } function SingletonReference$make$lambda($value) { return function () { return $value; }; } function SingletonReference() { } protoOf(SingletonReference).o59 = function (creator) { var value = creator(); return new Reference(value, SingletonReference$make$lambda(value)); }; var SingletonReference_instance; function SingletonReference_getInstance() { return SingletonReference_instance; } function Reference(current, next) { this.p59_1 = current; this.q59_1 = next; } protoOf(Reference).y6 = function () { return this.p59_1; }; protoOf(Reference).z6 = function () { return this.q59_1; }; protoOf(Reference).toString = function () { return 'Reference(current=' + this.p59_1 + ', next=' + this.q59_1 + ')'; }; protoOf(Reference).hashCode = function () { var result = hashCode(this.p59_1); result = imul(result, 31) + hashCode(this.q59_1) | 0; return result; }; protoOf(Reference).equals = function (other) { if (this === other) return true; if (!(other instanceof Reference)) return false; var tmp0_other_with_cast = other instanceof Reference ? other : THROW_CCE(); if (!equals(this.p59_1, tmp0_other_with_cast.p59_1)) return false; if (!equals(this.q59_1, tmp0_other_with_cast.q59_1)) return false; return true; }; function ScopeRegistry() { } function StandardScopeRegistry() { ScopeRegistry.call(this); this.s59_1 = newConcurrentMap(); this.t59_1 = new Object(); } protoOf(StandardScopeRegistry).r59 = function (key, sync, creator) { var tmp$ret$2; $l$block_1: { // Inline function 'org.kodein.di.internal.synchronizedIfNull' call sync && this.t59_1; // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call var tmp0_safe_receiver = this.s59_1.q(key); var tmp0_safe_receiver_0 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver(); if (tmp0_safe_receiver_0 == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call tmp$ret$2 = tmp0_safe_receiver_0; break $l$block_1; } // Inline function 'org.kodein.di.internal.maySynchronized' call var tmp$ret$5; $l$block_0: { // Inline function 'org.kodein.di.internal.synchronizedIfNull.' call // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call var tmp0_safe_receiver_1 = this.s59_1.q(key); var tmp0_safe_receiver_2 = tmp0_safe_receiver_1 == null ? null : tmp0_safe_receiver_1(); if (tmp0_safe_receiver_2 == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call tmp$ret$5 = tmp0_safe_receiver_2; break $l$block_0; } // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call var tmp0_container = creator(); var current = tmp0_container.y6(); var next = tmp0_container.z6(); // Inline function 'kotlin.collections.set' call this.s59_1.s(key, next); tmp$ret$2 = current; break $l$block_1; } var value = tmp$ret$5; // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call tmp$ret$2 = value; } return tmp$ret$2; }; function ContextTranslator() { } function SimpleContextTranslator(contextType, scopeType, t) { this.w59_1 = contextType; this.x59_1 = scopeType; this.y59_1 = t; } protoOf(SimpleContextTranslator).v56 = function () { return this.w59_1; }; protoOf(SimpleContextTranslator).u59 = function () { return this.x59_1; }; protoOf(SimpleContextTranslator).v59 = function (di, ctx) { return this.y59_1(di, ctx); }; protoOf(SimpleContextTranslator).toString = function () { return '()'; }; function NoScope() { this.z59_1 = new StandardScopeRegistry(); } protoOf(NoScope).a5a = function (context) { return this.z59_1; }; protoOf(NoScope).b5a = function (context) { return this.a5a((context == null ? true : !(context == null)) ? context : THROW_CCE()); }; function toKContext(_this__u8e3s4, di, ctx) { var tmp0_safe_receiver = _this__u8e3s4.v59(di, ctx); var tmp; if (tmp0_safe_receiver == null) { tmp = null; } else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.toKContext.' call tmp = Companion_instance_0.b58(_this__u8e3s4.u59(), tmp0_safe_receiver); } return tmp; } function CompositeContextTranslator(src, dst) { this.c5a_1 = src; this.d5a_1 = dst; } protoOf(CompositeContextTranslator).v56 = function () { return this.c5a_1.v56(); }; protoOf(CompositeContextTranslator).u59 = function () { return this.d5a_1.u59(); }; protoOf(CompositeContextTranslator).v59 = function (di, ctx) { var tmp0_safe_receiver = this.c5a_1.v59(di, ctx); var tmp; if (tmp0_safe_receiver == null) { tmp = null; } else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.CompositeContextTranslator.translate.' call tmp = this.d5a_1.v59(di, tmp0_safe_receiver); } return tmp; }; protoOf(CompositeContextTranslator).toString = function () { return '(' + this.c5a_1 + ' -> ' + this.d5a_1 + ')'; }; function factoryName($this, params) { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.Singleton.factoryName.' call this_0.y5('singleton'); // Inline function 'kotlin.collections.isNotEmpty' call if (!params.c1()) { this_0.y5(joinToString(params, ', ', '(', ')')); } return this_0.toString(); } function Singleton$getFactory$lambda$lambda$lambda(this$0, $bindingDi) { return function () { return this$0.j5a_1(new NoArgBindingDIWrap($bindingDi)); }; } function Singleton$getFactory$lambda$lambda(this$0, $bindingDi) { return function () { return this$0.k5a_1.o59(Singleton$getFactory$lambda$lambda$lambda(this$0, $bindingDi)); }; } function Singleton$getFactory$lambda($lateInitRegistry, this$0, $bindingDi) { return function (_anonymous_parameter_0__qggqh8) { var tmp0_elvis_lhs = $lateInitRegistry._v; var tmp; if (tmp0_elvis_lhs == null) { // Inline function 'kotlin.also' call var this_0 = this$0.e5a_1.b5a($bindingDi.od()); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.Singleton.getFactory..' call $lateInitRegistry._v = this_0; tmp = this_0; } else { tmp = tmp0_elvis_lhs; } var registry = tmp; var tmp_0 = registry.r59(this$0.l5a_1, this$0.i5a_1, Singleton$getFactory$lambda$lambda(this$0, $bindingDi)); return !(tmp_0 == null) ? tmp_0 : THROW_CCE(); }; } function Singleton$copier$lambda(this$0) { return function (it) { return new Singleton(this$0.e5a_1, this$0.f5a_1, this$0.g5a_1, this$0.h5a_1, this$0.k5a_1, this$0.i5a_1, this$0.j5a_1); }; } function Singleton(scope, contextType, explicitContext, createdType, refMaker, sync, creator) { refMaker = refMaker === VOID ? null : refMaker; sync = sync === VOID ? true : sync; this.e5a_1 = scope; this.f5a_1 = contextType; this.g5a_1 = explicitContext; this.h5a_1 = createdType; this.i5a_1 = sync; this.j5a_1 = creator; var tmp = this; tmp.k5a_1 = refMaker == null ? SingletonReference_instance : refMaker; this.l5a_1 = new ScopeKey(new Object(), Unit_instance); var tmp_0 = this; var tmp_1 = Companion_instance_1; tmp_0.m5a_1 = tmp_1.h59(Singleton$copier$lambda(this)); } protoOf(Singleton).w56 = function () { return this.e5a_1; }; protoOf(Singleton).v56 = function () { return this.f5a_1; }; protoOf(Singleton).l59 = function () { return this.h5a_1; }; protoOf(Singleton).i59 = function () { var params = ArrayList_init_$Create$_0(2); if (!equals(this.k5a_1, SingletonReference_instance)) { params.i1('ref = ' + erasedOf(this.k5a_1).m55()); } return factoryName(this, params); }; protoOf(Singleton).j59 = function () { var params = ArrayList_init_$Create$_0(2); if (!equals(this.k5a_1, SingletonReference_instance)) { params.i1('ref = ' + erasedOf(this.k5a_1).o55()); } return factoryName(this, params); }; protoOf(Singleton).n5a = function (key, di) { var lateInitRegistry = {_v: null}; var bindingDi = this.g5a_1 ? di : di.o5a(); return Singleton$getFactory$lambda(lateInitRegistry, this, bindingDi); }; protoOf(Singleton).n59 = function (key, di) { return this.n5a(key, di); }; protoOf(Singleton).s56 = function () { return this.m5a_1; }; function Provider$getFactory$lambda(this$0, $di) { return function (_anonymous_parameter_0__qggqh8) { return this$0.r5a_1(new NoArgBindingDIWrap($di)); }; } function Provider(contextType, createdType, creator) { this.p5a_1 = contextType; this.q5a_1 = createdType; this.r5a_1 = creator; } protoOf(Provider).v56 = function () { return this.p5a_1; }; protoOf(Provider).l59 = function () { return this.q5a_1; }; protoOf(Provider).i59 = function () { return 'provider'; }; protoOf(Provider).n5a = function (key, di) { return Provider$getFactory$lambda(this, di); }; protoOf(Provider).n59 = function (key, di) { return this.n5a(key, di); }; function ScopeKey(scopeId, arg) { this.s5a_1 = scopeId; this.t5a_1 = arg; } protoOf(ScopeKey).toString = function () { return 'ScopeKey(scopeId=' + toString_0(this.s5a_1) + ', arg=' + this.t5a_1 + ')'; }; protoOf(ScopeKey).hashCode = function () { var result = hashCode(this.s5a_1); result = imul(result, 31) + (this.t5a_1 == null ? 0 : hashCode(this.t5a_1)) | 0; return result; }; protoOf(ScopeKey).equals = function (other) { if (this === other) return true; if (!(other instanceof ScopeKey)) return false; var tmp0_other_with_cast = other instanceof ScopeKey ? other : THROW_CCE(); if (!equals(this.s5a_1, tmp0_other_with_cast.s5a_1)) return false; if (!equals(this.t5a_1, tmp0_other_with_cast.t5a_1)) return false; return true; }; function InstanceBinding$getFactory$lambda(this$0) { return function (_anonymous_parameter_0__qggqh8) { return this$0.v5a_1; }; } function InstanceBinding(createdType, instance) { this.u5a_1 = createdType; this.v5a_1 = instance; this.w5a_1 = Companion_getInstance().l55_1; } protoOf(InstanceBinding).l59 = function () { return this.u5a_1; }; protoOf(InstanceBinding).i59 = function () { return 'instance'; }; protoOf(InstanceBinding).v56 = function () { return this.w5a_1; }; protoOf(InstanceBinding).x5a = function (key, di) { return InstanceBinding$getFactory$lambda(this); }; protoOf(InstanceBinding).n59 = function (key, di) { return this.x5a(key, di); }; protoOf(InstanceBinding).n56 = function () { return this.i59() + ' ( ' + this.u5a_1.m55() + ' )'; }; protoOf(InstanceBinding).p56 = function () { return this.j59() + ' ( ' + this.u5a_1.o55() + ' )'; }; function DIMainBuilderImpl(allowSilentOverride) { DIBuilderImpl.call(this, null, '', HashSet_init_$Create$(), new DIContainerBuilderImpl(true, allowSilentOverride, HashMap_init_$Create$(), ArrayList_init_$Create$(), ArrayList_init_$Create$())); this.d5b_1 = ArrayList_init_$Create$(); this.e5b_1 = Companion_instance.q57_1; this.f5b_1 = Companion_instance.r57_1; } protoOf(DIMainBuilderImpl).q58 = function () { return this.d5b_1; }; protoOf(DIMainBuilderImpl).g5b = function () { return this.e5b_1; }; protoOf(DIMainBuilderImpl).h5b = function () { return this.f5b_1; }; protoOf(DIMainBuilderImpl).o57 = function (di, allowOverride, copy) { var keys = copy.q56(di.v57().i58()); this.g57().r5b(di.v57(), allowOverride, keys); // Inline function 'kotlin.collections.plusAssign' call var this_0 = this.q58(); var elements = di.v57().i58().q58(); addAll(this_0, elements); // Inline function 'kotlin.collections.flatMap' call // Inline function 'kotlin.collections.flatMapTo' call var this_1 = this.g57().n5b_1; var destination = ArrayList_init_$Create$(); // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = this_1.q2().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIMainBuilderImpl.extend.' call // Inline function 'kotlin.collections.map' call var this_2 = element.t2(); // Inline function 'kotlin.collections.mapTo' call var destination_0 = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_2, 10)); var tmp0_iterator_0 = this_2.w(); while (tmp0_iterator_0.f()) { var item = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.internal.DIMainBuilderImpl.extend..' call var tmp$ret$1 = item.g56_1; destination_0.i1(tmp$ret$1); } var list = destination_0; addAll(destination, list); } this.k5b_1.m1(filterNotNull(destination)); }; function TypeBinder($outer, type, tag, overrides) { this.v5b_1 = $outer; this.s5b_1 = type; this.t5b_1 = tag; this.u5b_1 = overrides; } protoOf(TypeBinder).g57 = function () { return this.v5b_1.g57(); }; protoOf(TypeBinder).w5b = function (binding) { return this.g57().x5b(new Key(binding.v56(), binding.k59(), this.s5b_1, this.t5b_1), binding, this.v5b_1.i5b_1, this.u5b_1); }; function ConstantBinder($outer, _tag, _overrides) { this.a5c_1 = $outer; this.y5b_1 = _tag; this.z5b_1 = _overrides; } protoOf(ConstantBinder).b5c = function (valueType, value) { return this.a5c_1.h57(this.y5b_1, this.z5b_1, new InstanceBinding(valueType, value)); }; function DIBuilderImpl(moduleName, prefix, importedModules, containerBuilder) { this.i5b_1 = moduleName; this.j5b_1 = prefix; this.k5b_1 = importedModules; this.l5b_1 = containerBuilder; this.m5b_1 = Companion_getInstance().l55_1; } protoOf(DIBuilderImpl).g57 = function () { return this.l5b_1; }; protoOf(DIBuilderImpl).v56 = function () { return this.m5b_1; }; protoOf(DIBuilderImpl).w56 = function () { return new NoScope(); }; protoOf(DIBuilderImpl).x56 = function () { return false; }; protoOf(DIBuilderImpl).i57 = function (type, tag, overrides) { return new TypeBinder(this, type, tag, overrides); }; protoOf(DIBuilderImpl).h57 = function (tag, overrides, binding) { this.g57().x5b(new Key(binding.v56(), binding.k59(), binding.l59(), tag), binding, this.i5b_1, overrides); }; protoOf(DIBuilderImpl).j57 = function (tag, overrides) { return new ConstantBinder(this, tag, overrides); }; protoOf(DIBuilderImpl).l57 = function (module_0, allowOverride) { var moduleName = this.j5b_1 + module_0.dc(); var tmp; // Inline function 'kotlin.text.isNotEmpty' call if (charSequenceLength(moduleName) > 0) { tmp = this.k5b_1.a1(moduleName); } else { tmp = false; } if (tmp) { throw IllegalStateException_init_$Create$('Module "' + moduleName + '" has already been imported!'); } // Inline function 'kotlin.collections.plusAssign' call this.k5b_1.i1(moduleName); // Inline function 'kotlin.apply' call var this_0 = new DIBuilderImpl(moduleName, this.j5b_1 + module_0.z56_1, this.k5b_1, this.g57().c5c(allowOverride, module_0.y56_1)); // Inline function 'kotlin.contracts.contract' call module_0.a57_1(this_0); }; protoOf(DIBuilderImpl).n57 = function (translator) { return this.g57().d5c(translator); }; function DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT() { OverrideMode.call(this, 'ALLOW_SILENT', 0); OverrideMode_ALLOW_SILENT_instance = this; } protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT).g5c = function () { return true; }; protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT).h5c = function (overrides) { return overrides; }; var OverrideMode_ALLOW_SILENT_instance; function DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT() { OverrideMode.call(this, 'ALLOW_EXPLICIT', 1); OverrideMode_ALLOW_EXPLICIT_instance = this; } protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT).g5c = function () { return true; }; protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT).h5c = function (overrides) { return overrides == null ? false : overrides; }; var OverrideMode_ALLOW_EXPLICIT_instance; function DIContainerBuilderImpl$OverrideMode$FORBID() { OverrideMode.call(this, 'FORBID', 2); OverrideMode_FORBID_instance = this; } protoOf(DIContainerBuilderImpl$OverrideMode$FORBID).g5c = function () { return false; }; protoOf(DIContainerBuilderImpl$OverrideMode$FORBID).h5c = function (overrides) { var tmp; if (!(overrides == null) ? overrides : false) { throw new OverridingException('Overriding has been forbidden'); } else { tmp = false; } return tmp; }; var OverrideMode_FORBID_instance; function Companion_2() { } protoOf(Companion_2).m5c = function (allow, silent) { if (!allow) return OverrideMode_FORBID_getInstance(); if (silent) return OverrideMode_ALLOW_SILENT_getInstance(); return OverrideMode_ALLOW_EXPLICIT_getInstance(); }; var Companion_instance_2; function Companion_getInstance_3() { return Companion_instance_2; } var OverrideMode_entriesInitialized; function OverrideMode_initEntries() { if (OverrideMode_entriesInitialized) return Unit_instance; OverrideMode_entriesInitialized = true; OverrideMode_ALLOW_SILENT_instance = new DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT(); OverrideMode_ALLOW_EXPLICIT_instance = new DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT(); OverrideMode_FORBID_instance = new DIContainerBuilderImpl$OverrideMode$FORBID(); } function OverrideMode(name, ordinal) { Enum.call(this, name, ordinal); } function checkOverrides($this, key, overrides) { var mustOverride = $this.q5b_1.h5c(overrides); if (!(mustOverride == null)) { var tmp; if (mustOverride) { // Inline function 'kotlin.collections.contains' call // Inline function 'kotlin.collections.containsKey' call var this_0 = $this.n5b_1; tmp = !(isInterface(this_0, Map) ? this_0 : THROW_CCE()).r(key); } else { tmp = false; } if (tmp) throw new OverridingException('Binding ' + key + ' must override an existing binding.'); var tmp_0; if (!mustOverride) { // Inline function 'kotlin.collections.contains' call // Inline function 'kotlin.collections.containsKey' call var this_1 = $this.n5b_1; tmp_0 = (isInterface(this_1, Map) ? this_1 : THROW_CCE()).r(key); } else { tmp_0 = false; } if (tmp_0) throw new OverridingException('Binding ' + key + ' must not override an existing binding.'); } } function checkMatch($this, allowOverride) { if (!$this.q5b_1.g5c() ? allowOverride : false) throw new OverridingException('Overriding has been forbidden'); } function OverrideMode_ALLOW_SILENT_getInstance() { OverrideMode_initEntries(); return OverrideMode_ALLOW_SILENT_instance; } function OverrideMode_ALLOW_EXPLICIT_getInstance() { OverrideMode_initEntries(); return OverrideMode_ALLOW_EXPLICIT_instance; } function OverrideMode_FORBID_getInstance() { OverrideMode_initEntries(); return OverrideMode_FORBID_instance; } function DIContainerBuilderImpl(allowOverride, silentOverride, bindingsMap, callbacks, translators) { this.n5b_1 = bindingsMap; this.o5b_1 = callbacks; this.p5b_1 = translators; this.q5b_1 = Companion_instance_2.m5c(allowOverride, silentOverride); } protoOf(DIContainerBuilderImpl).x5b = function (key, binding, fromModule, overrides) { checkOverrides(this, key, overrides); // Inline function 'kotlin.collections.getOrPut' call var this_0 = this.n5b_1; var value = this_0.q(key); var tmp; if (value == null) { // Inline function 'org.kodein.di.internal.DIContainerBuilderImpl.bind.' call var answer = newLinkedList(); this_0.s(key, answer); tmp = answer; } else { tmp = value; } var bindings = tmp; bindings.c2(0, new DIDefining(isInterface(binding, DIBinding) ? binding : THROW_CCE(), fromModule)); }; protoOf(DIContainerBuilderImpl).r5b = function (container, allowOverride, copy) { checkMatch(this, allowOverride); // Inline function 'kotlin.collections.forEach' call // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = container.i58().r56().q2().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerBuilderImpl.extend.' call // Inline function 'kotlin.collections.component1' call var key = element.s2(); // Inline function 'kotlin.collections.component2' call var bindings = element.t2(); if (!allowOverride) { checkOverrides(this, key, null); } var tmp; if (copy.a1(key)) { // Inline function 'kotlin.also' call var this_0 = newLinkedList(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.internal.DIContainerBuilderImpl.extend..' call // Inline function 'kotlin.collections.mapTo' call var tmp0_iterator_0 = bindings.w(); while (tmp0_iterator_0.f()) { var item = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.internal.DIContainerBuilderImpl.extend...' call var tmp0_safe_receiver = item.f56_1.s56(); var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.g59(this); var tmp$ret$3 = new DIDefining(tmp1_elvis_lhs == null ? item.f56_1 : tmp1_elvis_lhs, item.g56_1); this_0.i1(tmp$ret$3); } tmp = this_0; } else { tmp = newLinkedList_0(bindings); } var newBindings = tmp; // Inline function 'kotlin.collections.set' call this.n5b_1.s(key, newBindings); } // Inline function 'kotlin.collections.plusAssign' call var this_1 = this.p5b_1; var elements = container.i58().p58(); addAll(this_1, elements); }; protoOf(DIContainerBuilderImpl).c5c = function (allowOverride, silentOverride) { checkMatch(this, allowOverride); return new DIContainerBuilderImpl(allowOverride, silentOverride, this.n5b_1, this.o5b_1, this.p5b_1); }; protoOf(DIContainerBuilderImpl).d5c = function (translator) { // Inline function 'kotlin.collections.plusAssign' call this.p5b_1.i1(translator); }; function displayString($this, key, overrideLevel) { var descProp = $this.s5c_1 ? bindFullDescription$factory_0(key) : bindDescription$factory_0(key); return !(overrideLevel === 0) ? 'overridden ' + descProp.get() : descProp.get(); } function recursiveLoop($this, node, firstKey, firstOverrideLevel, tail) { var $this_0 = $this; var node_0 = node; var firstKey_0 = firstKey; var firstOverrideLevel_0 = firstOverrideLevel; var tail_0 = tail; $l$1: do { $l$0: do { var tmp; if (node_0.r5c_1 == null ? true : firstKey_0.equals(node_0.p5c_1) ? firstOverrideLevel_0 === node_0.q5c_1 : false) { tmp = plus(listOf(displayString($this_0, node_0.p5c_1, node_0.q5c_1)), tail_0); } else { var tmp0 = $this_0; var tmp4 = plus(listOf(displayString($this_0, node_0.p5c_1, node_0.q5c_1)), tail_0); $this_0 = tmp0; node_0 = node_0.r5c_1; firstKey_0 = firstKey_0; firstOverrideLevel_0 = firstOverrideLevel_0; tail_0 = tmp4; continue $l$0; } return tmp; } while (false); } while (true); } function recursiveCheck($this, node, searchedKey, searchedOverrideLevel) { var $this_0 = $this; var node_0 = node; var searchedKey_0 = searchedKey; var searchedOverrideLevel_0 = searchedOverrideLevel; $l$1: do { $l$0: do { var tmp; if (node_0.p5c_1.equals(searchedKey_0) ? node_0.q5c_1 === searchedOverrideLevel_0 : false) { tmp = false; } else if (node_0.r5c_1 == null) { tmp = true; } else { $this_0 = $this_0; node_0 = node_0.r5c_1; searchedKey_0 = searchedKey_0; searchedOverrideLevel_0 = searchedOverrideLevel_0; continue $l$0; } return tmp; } while (false); } while (true); } function DIContainerImpl_init_$Init$(builder, externalSources, fullDescriptionOnError, fullContainerTreeOnError, runCallbacks, $this) { DIContainerImpl.call($this, new DITreeImpl(builder.n5b_1, externalSources, builder.p5b_1), null, fullDescriptionOnError, fullContainerTreeOnError); var init = DIContainerImpl$_init_$lambda_r6ib3j($this, builder); if (runCallbacks) init(); else { var lock = new Object(); var tmp = $this; tmp.x5c_1 = DIContainerImpl$_init_$lambda_r6ib3j_0(lock, $this, init); } return $this; } function DIContainerImpl_init_$Create$(builder, externalSources, fullDescriptionOnError, fullContainerTreeOnError, runCallbacks) { return DIContainerImpl_init_$Init$(builder, externalSources, fullDescriptionOnError, fullContainerTreeOnError, runCallbacks, objectCreate(protoOf(DIContainerImpl))); } function Node(key, overrideLevel, parent, fullDescriptionOnError) { this.p5c_1 = key; this.q5c_1 = overrideLevel; this.r5c_1 = parent; this.s5c_1 = fullDescriptionOnError; } protoOf(Node).y5c = function (searchedKey, searchedOverrideLevel) { if (!recursiveCheck(this, this, searchedKey, searchedOverrideLevel)) { var list = plus_0(recursiveLoop(this, this, searchedKey, searchedOverrideLevel, emptyList()), displayString(this, searchedKey, this.q5c_1)); var sb = StringBuilder_init_$Create$(); // Inline function 'kotlin.collections.forEachIndexed' call var index = 0; var tmp0_iterator = list.w(); while (tmp0_iterator.f()) { var item = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.Node.check.' call var tmp1 = index; index = tmp1 + 1 | 0; var index_0 = checkIndexOverflow(tmp1); sb.y5(' '); switch (index_0) { case 0: sb.y5(' '); break; case 1: sb.y5(' \u2554\u2569>'); break; default: sb.y5(' \u2551'); sb.y5(repeat(' ', index_0 - 1 | 0)); sb.y5('\u255A>'); break; } sb.y5(item); sb.y5('\n'); } sb.y5(' \u255A'); sb.y5(repeat('\u2550\u2550', list.u() - 1 | 0)); sb.y5('\u255D'); throw new DependencyLoopException('Dependency recursion:\n' + sb); } }; function bindingDI($this, key, context, tree, overrideLevel) { var container = new DIContainerImpl(tree, new Node(key, overrideLevel, $this.u5c_1, $this.v5c_1), $this.v5c_1, $this.w5c_1); return new BindingDIImpl(new DirectDIImpl(container, context), key, overrideLevel); } function DIContainerImpl$_init_$lambda_r6ib3j(this$0, $builder) { return function () { var direct = new DirectDIImpl(this$0, get_AnyDIContext()); var tmp0_iterator = $builder.o5b_1.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl...' call element(direct); } return Unit_instance; }; } function DIContainerImpl$_init_$lambda_r6ib3j_0($lock, this$0, $init) { return function () { $l$block_1: { // Inline function 'org.kodein.di.internal.synchronizedIfNotNull' call if (this$0.x5c_1 == null) { // Inline function 'org.kodein.di.internal.DIContainerImpl...' call break $l$block_1; } // Inline function 'org.kodein.di.internal.maySynchronized' call $l$block_0: { // Inline function 'org.kodein.di.internal.synchronizedIfNotNull.' call var tmp0_elvis_lhs = this$0.x5c_1; var tmp; if (tmp0_elvis_lhs == null) { break $l$block_0; } else { tmp = tmp0_elvis_lhs; } var value = tmp; this$0.x5c_1 = null; $init(); break $l$block_1; } // Inline function 'org.kodein.di.internal.DIContainerImpl...' call } return Unit_instance; }; } function DIContainerImpl$factory$lambda($this$null, it) { return fullDescription($this$null, it); } function DIContainerImpl$factory$lambda_0($this$null, it) { return description($this$null, it); } function DIContainerImpl(tree, node, fullDescriptionOnError, fullContainerTreeOnError) { this.t5c_1 = tree; this.u5c_1 = node; this.v5c_1 = fullDescriptionOnError; this.w5c_1 = fullContainerTreeOnError; this.x5c_1 = null; } protoOf(DIContainerImpl).i58 = function () { return this.t5c_1; }; protoOf(DIContainerImpl).l58 = function (key, context, overrideLevel) { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var it = this.t5c_1.s58(key, 0); var tmp; if (it.u() === 1) { var tmp0_container = it.v(0); var definition = tmp0_container.z6(); var translator = tmp0_container.xn(); var tmp1_safe_receiver = this.u5c_1; if (tmp1_safe_receiver == null) null; else { tmp1_safe_receiver.y5c(key, 0); } var tmp_0 = Companion_instance_0.b58(key.h56_1, context); var originalContext = isInterface(tmp_0, DIContext) ? tmp_0 : THROW_CCE(); var tmp3_elvis_lhs = translator == null ? null : toKContext(translator, new DirectDIImpl(this, originalContext), context); var kContext = tmp3_elvis_lhs == null ? originalContext : tmp3_elvis_lhs; if (!(key instanceof Key)) THROW_CCE(); var bindingDI_0 = bindingDI(this, key, kContext, definition.e56_1, overrideLevel); return definition.f56_1.n59(key, bindingDI_0); } var bindingDI_1 = bindingDI(this, key, Companion_instance_0.b58(key.h56_1, context), this.t5c_1, overrideLevel); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator = this.t5c_1.q58().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factoryOrNull.' call var tmp0_safe_receiver = element.z5c(bindingDI_1, key); if (tmp0_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var tmp0_safe_receiver_0 = this.u5c_1; if (tmp0_safe_receiver_0 == null) null; else { tmp0_safe_receiver_0.y5c(key, 0); } return (!(tmp0_safe_receiver == null) ? typeof tmp0_safe_receiver === 'function' : false) ? tmp0_safe_receiver : THROW_CCE(); } } return null; }; protoOf(DIContainerImpl).j58 = function (key, context, overrideLevel) { var result = this.t5c_1.s58(key, overrideLevel); if (result.u() === 1) { var tmp0_container = result.v(0); var definition = tmp0_container.z6(); var translator = tmp0_container.xn(); var tmp1_safe_receiver = this.u5c_1; if (tmp1_safe_receiver == null) null; else { tmp1_safe_receiver.y5c(key, overrideLevel); } var tmp = Companion_instance_0.b58(key.h56_1, context); var originalContext = isInterface(tmp, DIContext) ? tmp : THROW_CCE(); var tmp3_elvis_lhs = translator == null ? null : toKContext(translator, new DirectDIImpl(this, originalContext), context); var kContext = tmp3_elvis_lhs == null ? originalContext : tmp3_elvis_lhs; if (!(key instanceof Key)) THROW_CCE(); var bindingDI_0 = bindingDI(this, key, kContext, definition.e56_1, overrideLevel); return definition.f56_1.n59(key, bindingDI_0); } var bindingDI_1 = bindingDI(this, key, Companion_instance_0.b58(key.h56_1, context), this.t5c_1, overrideLevel); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator = this.t5c_1.q58().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call var tmp0_safe_receiver = element.z5c(bindingDI_1, key); if (tmp0_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var tmp0_safe_receiver_0 = this.u5c_1; if (tmp0_safe_receiver_0 == null) null; else { tmp0_safe_receiver_0.y5c(key, overrideLevel); } return (!(tmp0_safe_receiver == null) ? typeof tmp0_safe_receiver === 'function' : false) ? tmp0_safe_receiver : THROW_CCE(); } } var withOverrides = !(overrideLevel === 0); var descProp = this.v5c_1 ? fullDescription$factory_0(key) : description$factory_0(key); var tmp_0; if (this.v5c_1) { tmp_0 = DIContainerImpl$factory$lambda; } else { tmp_0 = DIContainerImpl$factory$lambda_0; } var descFun = tmp_0; if (result.c1()) { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call this_0.y5('No binding found for ' + descProp.get()); if (this.w5c_1) { // Inline function 'kotlin.text.appendLine' call this_0.z5(_Char___init__impl__6a9atx(10)); var forType = this.t5c_1.t58(new SearchSpecs(VOID, VOID, key.j56_1)); // Inline function 'kotlin.collections.isNotEmpty' call if (!forType.c1()) { // Inline function 'kotlin.collections.associate' call var capacity = coerceAtLeast(mapCapacity(collectionSizeOrDefault(forType, 10)), 16); // Inline function 'kotlin.collections.associateTo' call var destination = LinkedHashMap_init_$Create$_0(capacity); var tmp0_iterator_0 = forType.w(); while (tmp0_iterator_0.f()) { var element_0 = tmp0_iterator_0.e(); // Inline function 'kotlin.collections.plusAssign' call // Inline function 'org.kodein.di.internal.DIContainerImpl.factory..' call var pair = to(element_0.un_1, element_0.vn_1); destination.s(pair.w6_1, pair.x6_1); } this_0.y5('Available bindings for this type:\n' + descFun(destination, withOverrides)); } this_0.y5('Registered in this DI container:\n' + descFun(this.t5c_1.r56(), withOverrides)); } var description = this_0.toString(); throw new NotFoundException(key, description); } // Inline function 'kotlin.collections.associate' call var capacity_0 = coerceAtLeast(mapCapacity(collectionSizeOrDefault(result, 10)), 16); // Inline function 'kotlin.collections.associateTo' call var destination_0 = LinkedHashMap_init_$Create$_0(capacity_0); var tmp0_iterator_1 = result.w(); while (tmp0_iterator_1.f()) { var element_1 = tmp0_iterator_1.e(); // Inline function 'kotlin.collections.plusAssign' call // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call var pair_0 = to(element_1.un_1, ensureNotNull(this.t5c_1.u58(element_1.un_1)).vn_1); destination_0.s(pair_0.w6_1, pair_0.x6_1); } var potentials = destination_0; // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_1 = this.t5c_1.r56(); var destination_1 = LinkedHashMap_init_$Create$(); // Inline function 'kotlin.collections.iterator' call var tmp0_iterator_2 = this_1.q2().w(); while (tmp0_iterator_2.f()) { var element_2 = tmp0_iterator_2.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call // Inline function 'kotlin.collections.component1' call var key_0 = element_2.s2(); if (!potentials.o2().a1(key_0)) { destination_1.s(element_2.s2(), element_2.t2()); } } var others = destination_1; throw new NotFoundException(key, '' + potentials.u() + ' bindings found that match ' + key + ':\n' + descFun(potentials, withOverrides) + 'Other bindings registered in DI:\n' + descFun(others, withOverrides)); }; function bindFullDescription$factory_0($b0) { return getPropertyCallableRef('bindFullDescription', 0, KProperty0, function () { return $b0.o56(); }, null); } function bindDescription$factory_0($b0) { return getPropertyCallableRef('bindDescription', 0, KProperty0, function () { return $b0.m56(); }, null); } function fullDescription$factory_0($b0) { return getPropertyCallableRef('fullDescription', 0, KProperty0, function () { return $b0.p56(); }, null); } function description$factory_0($b0) { return getPropertyCallableRef('description', 0, KProperty0, function () { return $b0.n56(); }, null); } function newBuilder($this, allowSilentOverride, init) { // Inline function 'kotlin.apply' call var this_0 = new DIMainBuilderImpl(allowSilentOverride); // Inline function 'kotlin.contracts.contract' call init(this_0); return this_0; } function DIImpl_init_$Init$(builder, runCallbacks, $this) { DIImpl.call($this, DIContainerImpl_init_$Create$(builder.g57(), builder.q58(), builder.g5b(), builder.h5b(), runCallbacks)); return $this; } function DIImpl_init_$Init$_0(allowSilentOverride, init, $this) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; DIImpl_init_$Init$(newBuilder(Companion_instance_3, allowSilentOverride, init), true, $this); return $this; } function DIImpl_init_$Create$(allowSilentOverride, init) { return DIImpl_init_$Init$_0(allowSilentOverride, init, objectCreate(protoOf(DIImpl))); } function Companion_3() { } var Companion_instance_3; function Companion_getInstance_4() { return Companion_instance_3; } function DIImpl$container$delegate$lambda(this$0) { return function () { var tmp; if (!(this$0.a5d_1.x5c_1 == null)) { throw IllegalStateException_init_$Create$('DI has not been initialized'); } return this$0.a5d_1; }; } function DIImpl(_container) { this.a5d_1 = _container; var tmp = this; tmp.b5d_1 = lazy(DIImpl$container$delegate$lambda(this)); } protoOf(DIImpl).v57 = function () { // Inline function 'kotlin.getValue' call var this_0 = this.b5d_1; container$factory(); return this_0.t2(); }; function BindingDIImpl(directDI, key, overrideLevel) { this.c5d_1 = directDI; this.d5d_1 = key; this.e5d_1 = overrideLevel; } protoOf(BindingDIImpl).z58 = function () { return this.c5d_1; }; protoOf(BindingDIImpl).u57 = function () { return this.c5d_1.u57(); }; protoOf(BindingDIImpl).v58 = function () { return this.c5d_1.v58(); }; protoOf(BindingDIImpl).x58 = function (type, tag) { return this.c5d_1.x58(type, tag); }; protoOf(BindingDIImpl).y58 = function (type, tag) { return this.c5d_1.y58(type, tag); }; protoOf(BindingDIImpl).w58 = function (context) { return this.c5d_1.w58(context); }; protoOf(BindingDIImpl).od = function () { var tmp = this.z58().u57().w57().t2(); return !(tmp == null) ? tmp : THROW_CCE(); }; protoOf(BindingDIImpl).o5a = function () { return new BindingDIImpl(this.z58().w58(ErasedContext_instance), this.d5d_1, this.e5d_1); }; function container$factory() { return getPropertyCallableRef('container', 1, KProperty1, function (receiver) { return receiver.v57(); }, null); } function findBySpecs($this, specs) { var bindSeq = asSequence($this.i5d_1); var specsBindType = specs.c59_1; if (!(specsBindType == null) ? !equals(specsBindType, Companion_getInstance().l55_1) : false) { var tmp = bindSeq; bindSeq = filter(tmp, DITreeImpl$findBySpecs$lambda(specsBindType)); } var tmp_0 = bindSeq; var contextSeq = flatMap(tmp_0, DITreeImpl$findBySpecs$lambda_0); var specsContextType = specs.a59_1; if (!(specsContextType == null)) { var tmp_1 = contextSeq; contextSeq = mapNotNull(tmp_1, DITreeImpl$findBySpecs$lambda_1(specsContextType, $this)); } var tmp_2 = contextSeq; var argSeq = flatMap(tmp_2, DITreeImpl$findBySpecs$lambda_2); var specsArgType = specs.b59_1; if (!(specsArgType == null)) { var tmp_3 = argSeq; argSeq = filter(tmp_3, DITreeImpl$findBySpecs$lambda_3(specsArgType)); } var tmp_4 = argSeq; var tagSeq = flatMap(tmp_4, DITreeImpl$findBySpecs$lambda_4); var specsTag = specs.d59_1; if (!equals(specsTag, NoDefinedTag_instance)) { var tmp_5 = tagSeq; tagSeq = filter(tmp_5, DITreeImpl$findBySpecs$lambda_5(specsTag)); } var tmp_6 = tagSeq; var resultSeq = map(tmp_6, DITreeImpl$findBySpecs$lambda_6); return toList(resultSeq); } function notInMap($this, result, request) { var tmp = result.d57(); var tmp_0 = request.d57(); var tmp_1 = $this.h5d_1.o2(); return IllegalStateException_init_$Create$('Tree returned key ' + tmp + ' that is not in cache when searching for ' + tmp_0 + '.\nKeys in cache:\n' + joinToString(tmp_1, '\n', VOID, VOID, VOID, VOID, DITreeImpl$notInMap$lambda)); } function DITreeImpl$findBySpecs$lambda($specsBindType) { return function (_name_for_destructuring_parameter_0__wldtmu) { // Inline function 'kotlin.collections.component1' call var bindType = _name_for_destructuring_parameter_0__wldtmu.s2(); return bindType.l5d($specsBindType); }; } function DITreeImpl$findBySpecs$lambda_0(_name_for_destructuring_parameter_0__wldtmu) { // Inline function 'kotlin.collections.component2' call var contextTree = _name_for_destructuring_parameter_0__wldtmu.t2(); var tmp = asSequence(contextTree); return map(tmp, DITreeImpl$findBySpecs$lambda$lambda); } function DITreeImpl$findBySpecs$lambda$lambda(it) { return new Triple(it.s2(), it.t2(), null); } function DITreeImpl$findBySpecs$lambda_1($specsContextType, this$0) { return function (triple) { var contextType = triple.y6(); var tmp; if (contextType.l5d($specsContextType)) { tmp = triple; } else { var tmp$ret$1; $l$block: { // Inline function 'kotlin.collections.firstOrNull' call var tmp0_iterator = this$0.k5d_1.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.findBySpecs..' call if (element.v56().u55($specsContextType) ? contextType.l5d(element.u59()) : false) { tmp$ret$1 = element; break $l$block; } } tmp$ret$1 = null; } var translator = tmp$ret$1; tmp = !(translator == null) ? triple.zn(VOID, VOID, translator) : null; } return tmp; }; } function DITreeImpl$findBySpecs$lambda_2(_name_for_destructuring_parameter_0__wldtmu) { var argumentTree = _name_for_destructuring_parameter_0__wldtmu.z6(); var translator = _name_for_destructuring_parameter_0__wldtmu.xn(); var tmp = asSequence(argumentTree); return map(tmp, DITreeImpl$findBySpecs$lambda$lambda_0(translator)); } function DITreeImpl$findBySpecs$lambda$lambda_0($translator) { return function (it) { return new Triple(it.s2(), it.t2(), $translator); }; } function DITreeImpl$findBySpecs$lambda_3($specsArgType) { return function (_name_for_destructuring_parameter_0__wldtmu) { var argType = _name_for_destructuring_parameter_0__wldtmu.y6(); return argType.l5d($specsArgType); }; } function DITreeImpl$findBySpecs$lambda_4(_name_for_destructuring_parameter_0__wldtmu) { var tagTree = _name_for_destructuring_parameter_0__wldtmu.z6(); var translator = _name_for_destructuring_parameter_0__wldtmu.xn(); var tmp = asSequence(tagTree); return map(tmp, DITreeImpl$findBySpecs$lambda$lambda_1(translator)); } function DITreeImpl$findBySpecs$lambda$lambda_1($translator) { return function (it) { return new Triple(it.s2(), it.t2(), $translator); }; } function DITreeImpl$findBySpecs$lambda_5($specsTag) { return function (_name_for_destructuring_parameter_0__wldtmu) { var tag = _name_for_destructuring_parameter_0__wldtmu.y6(); return equals(tag, $specsTag); }; } function DITreeImpl$findBySpecs$lambda_6(_name_for_destructuring_parameter_0__wldtmu) { var key = _name_for_destructuring_parameter_0__wldtmu.z6(); var translator = _name_for_destructuring_parameter_0__wldtmu.xn(); return to(key, translator); } function DITreeImpl$notInMap$lambda(it) { return it.d57(); } function DITreeImpl(map, externalSources, registeredTranslators) { this.f5d_1 = externalSources; this.g5d_1 = registeredTranslators; this.h5d_1 = newConcurrentMap(); this.i5d_1 = HashMap_init_$Create$(); this.k5d_1 = ArrayList_init_$Create$_1(this.g5d_1); // Inline function 'kotlin.collections.forEach' call // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = map.q2().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.' call // Inline function 'kotlin.collections.component1' call var key = element.s2(); // Inline function 'kotlin.collections.component2' call var bindings = element.t2(); // Inline function 'kotlin.collections.map' call // Inline function 'kotlin.collections.mapTo' call var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(bindings, 10)); var tmp0_iterator_0 = bindings.w(); while (tmp0_iterator_0.f()) { var item = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.internal.DITreeImpl..' call var tmp; if (item instanceof DIDefinition) { tmp = item; } else { tmp = new DIDefinition(item.f56_1, item.g56_1, this); } var tmp$ret$3 = tmp; destination.i1(tmp$ret$3); } var definitions = destination; // Inline function 'kotlin.collections.set' call var this_0 = this.h5d_1; var value = new Triple(key, definitions, null); this_0.s(key, value); var typeChecker = first(bindings).f56_1.m59() ? new Down(key.j56_1) : new Up(key.j56_1); // Inline function 'kotlin.collections.getOrPut' call var this_1 = this.i5d_1; var value_0 = this_1.q(typeChecker); var tmp_0; if (value_0 == null) { // Inline function 'org.kodein.di.internal.DITreeImpl..' call var answer = HashMap_init_$Create$(); this_1.s(typeChecker, answer); tmp_0 = answer; } else { tmp_0 = value_0; } var contextTree = tmp_0; // Inline function 'kotlin.collections.getOrPut' call var key_0 = new Down(key.h56_1); var value_1 = contextTree.q(key_0); var tmp_1; if (value_1 == null) { // Inline function 'org.kodein.di.internal.DITreeImpl..' call var answer_0 = HashMap_init_$Create$(); contextTree.s(key_0, answer_0); tmp_1 = answer_0; } else { tmp_1 = value_1; } var argumentTree = tmp_1; // Inline function 'kotlin.collections.getOrPut' call var key_1 = new Down(key.i56_1); var value_2 = argumentTree.q(key_1); var tmp_2; if (value_2 == null) { // Inline function 'org.kodein.di.internal.DITreeImpl..' call var answer_1 = HashMap_init_$Create$(); argumentTree.s(key_1, answer_1); tmp_2 = answer_1; } else { tmp_2 = value_2; } var tagTree = tmp_2; // Inline function 'kotlin.collections.set' call var key_2 = key.k56_1; tagTree.s(key_2, key); } var tmp_3 = this; // Inline function 'kotlin.collections.mapValues' call var this_2 = this.h5d_1; // Inline function 'kotlin.collections.mapValuesTo' call var destination_0 = LinkedHashMap_init_$Create$_0(mapCapacity(this_2.u())); // Inline function 'kotlin.collections.associateByTo' call var tmp0_iterator_1 = this_2.q2().w(); while (tmp0_iterator_1.f()) { var element_0 = tmp0_iterator_1.e(); // Inline function 'kotlin.collections.mapValuesTo.' call var tmp_4 = element_0.s2(); // Inline function 'org.kodein.di.internal.DITreeImpl.' call var tmp$ret$13 = element_0.t2().vn_1; destination_0.s(tmp_4, tmp$ret$13); } tmp_3.j5d_1 = HashMap_init_$Create$_0(destination_0); $l$loop: while (true) { var added = ArrayList_init_$Create$(); var tmp0_iterator_2 = this.k5d_1.w(); while (tmp0_iterator_2.f()) { var src = tmp0_iterator_2.e(); var tmp1_iterator = this.k5d_1.w(); while (tmp1_iterator.f()) { var dst = tmp1_iterator.e(); if (dst.v56().u55(src.u59()) ? !equals(src.v56(), dst.u59()) : false) { var tmp$ret$17; $l$block_0: { // Inline function 'kotlin.collections.none' call var this_3 = this.k5d_1; var tmp_5; if (isInterface(this_3, Collection)) { tmp_5 = this_3.c1(); } else { tmp_5 = false; } if (tmp_5) { tmp$ret$17 = true; break $l$block_0; } var tmp0_iterator_3 = this_3.w(); while (tmp0_iterator_3.f()) { var element_1 = tmp0_iterator_3.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.' call if (equals(element_1.v56(), src.v56()) ? equals(element_1.u59(), dst.u59()) : false) { tmp$ret$17 = false; break $l$block_0; } } tmp$ret$17 = true; } if (tmp$ret$17) { // Inline function 'kotlin.collections.plusAssign' call var tmp_6 = isInterface(src, ContextTranslator) ? src : THROW_CCE(); var element_2 = new CompositeContextTranslator(tmp_6, isInterface(dst, ContextTranslator) ? dst : THROW_CCE()); added.i1(element_2); } } } } // Inline function 'kotlin.collections.plusAssign' call var this_4 = this.k5d_1; addAll(this_4, added); if (added.c1()) break $l$loop; } } protoOf(DITreeImpl).q58 = function () { return this.f5d_1; }; protoOf(DITreeImpl).p58 = function () { return this.g5d_1; }; protoOf(DITreeImpl).r56 = function () { return this.j5d_1; }; protoOf(DITreeImpl).r58 = function (key, overrideLevel, all) { if (!all) { var tmp0_safe_receiver = this.h5d_1.q(key); if (tmp0_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var realKey = tmp0_safe_receiver.y6(); var list = tmp0_safe_receiver.z6(); var translator = tmp0_safe_receiver.xn(); var tmp0_elvis_lhs = getOrNull(list, overrideLevel); var tmp; if (tmp0_elvis_lhs == null) { return emptyList(); } else { tmp = tmp0_elvis_lhs; } var definition = tmp; var tmp_0 = realKey instanceof Key ? realKey : THROW_CCE(); var tmp_1 = definition instanceof DIDefinition ? definition : THROW_CCE(); return listOf(new Triple(tmp_0, tmp_1, (translator == null ? true : isInterface(translator, ContextTranslator)) ? translator : THROW_CCE())); } if (!equals(key.h56_1, Companion_getInstance().l55_1)) { var anyContextKey = key.f57(Companion_getInstance().l55_1); var tmp1_safe_receiver = this.h5d_1.q(anyContextKey); if (tmp1_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call $l$block: { // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call var realKey_0 = tmp1_safe_receiver.y6(); var list_0 = tmp1_safe_receiver.z6(); var translator_0 = tmp1_safe_receiver.xn(); if (!(translator_0 == null) ? !equals(translator_0.v56(), key.h56_1) : false) { break $l$block; } // Inline function 'kotlin.collections.set' call this.h5d_1.s(key, tmp1_safe_receiver); var tmp1_elvis_lhs = getOrNull(list_0, overrideLevel); var tmp_2; if (tmp1_elvis_lhs == null) { return emptyList(); } else { tmp_2 = tmp1_elvis_lhs; } var definition_0 = tmp_2; var tmp_3 = realKey_0 instanceof Key ? realKey_0 : THROW_CCE(); var tmp_4 = definition_0 instanceof DIDefinition ? definition_0 : THROW_CCE(); return listOf(new Triple(tmp_3, tmp_4, (translator_0 == null ? true : isInterface(translator_0, ContextTranslator)) ? translator_0 : THROW_CCE())); } } } // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_0 = this.k5d_1; var destination = ArrayList_init_$Create$(); var tmp0_iterator = this_0.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call if (equals(element.v56(), key.h56_1)) { destination.i1(element); } } var tmp_5 = destination; // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_1 = this.k5d_1; var destination_0 = ArrayList_init_$Create$(); var tmp0_iterator_0 = this_1.w(); while (tmp0_iterator_0.f()) { var element_0 = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call if (equals(element_0.v56(), Companion_getInstance().l55_1)) { destination_0.i1(element_0); } } var applicableTranslators = plus(tmp_5, destination_0); var tmp2_iterator = applicableTranslators.w(); while (tmp2_iterator.f()) { var translator_1 = tmp2_iterator.e(); var translatedKey = new Key(translator_1.u59(), key.i56_1, key.j56_1, key.k56_1); var tmp3_safe_receiver = this.h5d_1.q(translatedKey); var tmp_6; if (tmp3_safe_receiver == null) { tmp_6 = null; } else { // Inline function 'kotlin.takeIf' call // Inline function 'kotlin.contracts.contract' call var tmp_7; // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call if (tmp3_safe_receiver.wn_1 == null) { tmp_7 = tmp3_safe_receiver; } else { tmp_7 = null; } tmp_6 = tmp_7; } var tmp4_safe_receiver = tmp_6; if (tmp4_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call $l$block_0: { // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call if (!(tmp4_safe_receiver.wn_1 == null)) { break $l$block_0; } // Inline function 'kotlin.collections.set' call var this_2 = this.h5d_1; var value = tmp4_safe_receiver.zn(VOID, VOID, translator_1); this_2.s(key, value); var realKey_1 = tmp4_safe_receiver.y6(); var list_1 = tmp4_safe_receiver.z6(); var tmp1_elvis_lhs_0 = getOrNull(list_1, overrideLevel); var tmp_8; if (tmp1_elvis_lhs_0 == null) { return emptyList(); } else { tmp_8 = tmp1_elvis_lhs_0; } var definition_1 = tmp_8; var tmp_9 = realKey_1 instanceof Key ? realKey_1 : THROW_CCE(); var tmp_10 = definition_1 instanceof DIDefinition ? definition_1 : THROW_CCE(); return listOf(new Triple(tmp_9, tmp_10, isInterface(translator_1, ContextTranslator) ? translator_1 : THROW_CCE())); } } } } var result = findBySpecs(this, new SearchSpecs(key.h56_1, key.i56_1, key.j56_1, key.k56_1)); if (result.u() === 1) { var tmp5_container = first(result); var realKey_2 = tmp5_container.y6(); var translator_2 = tmp5_container.z6(); // Inline function 'kotlin.collections.set' call var this_3 = this.h5d_1; var tmp6_safe_receiver = this.h5d_1.q(realKey_2); var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : tmp6_safe_receiver.zn(VOID, VOID, translator_2); var tmp_11; if (tmp7_elvis_lhs == null) { throw notInMap(this, realKey_2, key); } else { tmp_11 = tmp7_elvis_lhs; } var value_0 = tmp_11; this_3.s(key, value_0); } // Inline function 'kotlin.collections.mapNotNull' call // Inline function 'kotlin.collections.mapNotNullTo' call var destination_1 = ArrayList_init_$Create$(); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator_1 = result.w(); while (tmp0_iterator_1.f()) { var element_1 = tmp0_iterator_1.e(); // Inline function 'kotlin.collections.mapNotNullTo.' call var tmp$ret$13; $l$block_1: { // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call var realKey_3 = element_1.y6(); var translator_3 = element_1.z6(); var tmp0_elvis_lhs_0 = this.h5d_1.q(realKey_3); var tmp_12; if (tmp0_elvis_lhs_0 == null) { throw notInMap(this, realKey_3, key); } else { tmp_12 = tmp0_elvis_lhs_0; } var definitions = tmp_12.z6(); var tmp2_elvis_lhs = getOrNull(definitions, overrideLevel); var tmp_13; if (tmp2_elvis_lhs == null) { tmp$ret$13 = null; break $l$block_1; } else { tmp_13 = tmp2_elvis_lhs; } var definition_2 = tmp_13; var tmp_14 = realKey_3 instanceof Key ? realKey_3 : THROW_CCE(); var tmp_15 = definition_2 instanceof DIDefinition ? definition_2 : THROW_CCE(); tmp$ret$13 = new Triple(tmp_14, tmp_15, (translator_3 == null ? true : isInterface(translator_3, ContextTranslator)) ? translator_3 : THROW_CCE()); } var tmp0_safe_receiver_0 = tmp$ret$13; if (tmp0_safe_receiver_0 == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call destination_1.i1(tmp0_safe_receiver_0); } } return destination_1; }; protoOf(DITreeImpl).t58 = function (search) { var result = findBySpecs(this, search); // Inline function 'kotlin.collections.map' call // Inline function 'kotlin.collections.mapTo' call var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(result, 10)); var tmp0_iterator = result.w(); while (tmp0_iterator.f()) { var item = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call var key = item.y6(); var translator = item.z6(); var tmp$ret$0 = new Triple(key, ensureNotNull(this.h5d_1.q(key)).vn_1, translator); destination.i1(tmp$ret$0); } return destination; }; protoOf(DITreeImpl).u58 = function (key) { var tmp = this.h5d_1.q(key); return (tmp == null ? true : tmp instanceof Triple) ? tmp : THROW_CCE(); }; function Down(type) { TypeChecker.call(this); this.m5d_1 = type; this.n5d_1 = equals(this.m5d_1, Companion_getInstance().l55_1); } protoOf(Down).l5d = function (other) { return this.n5d_1 ? true : this.m5d_1.u55(other); }; protoOf(Down).toString = function () { return 'Down(type=' + this.m5d_1 + ')'; }; protoOf(Down).hashCode = function () { return hashCode(this.m5d_1); }; protoOf(Down).equals = function (other) { if (this === other) return true; if (!(other instanceof Down)) return false; var tmp0_other_with_cast = other instanceof Down ? other : THROW_CCE(); if (!equals(this.m5d_1, tmp0_other_with_cast.m5d_1)) return false; return true; }; function Up(type) { TypeChecker.call(this); this.o5d_1 = type; } protoOf(Up).l5d = function (other) { return equals(other, Companion_getInstance().l55_1) ? true : other.u55(this.o5d_1); }; protoOf(Up).toString = function () { return 'Up(type=' + this.o5d_1 + ')'; }; protoOf(Up).hashCode = function () { return hashCode(this.o5d_1); }; protoOf(Up).equals = function (other) { if (this === other) return true; if (!(other instanceof Up)) return false; var tmp0_other_with_cast = other instanceof Up ? other : THROW_CCE(); if (!equals(this.o5d_1, tmp0_other_with_cast.o5d_1)) return false; return true; }; function TypeChecker() { } function DirectDIBaseImpl(container, context) { this.p5d_1 = container; this.q5d_1 = context; } protoOf(DirectDIBaseImpl).v57 = function () { return this.p5d_1; }; protoOf(DirectDIBaseImpl).z58 = function () { return this; }; protoOf(DirectDIBaseImpl).v58 = function () { var tmp = this.v57(); return On(new DIImpl(tmp instanceof DIContainerImpl ? tmp : THROW_CCE()), this.q5d_1); }; protoOf(DirectDIBaseImpl).w58 = function (context) { return new DirectDIImpl(this.v57(), context); }; protoOf(DirectDIBaseImpl).x58 = function (type, tag) { var tmp = this.v57(); // Inline function 'org.kodein.di.internal.anyType' call var tmp_0 = this.q5d_1.a58(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); return tmp.g58(new Key(tmp$ret$0, Companion_getInstance().k55_1, type, tag), this.q5d_1.t2())(); }; protoOf(DirectDIBaseImpl).y58 = function (type, tag) { var tmp = this.v57(); // Inline function 'org.kodein.di.internal.anyType' call var tmp_0 = this.q5d_1.a58(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); var tmp0_safe_receiver = tmp.h58(new Key(tmp$ret$0, Companion_getInstance().k55_1, type, tag), this.q5d_1.t2()); return tmp0_safe_receiver == null ? null : tmp0_safe_receiver(); }; function DIProperty$provideDelegate$lambda($receiver, this$0, $prop) { return function () { var tmp; if (!($receiver == null) ? this$0.s5d_1 === get_AnyDIContext() : false) { var tmp_0 = Companion_instance_0; var tmp_1 = erasedOf($receiver); tmp = tmp_0.b58(isInterface(tmp_1, TypeToken) ? tmp_1 : THROW_CCE(), $receiver); } else { tmp = this$0.s5d_1; } var context = tmp; return this$0.t5d_1(context, $prop.callableName); }; } function DIProperty(trigger, originalContext, get) { this.r5d_1 = trigger; this.s5d_1 = originalContext; this.t5d_1 = get; } protoOf(DIProperty).u5d = function (receiver, prop) { // Inline function 'kotlin.also' call var this_0 = lazy(DIProperty$provideDelegate$lambda(receiver, this, prop)); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.DIProperty.provideDelegate.' call var tmp0_safe_receiver = this.r5d_1; var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.v5d_1; if (tmp1_safe_receiver == null) null; else tmp1_safe_receiver.i1(this_0); return this_0; }; function DirectDIImpl(container, context) { DirectDIBaseImpl.call(this, container, context); } function newConcurrentMap() { return HashMap_init_$Create$(); } function newLinkedList() { return ArrayList_init_$Create$(); } function newLinkedList_0(c) { return ArrayList_init_$Create$_1(c); } //region block: post-declaration protoOf(Singleton).k59 = get_argType; protoOf(Singleton).n56 = get_description; protoOf(Singleton).p56 = get_fullDescription; protoOf(Singleton).m59 = get_supportSubTypes; protoOf(Provider).k59 = get_argType; protoOf(Provider).j59 = factoryFullName; protoOf(Provider).w56 = get_scope; protoOf(Provider).n56 = get_description; protoOf(Provider).p56 = get_fullDescription; protoOf(Provider).s56 = get_copier; protoOf(Provider).m59 = get_supportSubTypes; protoOf(InstanceBinding).k59 = get_argType; protoOf(InstanceBinding).j59 = factoryFullName; protoOf(InstanceBinding).w56 = get_scope; protoOf(InstanceBinding).s56 = get_copier; protoOf(InstanceBinding).m59 = get_supportSubTypes; protoOf(DIBuilderImpl).k57 = constant$default; protoOf(DIBuilderImpl).m57 = import$default; protoOf(DIMainBuilderImpl).p57 = extend$default; protoOf(DIContainerImpl).m58 = factoryOrNull$default; protoOf(DIContainerImpl).k58 = factory$default; protoOf(DIContainerImpl).n58 = provider; protoOf(DIContainerImpl).g58 = provider$default; protoOf(DIContainerImpl).o58 = providerOrNull; protoOf(DIContainerImpl).h58 = providerOrNull$default; protoOf(DIImpl).u57 = get_di; protoOf(DIImpl).w57 = get_diContext; protoOf(DIImpl).x57 = get_diTrigger; protoOf(DITreeImpl).s58 = find$default; protoOf(DirectDIBaseImpl).u57 = get_di_0; //endregion //region block: init NonCached_instance = new NonCached(); Companion_instance = new Companion(); Companion_instance_0 = new Companion_0(); NoDefinedTag_instance = new NoDefinedTag(); ErasedContext_instance = new ErasedContext(); Companion_instance_1 = new Companion_1(); SingletonReference_instance = new SingletonReference(); Companion_instance_2 = new Companion_2(); Companion_instance_3 = new Companion_3(); //endregion //region block: exports _.$_$ = _.$_$ || {}; _.$_$.a = Module_init_$Create$; _.$_$.b = Companion_instance; _.$_$.c = Companion_instance_0; _.$_$.d = Provider; _.$_$.e = SimpleContextTranslator; _.$_$.f = Singleton; _.$_$.g = StandardScopeRegistry; _.$_$.h = ImplWithScope; _.$_$.i = get_diContext; _.$_$.j = get_diTrigger; _.$_$.k = DIAware; _.$_$.l = InstanceOrNull; _.$_$.m = Instance; _.$_$.n = On; _.$_$.o = get_direct; //endregion return _; }(module.exports, require('./kotlin-kotlin-stdlib.js'), require('./Kosi-Kaverit-kaverit.js'))); //# sourceMappingURL=Kosi-Kodein-kodein-di.js.map