(function (_, kotlin_kotlin, kotlin_org_kodein_type_kaverit) { 'use strict'; //region block: imports var imul = Math.imul; var protoOf = kotlin_kotlin.$_$.ed; var classMeta = kotlin_kotlin.$_$.qb; var setMetadataFor = kotlin_kotlin.$_$.fd; var VOID = kotlin_kotlin.$_$.f; var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.v; var first = kotlin_kotlin.$_$.u7; var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m; var Unit_instance = kotlin_kotlin.$_$.m5; var filterNotNull = kotlin_kotlin.$_$.r7; var sorted = kotlin_kotlin.$_$.u9; var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.f1; var repeat = kotlin_kotlin.$_$.eg; var ensureNotNull = kotlin_kotlin.$_$.kj; var KProperty1 = kotlin_kotlin.$_$.fe; var getPropertyCallableRef = kotlin_kotlin.$_$.ac; var objectMeta = kotlin_kotlin.$_$.dd; var toString = kotlin_kotlin.$_$.xj; var Companion_getInstance = kotlin_org_kodein_type_kaverit.$_$.a; var equals = kotlin_kotlin.$_$.ub; var objectCreate = kotlin_kotlin.$_$.cd; var RuntimeException = kotlin_kotlin.$_$.ri; var RuntimeException_init_$Init$ = kotlin_kotlin.$_$.m2; var captureStack = kotlin_kotlin.$_$.kb; var hashCode = kotlin_kotlin.$_$.cc; var THROW_CCE = kotlin_kotlin.$_$.si; var interfaceMeta = kotlin_kotlin.$_$.dc; var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.a2; var getBooleanHashCode = kotlin_kotlin.$_$.xb; var getStringHashCode = kotlin_kotlin.$_$.bc; var TypeToken = kotlin_org_kodein_type_kaverit.$_$.b; var isInterface = kotlin_kotlin.$_$.mc; var joinToString = kotlin_kotlin.$_$.e8; var erasedOf = kotlin_org_kodein_type_kaverit.$_$.c; var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.l; var toString_0 = kotlin_kotlin.$_$.jd; var HashSet_init_$Create$ = kotlin_kotlin.$_$.s; var HashMap_init_$Create$ = kotlin_kotlin.$_$.p; var addAll = kotlin_kotlin.$_$.f6; var collectionSizeOrDefault = kotlin_kotlin.$_$.p6; var charSequenceLength = kotlin_kotlin.$_$.ob; var Enum = kotlin_kotlin.$_$.fi; var Map = kotlin_kotlin.$_$.z5; var listOf = kotlin_kotlin.$_$.o8; var plus = kotlin_kotlin.$_$.e9; var emptyList = kotlin_kotlin.$_$.n7; var plus_0 = kotlin_kotlin.$_$.f9; var checkIndexOverflow = kotlin_kotlin.$_$.n6; var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.u2; var mapCapacity = kotlin_kotlin.$_$.q8; var coerceAtLeast = kotlin_kotlin.$_$.rd; var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.u; var to = kotlin_kotlin.$_$.yj; var KProperty0 = kotlin_kotlin.$_$.ee; var lazy = kotlin_kotlin.$_$.qj; var asSequence = kotlin_kotlin.$_$.j6; var filter = kotlin_kotlin.$_$.le; var flatMap = kotlin_kotlin.$_$.ne; var mapNotNull = kotlin_kotlin.$_$.qe; var map = kotlin_kotlin.$_$.re; var toList = kotlin_kotlin.$_$.xe; var Triple = kotlin_kotlin.$_$.vi; var ArrayList_init_$Create$_1 = kotlin_kotlin.$_$.n; var HashMap_init_$Create$_0 = kotlin_kotlin.$_$.q; var Collection = kotlin_kotlin.$_$.p5; var getOrNull = kotlin_kotlin.$_$.x7; //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.q57(tag, overrides) : $super.q57.call(this, tag, overrides); } function import$default(module_0, allowOverride, $super) { allowOverride = allowOverride === VOID ? false : allowOverride; var tmp; if ($super === VOID) { this.s57(module_0, allowOverride); tmp = Unit_instance; } else { tmp = $super.s57.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.v57(di, allowOverride, copy); tmp = Unit_instance; } else { tmp = $super.v57.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.q58(key, context, overrideLevel) : $super.q58.call(this, key, context, overrideLevel); } function factoryOrNull$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.s58(key, context, overrideLevel) : $super.s58.call(this, key, context, overrideLevel); } function provider(key, context, overrideLevel) { // Inline function 'org.kodein.di.toProvider' call var this_0 = this.r58(key, context); return DIContainer$provider$lambda(this_0); } function provider$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.u58(key, context, overrideLevel) : provider(key, context, overrideLevel); } function providerOrNull(key, context, overrideLevel) { var tmp0_safe_receiver = this.t58(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.v58(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.y58(key, overrideLevel, all) : $super.y58.call(this, key, overrideLevel, all); } setMetadataFor(DITree, 'DITree', interfaceMeta); function get_di_0() { return this.c59(); } 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.p59(); } function get_scope() { return null; } function get_description() { var arg = !equals(this.r59(), Companion_getInstance().r55_1) ? this.r59().t55() + ' -> ' : ''; var tmp; var tmp_0 = this.d57(); if (tmp_0 instanceof NoScope) { tmp = null; } else { tmp = this.d57(); } 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).t55() + ').'; } var tmp1_elvis_lhs = tmp_1; var context = tmp1_elvis_lhs == null ? !equals(this.c57(), Companion_getInstance().s55_1) ? 'contexted<' + this.c57().t55() + '>().' : '' : tmp1_elvis_lhs; return context + this.p59() + ' { ' + arg + this.s59().t55() + ' }'; } function get_fullDescription() { var arg = !equals(this.r59(), Companion_getInstance().r55_1) ? this.r59().v55() + ' -> ' : ''; var tmp; var tmp_0 = this.d57(); if (tmp_0 instanceof NoScope) { tmp = null; } else { tmp = this.d57(); } 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).v55() + ').'; } var tmp1_elvis_lhs = tmp_1; var context = tmp1_elvis_lhs == null ? !equals(this.c57(), Companion_getInstance().s55_1) ? 'contexted<' + this.c57().v55() + '>().' : '' : tmp1_elvis_lhs; return context + this.q59() + ' { ' + arg + this.s59().v55() + ' }'; } function get_copier() { return null; } function get_supportSubTypes() { return false; } setMetadataFor(DIBinding, 'DIBinding', interfaceMeta); function get_argType() { return Companion_getInstance().r55_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.l56_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.m56_1 = binding; this.n56_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()).n56_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.j1(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()).m56_1) + ' }'); if ($withOverrides) { var subIdent = keyDescription.length - 4 | 0; // Inline function 'kotlin.collections.forEach' call var tmp0_iterator_0 = element.t2().a1(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.m56_1)); } } _this__u8e3s4.y5('\n'); } return Unit_instance; } function bindDescription$factory() { return getPropertyCallableRef('bindDescription', 1, KProperty1, function (receiver) { return receiver.t56(); }, null); } function description$factory() { return getPropertyCallableRef('description', 1, KProperty1, function (receiver) { return receiver.u56(); }, null); } function bindFullDescription$factory() { return getPropertyCallableRef('bindFullDescription', 1, KProperty1, function (receiver) { return receiver.v56(); }, null); } function fullDescription$factory() { return getPropertyCallableRef('fullDescription', 1, KProperty1, function (receiver) { return receiver.w56(); }, null); } function NonCached() { } protoOf(NonCached).x56 = function (tree) { // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_0 = tree.y56(); 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()).m56_1.z56() == 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.r56_1 == null)) { _this__u8e3s4.y5(' tagged "' + toString($this.r56_1) + '"'); } if (!equals($this.o56_1, Companion_getInstance().s55_1)) { _this__u8e3s4.y5(' on context ' + displayString($this.o56_1)); } if (!equals($this.p56_1, Companion_getInstance().r55_1)) { _this__u8e3s4.y5(', with argument ' + displayString($this.p56_1)); } } function TypeToken$simpleDispString$ref() { var l = function (p0) { return p0.t55(); }; l.callableName = 'simpleDispString'; return l; } function TypeToken$qualifiedDispString$ref() { var l = function (p0) { return p0.v55(); }; l.callableName = 'qualifiedDispString'; return l; } function ImplWithScope(contextType, scope) { this.a57_1 = contextType; this.b57_1 = scope; } protoOf(ImplWithScope).c57 = function () { return this.a57_1; }; protoOf(ImplWithScope).d57 = function () { return this.b57_1; }; protoOf(ImplWithScope).e57 = 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.i57_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.j57_1 = key; } function OverridingException(message) { RuntimeException_init_$Init$(message, this); captureStack(this, OverridingException); } function Key(contextType, argType, type, tag) { this.o56_1 = contextType; this.p56_1 = argType; this.q56_1 = type; this.r56_1 = tag; this.s56_1 = 0; } protoOf(Key).hashCode = function () { if (this.s56_1 === 0) { this.s56_1 = hashCode(this.o56_1); this.s56_1 = imul(31, this.s56_1) + hashCode(this.p56_1) | 0; this.s56_1 = imul(29, hashCode(this.q56_1)); var tmp = this; var tmp_0 = imul(23, this.s56_1); var tmp0_safe_receiver = this.r56_1; var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver); tmp.s56_1 = tmp_0 + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0; } return this.s56_1; }; protoOf(Key).toString = function () { return this.u56(); }; protoOf(Key).t56 = 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.q56_1.t55() + '>'); if (!(this.r56_1 == null)) { this_0.y5('(tag = "' + toString(this.r56_1) + '")'); } return this_0.toString(); }; protoOf(Key).v56 = 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.q56_1.v55() + '>'); if (!(this.r56_1 == null)) { this_0.y5('(tag = "' + toString(this.r56_1) + '")'); } return this_0.toString(); }; protoOf(Key).u56 = 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.q56_1.t55()); appendDescription(this_0, this, TypeToken$simpleDispString$ref()); return this_0.toString(); }; protoOf(Key).k57 = function () { return '(context: ' + this.o56_1.t55() + ', arg: ' + this.p56_1.t55() + ', type: ' + this.q56_1.t55() + ', tag: ' + toString(this.r56_1) + ')'; }; protoOf(Key).w56 = 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.q56_1.v55()); appendDescription(this_0, this, TypeToken$qualifiedDispString$ref()); return this_0.toString(); }; protoOf(Key).l57 = function (contextType, argType, type, tag) { return new Key(contextType, argType, type, tag); }; protoOf(Key).m57 = function (contextType, argType, type, tag, $super) { contextType = contextType === VOID ? this.o56_1 : contextType; argType = argType === VOID ? this.p56_1 : argType; type = type === VOID ? this.q56_1 : type; tag = tag === VOID ? this.r56_1 : tag; return $super === VOID ? this.l57(contextType, argType, type, tag) : $super.l57.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.o56_1, tmp0_other_with_cast.o56_1)) return false; if (!equals(this.p56_1, tmp0_other_with_cast.p56_1)) return false; if (!equals(this.q56_1, tmp0_other_with_cast.q56_1)) return false; if (!equals(this.r56_1, tmp0_other_with_cast.r56_1)) return false; return true; }; function Builder() { } function MainBuilder() { } function Module(allowSilentOverride, prefix, init) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; prefix = prefix === VOID ? '' : prefix; this.f57_1 = allowSilentOverride; this.g57_1 = prefix; this.h57_1 = init; this.i57_1 = null; } protoOf(Module).ec = function () { var tmp0_elvis_lhs = this.i57_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.f57_1 + ', prefix=' + this.g57_1 + ', init=' + this.h57_1 + ')'; }; protoOf(Module).hashCode = function () { var result = getBooleanHashCode(this.f57_1); result = imul(result, 31) + getStringHashCode(this.g57_1) | 0; result = imul(result, 31) + hashCode(this.h57_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.f57_1 === tmp0_other_with_cast.f57_1)) return false; if (!(this.g57_1 === tmp0_other_with_cast.g57_1)) return false; if (!equals(this.h57_1, tmp0_other_with_cast.h57_1)) return false; return true; }; function Companion() { this.x57_1 = false; this.y57_1 = false; } protoOf(Companion).z57 = function (allowSilentOverride, init) { return DIImpl_init_$Create$(allowSilentOverride, init); }; protoOf(Companion).a58 = function (allowSilentOverride, init, $super) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; return $super === VOID ? this.z57(allowSilentOverride, init) : $super.z57.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.b58().c58(), _this__u8e3s4.d58()); } function DIAware() { } function Instance(_this__u8e3s4, type, tag) { tag = tag === VOID ? null : tag; var tmp = _this__u8e3s4.e58(); var tmp_0 = _this__u8e3s4.d58(); return new DIProperty(tmp, tmp_0, Instance$lambda(_this__u8e3s4, type, tag)); } function Value(type, value) { this.f58_1 = type; this.g58_1 = value; } protoOf(Value).h58 = function () { return this.f58_1; }; protoOf(Value).t2 = function () { return this.g58_1; }; protoOf(Value).toString = function () { return 'Value(type=' + this.f58_1 + ', value=' + this.g58_1 + ')'; }; protoOf(Value).hashCode = function () { var result = hashCode(this.f58_1); result = imul(result, 31) + hashCode(this.g58_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.f58_1, tmp0_other_with_cast.f58_1)) return false; if (!equals(this.g58_1, tmp0_other_with_cast.g58_1)) return false; return true; }; function Companion_0() { } protoOf(Companion_0).i58 = 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.d58() : context; trigger = trigger === VOID ? _this__u8e3s4.e58() : trigger; return DIWrapper_init_$Create$(_this__u8e3s4, context, trigger); } function InstanceOrNull(_this__u8e3s4, type, tag) { tag = tag === VOID ? null : tag; var tmp = _this__u8e3s4.e58(); var tmp_0 = _this__u8e3s4.d58(); return new DIProperty(tmp, tmp_0, InstanceOrNull$lambda(_this__u8e3s4, type, tag)); } function get_AnyDIContext() { return Contexes_getInstance().j58_1; } function DIWrapper_init_$Init$(base, diContext, trigger, $this) { diContext = diContext === VOID ? base.d58() : diContext; trigger = trigger === VOID ? base.e58() : trigger; DIWrapper.call($this, base.b58(), 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.k58_1 = _base; this.l58_1 = diContext; this.m58_1 = diTrigger; } protoOf(DIWrapper).d58 = function () { return this.l58_1; }; protoOf(DIWrapper).e58 = function () { return this.m58_1; }; protoOf(DIWrapper).b58 = function () { return this; }; protoOf(DIWrapper).c58 = function () { return this.k58_1.c58(); }; function Contexes() { Contexes_instance = this; this.j58_1 = Companion_instance_0.i58(Companion_getInstance().s55_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.b58().c58(); // Inline function 'org.kodein.di.anyType' call var tmp_0 = ctx.h58(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); return tmp.n58(new Key(tmp$ret$0, Companion_getInstance().r55_1, $type, $tag), ctx.t2())(); }; } function InstanceOrNull$lambda($this_InstanceOrNull, $type, $tag) { return function (ctx, _anonymous_parameter_1__qggqgd) { var tmp = $this_InstanceOrNull.b58().c58(); // Inline function 'org.kodein.di.anyType' call var tmp_0 = ctx.h58(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); var tmp0_safe_receiver = tmp.o58(new Key(tmp$ret$0, Companion_getInstance().r55_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.h59_1 = contextType; this.i59_1 = argType; this.j59_1 = type; this.k59_1 = tag; } protoOf(SearchSpecs).toString = function () { var args = ArrayList_init_$Create$(); if (!(this.h59_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp0_safe_receiver = this.h59_1; var element = 'contextType=' + (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.t55()); args.j1(element); } if (!(this.i59_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp1_safe_receiver = this.i59_1; var element_0 = 'argType=' + (tmp1_safe_receiver == null ? null : tmp1_safe_receiver.t55()); args.j1(element_0); } if (!(this.j59_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp2_safe_receiver = this.j59_1; var element_1 = 'type=' + (tmp2_safe_receiver == null ? null : tmp2_safe_receiver.t55()); args.j1(element_1); } if (!equals(this.k59_1, NoDefinedTag_instance)) { // Inline function 'kotlin.collections.plusAssign' call var element_2 = 'tag=' + toString(this.k59_1); args.j1(element_2); } return '[' + joinToString(args, ', ') + ']'; }; function NoArgBindingDIWrap(_di) { this.l59_1 = _di; } protoOf(NoArgBindingDIWrap).b58 = function () { return this.l59_1.b58(); }; protoOf(NoArgBindingDIWrap).g59 = function () { return this.l59_1.g59(); }; protoOf(NoArgBindingDIWrap).c59 = function () { return this.l59_1.c59(); }; protoOf(NoArgBindingDIWrap).e59 = function (type, tag) { return this.l59_1.e59(type, tag); }; protoOf(NoArgBindingDIWrap).f59 = function (type, tag) { return this.l59_1.f59(type, tag); }; protoOf(NoArgBindingDIWrap).d59 = function (context) { return this.l59_1.d59(context); }; protoOf(NoArgBindingDIWrap).sd = function () { return this.l59_1.sd(); }; function ErasedContext() { } protoOf(ErasedContext).h58 = function () { return Companion_getInstance().s55_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.m59_1 = $f; } protoOf(DIBinding$Copier$Companion$invoke$1).n59 = function (builder) { return this.m59_1(builder); }; function Companion_1() { } protoOf(Companion_1).o59 = 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).v59 = 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.w59_1 = current; this.x59_1 = next; } protoOf(Reference).y6 = function () { return this.w59_1; }; protoOf(Reference).z6 = function () { return this.x59_1; }; protoOf(Reference).toString = function () { return 'Reference(current=' + this.w59_1 + ', next=' + this.x59_1 + ')'; }; protoOf(Reference).hashCode = function () { var result = hashCode(this.w59_1); result = imul(result, 31) + hashCode(this.x59_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.w59_1, tmp0_other_with_cast.w59_1)) return false; if (!equals(this.x59_1, tmp0_other_with_cast.x59_1)) return false; return true; }; function ScopeRegistry() { } function StandardScopeRegistry() { ScopeRegistry.call(this); this.z59_1 = newConcurrentMap(); this.a5a_1 = new Object(); } protoOf(StandardScopeRegistry).y59 = function (key, sync, creator) { var tmp$ret$2; $l$block_1: { // Inline function 'org.kodein.di.internal.synchronizedIfNull' call sync && this.a5a_1; // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call var tmp0_safe_receiver = this.z59_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.z59_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.z59_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.d5a_1 = contextType; this.e5a_1 = scopeType; this.f5a_1 = t; } protoOf(SimpleContextTranslator).c57 = function () { return this.d5a_1; }; protoOf(SimpleContextTranslator).b5a = function () { return this.e5a_1; }; protoOf(SimpleContextTranslator).c5a = function (di, ctx) { return this.f5a_1(di, ctx); }; protoOf(SimpleContextTranslator).toString = function () { return '()'; }; function NoScope() { this.g5a_1 = new StandardScopeRegistry(); } protoOf(NoScope).h5a = function (context) { return this.g5a_1; }; protoOf(NoScope).i5a = function (context) { return this.h5a((context == null ? true : !(context == null)) ? context : THROW_CCE()); }; function toKContext(_this__u8e3s4, di, ctx) { var tmp0_safe_receiver = _this__u8e3s4.c5a(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.i58(_this__u8e3s4.b5a(), tmp0_safe_receiver); } return tmp; } function CompositeContextTranslator(src, dst) { this.j5a_1 = src; this.k5a_1 = dst; } protoOf(CompositeContextTranslator).c57 = function () { return this.j5a_1.c57(); }; protoOf(CompositeContextTranslator).b5a = function () { return this.k5a_1.b5a(); }; protoOf(CompositeContextTranslator).c5a = function (di, ctx) { var tmp0_safe_receiver = this.j5a_1.c5a(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.k5a_1.c5a(di, tmp0_safe_receiver); } return tmp; }; protoOf(CompositeContextTranslator).toString = function () { return '(' + this.j5a_1 + ' -> ' + this.k5a_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.d1()) { this_0.y5(joinToString(params, ', ', '(', ')')); } return this_0.toString(); } function Singleton$getFactory$lambda$lambda$lambda(this$0, $bindingDi) { return function () { return this$0.q5a_1(new NoArgBindingDIWrap($bindingDi)); }; } function Singleton$getFactory$lambda$lambda(this$0, $bindingDi) { return function () { return this$0.r5a_1.v59(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.l5a_1.i5a($bindingDi.sd()); // 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.y59(this$0.s5a_1, this$0.p5a_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.l5a_1, this$0.m5a_1, this$0.n5a_1, this$0.o5a_1, this$0.r5a_1, this$0.p5a_1, this$0.q5a_1); }; } function Singleton(scope, contextType, explicitContext, createdType, refMaker, sync, creator) { refMaker = refMaker === VOID ? null : refMaker; sync = sync === VOID ? true : sync; this.l5a_1 = scope; this.m5a_1 = contextType; this.n5a_1 = explicitContext; this.o5a_1 = createdType; this.p5a_1 = sync; this.q5a_1 = creator; var tmp = this; tmp.r5a_1 = refMaker == null ? SingletonReference_instance : refMaker; this.s5a_1 = new ScopeKey(new Object(), Unit_instance); var tmp_0 = this; var tmp_1 = Companion_instance_1; tmp_0.t5a_1 = tmp_1.o59(Singleton$copier$lambda(this)); } protoOf(Singleton).d57 = function () { return this.l5a_1; }; protoOf(Singleton).c57 = function () { return this.m5a_1; }; protoOf(Singleton).s59 = function () { return this.o5a_1; }; protoOf(Singleton).p59 = function () { var params = ArrayList_init_$Create$_0(2); if (!equals(this.r5a_1, SingletonReference_instance)) { params.j1('ref = ' + erasedOf(this.r5a_1).t55()); } return factoryName(this, params); }; protoOf(Singleton).q59 = function () { var params = ArrayList_init_$Create$_0(2); if (!equals(this.r5a_1, SingletonReference_instance)) { params.j1('ref = ' + erasedOf(this.r5a_1).v55()); } return factoryName(this, params); }; protoOf(Singleton).u5a = function (key, di) { var lateInitRegistry = {_v: null}; var bindingDi = this.n5a_1 ? di : di.v5a(); return Singleton$getFactory$lambda(lateInitRegistry, this, bindingDi); }; protoOf(Singleton).u59 = function (key, di) { return this.u5a(key, di); }; protoOf(Singleton).z56 = function () { return this.t5a_1; }; function Provider$getFactory$lambda(this$0, $di) { return function (_anonymous_parameter_0__qggqh8) { return this$0.y5a_1(new NoArgBindingDIWrap($di)); }; } function Provider(contextType, createdType, creator) { this.w5a_1 = contextType; this.x5a_1 = createdType; this.y5a_1 = creator; } protoOf(Provider).c57 = function () { return this.w5a_1; }; protoOf(Provider).s59 = function () { return this.x5a_1; }; protoOf(Provider).p59 = function () { return 'provider'; }; protoOf(Provider).u5a = function (key, di) { return Provider$getFactory$lambda(this, di); }; protoOf(Provider).u59 = function (key, di) { return this.u5a(key, di); }; function ScopeKey(scopeId, arg) { this.z5a_1 = scopeId; this.a5b_1 = arg; } protoOf(ScopeKey).toString = function () { return 'ScopeKey(scopeId=' + toString_0(this.z5a_1) + ', arg=' + this.a5b_1 + ')'; }; protoOf(ScopeKey).hashCode = function () { var result = hashCode(this.z5a_1); result = imul(result, 31) + (this.a5b_1 == null ? 0 : hashCode(this.a5b_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.z5a_1, tmp0_other_with_cast.z5a_1)) return false; if (!equals(this.a5b_1, tmp0_other_with_cast.a5b_1)) return false; return true; }; function InstanceBinding$getFactory$lambda(this$0) { return function (_anonymous_parameter_0__qggqh8) { return this$0.c5b_1; }; } function InstanceBinding(createdType, instance) { this.b5b_1 = createdType; this.c5b_1 = instance; this.d5b_1 = Companion_getInstance().s55_1; } protoOf(InstanceBinding).s59 = function () { return this.b5b_1; }; protoOf(InstanceBinding).p59 = function () { return 'instance'; }; protoOf(InstanceBinding).c57 = function () { return this.d5b_1; }; protoOf(InstanceBinding).e5b = function (key, di) { return InstanceBinding$getFactory$lambda(this); }; protoOf(InstanceBinding).u59 = function (key, di) { return this.e5b(key, di); }; protoOf(InstanceBinding).u56 = function () { return this.p59() + ' ( ' + this.b5b_1.t55() + ' )'; }; protoOf(InstanceBinding).w56 = function () { return this.q59() + ' ( ' + this.b5b_1.v55() + ' )'; }; function DIMainBuilderImpl(allowSilentOverride) { DIBuilderImpl.call(this, null, '', HashSet_init_$Create$(), new DIContainerBuilderImpl(true, allowSilentOverride, HashMap_init_$Create$(), ArrayList_init_$Create$(), ArrayList_init_$Create$())); this.k5b_1 = ArrayList_init_$Create$(); this.l5b_1 = Companion_instance.x57_1; this.m5b_1 = Companion_instance.y57_1; } protoOf(DIMainBuilderImpl).x58 = function () { return this.k5b_1; }; protoOf(DIMainBuilderImpl).n5b = function () { return this.l5b_1; }; protoOf(DIMainBuilderImpl).o5b = function () { return this.m5b_1; }; protoOf(DIMainBuilderImpl).v57 = function (di, allowOverride, copy) { var keys = copy.x56(di.c58().p58()); this.n57().y5b(di.c58(), allowOverride, keys); // Inline function 'kotlin.collections.plusAssign' call var this_0 = this.x58(); var elements = di.c58().p58().x58(); addAll(this_0, elements); // Inline function 'kotlin.collections.flatMap' call // Inline function 'kotlin.collections.flatMapTo' call var this_1 = this.n57().u5b_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.n56_1; destination_0.j1(tmp$ret$1); } var list = destination_0; addAll(destination, list); } this.r5b_1.n1(filterNotNull(destination)); }; function TypeBinder($outer, type, tag, overrides) { this.c5c_1 = $outer; this.z5b_1 = type; this.a5c_1 = tag; this.b5c_1 = overrides; } protoOf(TypeBinder).n57 = function () { return this.c5c_1.n57(); }; protoOf(TypeBinder).d5c = function (binding) { return this.n57().e5c(new Key(binding.c57(), binding.r59(), this.z5b_1, this.a5c_1), binding, this.c5c_1.p5b_1, this.b5c_1); }; function ConstantBinder($outer, _tag, _overrides) { this.h5c_1 = $outer; this.f5c_1 = _tag; this.g5c_1 = _overrides; } protoOf(ConstantBinder).i5c = function (valueType, value) { return this.h5c_1.o57(this.f5c_1, this.g5c_1, new InstanceBinding(valueType, value)); }; function DIBuilderImpl(moduleName, prefix, importedModules, containerBuilder) { this.p5b_1 = moduleName; this.q5b_1 = prefix; this.r5b_1 = importedModules; this.s5b_1 = containerBuilder; this.t5b_1 = Companion_getInstance().s55_1; } protoOf(DIBuilderImpl).n57 = function () { return this.s5b_1; }; protoOf(DIBuilderImpl).c57 = function () { return this.t5b_1; }; protoOf(DIBuilderImpl).d57 = function () { return new NoScope(); }; protoOf(DIBuilderImpl).e57 = function () { return false; }; protoOf(DIBuilderImpl).p57 = function (type, tag, overrides) { return new TypeBinder(this, type, tag, overrides); }; protoOf(DIBuilderImpl).o57 = function (tag, overrides, binding) { this.n57().e5c(new Key(binding.c57(), binding.r59(), binding.s59(), tag), binding, this.p5b_1, overrides); }; protoOf(DIBuilderImpl).q57 = function (tag, overrides) { return new ConstantBinder(this, tag, overrides); }; protoOf(DIBuilderImpl).s57 = function (module_0, allowOverride) { var moduleName = this.q5b_1 + module_0.ec(); var tmp; // Inline function 'kotlin.text.isNotEmpty' call if (charSequenceLength(moduleName) > 0) { tmp = this.r5b_1.b1(moduleName); } else { tmp = false; } if (tmp) { throw IllegalStateException_init_$Create$('Module "' + moduleName + '" has already been imported!'); } // Inline function 'kotlin.collections.plusAssign' call this.r5b_1.j1(moduleName); // Inline function 'kotlin.apply' call var this_0 = new DIBuilderImpl(moduleName, this.q5b_1 + module_0.g57_1, this.r5b_1, this.n57().j5c(allowOverride, module_0.f57_1)); // Inline function 'kotlin.contracts.contract' call module_0.h57_1(this_0); }; protoOf(DIBuilderImpl).u57 = function (translator) { return this.n57().k5c(translator); }; function DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT() { OverrideMode.call(this, 'ALLOW_SILENT', 0); OverrideMode_ALLOW_SILENT_instance = this; } protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT).n5c = function () { return true; }; protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT).o5c = 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).n5c = function () { return true; }; protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT).o5c = 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).n5c = function () { return false; }; protoOf(DIContainerBuilderImpl$OverrideMode$FORBID).o5c = 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).t5c = 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.x5b_1.o5c(overrides); if (!(mustOverride == null)) { var tmp; if (mustOverride) { // Inline function 'kotlin.collections.contains' call // Inline function 'kotlin.collections.containsKey' call var this_0 = $this.u5b_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.u5b_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.x5b_1.n5c() ? 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.u5b_1 = bindingsMap; this.v5b_1 = callbacks; this.w5b_1 = translators; this.x5b_1 = Companion_instance_2.t5c(allowOverride, silentOverride); } protoOf(DIContainerBuilderImpl).e5c = function (key, binding, fromModule, overrides) { checkOverrides(this, key, overrides); // Inline function 'kotlin.collections.getOrPut' call var this_0 = this.u5b_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.d2(0, new DIDefining(isInterface(binding, DIBinding) ? binding : THROW_CCE(), fromModule)); }; protoOf(DIContainerBuilderImpl).y5b = function (container, allowOverride, copy) { checkMatch(this, allowOverride); // Inline function 'kotlin.collections.forEach' call // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = container.p58().y56().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.b1(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.m56_1.z56(); var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.n59(this); var tmp$ret$3 = new DIDefining(tmp1_elvis_lhs == null ? item.m56_1 : tmp1_elvis_lhs, item.n56_1); this_0.j1(tmp$ret$3); } tmp = this_0; } else { tmp = newLinkedList_0(bindings); } var newBindings = tmp; // Inline function 'kotlin.collections.set' call this.u5b_1.s(key, newBindings); } // Inline function 'kotlin.collections.plusAssign' call var this_1 = this.w5b_1; var elements = container.p58().w58(); addAll(this_1, elements); }; protoOf(DIContainerBuilderImpl).j5c = function (allowOverride, silentOverride) { checkMatch(this, allowOverride); return new DIContainerBuilderImpl(allowOverride, silentOverride, this.u5b_1, this.v5b_1, this.w5b_1); }; protoOf(DIContainerBuilderImpl).k5c = function (translator) { // Inline function 'kotlin.collections.plusAssign' call this.w5b_1.j1(translator); }; function displayString($this, key, overrideLevel) { var descProp = $this.z5c_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.y5c_1 == null ? true : firstKey_0.equals(node_0.w5c_1) ? firstOverrideLevel_0 === node_0.x5c_1 : false) { tmp = plus(listOf(displayString($this_0, node_0.w5c_1, node_0.x5c_1)), tail_0); } else { var tmp0 = $this_0; var tmp4 = plus(listOf(displayString($this_0, node_0.w5c_1, node_0.x5c_1)), tail_0); $this_0 = tmp0; node_0 = node_0.y5c_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.w5c_1.equals(searchedKey_0) ? node_0.x5c_1 === searchedOverrideLevel_0 : false) { tmp = false; } else if (node_0.y5c_1 == null) { tmp = true; } else { $this_0 = $this_0; node_0 = node_0.y5c_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.u5b_1, externalSources, builder.w5b_1), null, fullDescriptionOnError, fullContainerTreeOnError); var init = DIContainerImpl$_init_$lambda_r6ib3j($this, builder); if (runCallbacks) init(); else { var lock = new Object(); var tmp = $this; tmp.e5d_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.w5c_1 = key; this.x5c_1 = overrideLevel; this.y5c_1 = parent; this.z5c_1 = fullDescriptionOnError; } protoOf(Node).f5d = function (searchedKey, searchedOverrideLevel) { if (!recursiveCheck(this, this, searchedKey, searchedOverrideLevel)) { var list = plus_0(recursiveLoop(this, this, searchedKey, searchedOverrideLevel, emptyList()), displayString(this, searchedKey, this.x5c_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.b5d_1, $this.c5d_1), $this.c5d_1, $this.d5d_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.v5b_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.e5d_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.e5d_1; var tmp; if (tmp0_elvis_lhs == null) { break $l$block_0; } else { tmp = tmp0_elvis_lhs; } var value = tmp; this$0.e5d_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.a5d_1 = tree; this.b5d_1 = node; this.c5d_1 = fullDescriptionOnError; this.d5d_1 = fullContainerTreeOnError; this.e5d_1 = null; } protoOf(DIContainerImpl).p58 = function () { return this.a5d_1; }; protoOf(DIContainerImpl).s58 = function (key, context, overrideLevel) { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var it = this.a5d_1.z58(key, 0); var tmp; if (it.u() === 1) { var tmp0_container = it.v(0); var definition = tmp0_container.z6(); var translator = tmp0_container.nn(); var tmp1_safe_receiver = this.b5d_1; if (tmp1_safe_receiver == null) null; else { tmp1_safe_receiver.f5d(key, 0); } var tmp_0 = Companion_instance_0.i58(key.o56_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.l56_1, overrideLevel); return definition.m56_1.u59(key, bindingDI_0); } var bindingDI_1 = bindingDI(this, key, Companion_instance_0.i58(key.o56_1, context), this.a5d_1, overrideLevel); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator = this.a5d_1.x58().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factoryOrNull.' call var tmp0_safe_receiver = element.g5d(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.b5d_1; if (tmp0_safe_receiver_0 == null) null; else { tmp0_safe_receiver_0.f5d(key, 0); } return (!(tmp0_safe_receiver == null) ? typeof tmp0_safe_receiver === 'function' : false) ? tmp0_safe_receiver : THROW_CCE(); } } return null; }; protoOf(DIContainerImpl).q58 = function (key, context, overrideLevel) { var result = this.a5d_1.z58(key, overrideLevel); if (result.u() === 1) { var tmp0_container = result.v(0); var definition = tmp0_container.z6(); var translator = tmp0_container.nn(); var tmp1_safe_receiver = this.b5d_1; if (tmp1_safe_receiver == null) null; else { tmp1_safe_receiver.f5d(key, overrideLevel); } var tmp = Companion_instance_0.i58(key.o56_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.l56_1, overrideLevel); return definition.m56_1.u59(key, bindingDI_0); } var bindingDI_1 = bindingDI(this, key, Companion_instance_0.i58(key.o56_1, context), this.a5d_1, overrideLevel); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator = this.a5d_1.x58().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call var tmp0_safe_receiver = element.g5d(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.b5d_1; if (tmp0_safe_receiver_0 == null) null; else { tmp0_safe_receiver_0.f5d(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.c5d_1 ? fullDescription$factory_0(key) : description$factory_0(key); var tmp_0; if (this.c5d_1) { tmp_0 = DIContainerImpl$factory$lambda; } else { tmp_0 = DIContainerImpl$factory$lambda_0; } var descFun = tmp_0; if (result.d1()) { // 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.d5d_1) { // Inline function 'kotlin.text.appendLine' call this_0.z5(_Char___init__impl__6a9atx(10)); var forType = this.a5d_1.a59(new SearchSpecs(VOID, VOID, key.q56_1)); // Inline function 'kotlin.collections.isNotEmpty' call if (!forType.d1()) { // 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.kn_1, element_0.ln_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.a5d_1.y56(), 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.kn_1, ensureNotNull(this.a5d_1.b59(element_1.kn_1)).ln_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.a5d_1.y56(); 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().b1(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.v56(); }, null); } function bindDescription$factory_0($b0) { return getPropertyCallableRef('bindDescription', 0, KProperty0, function () { return $b0.t56(); }, null); } function fullDescription$factory_0($b0) { return getPropertyCallableRef('fullDescription', 0, KProperty0, function () { return $b0.w56(); }, null); } function description$factory_0($b0) { return getPropertyCallableRef('description', 0, KProperty0, function () { return $b0.u56(); }, 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.n57(), builder.x58(), builder.n5b(), builder.o5b(), 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.h5d_1.e5d_1 == null)) { throw IllegalStateException_init_$Create$('DI has not been initialized'); } return this$0.h5d_1; }; } function DIImpl(_container) { this.h5d_1 = _container; var tmp = this; tmp.i5d_1 = lazy(DIImpl$container$delegate$lambda(this)); } protoOf(DIImpl).c58 = function () { // Inline function 'kotlin.getValue' call var this_0 = this.i5d_1; container$factory(); return this_0.t2(); }; function BindingDIImpl(directDI, key, overrideLevel) { this.j5d_1 = directDI; this.k5d_1 = key; this.l5d_1 = overrideLevel; } protoOf(BindingDIImpl).g59 = function () { return this.j5d_1; }; protoOf(BindingDIImpl).b58 = function () { return this.j5d_1.b58(); }; protoOf(BindingDIImpl).c59 = function () { return this.j5d_1.c59(); }; protoOf(BindingDIImpl).e59 = function (type, tag) { return this.j5d_1.e59(type, tag); }; protoOf(BindingDIImpl).f59 = function (type, tag) { return this.j5d_1.f59(type, tag); }; protoOf(BindingDIImpl).d59 = function (context) { return this.j5d_1.d59(context); }; protoOf(BindingDIImpl).sd = function () { var tmp = this.g59().b58().d58().t2(); return !(tmp == null) ? tmp : THROW_CCE(); }; protoOf(BindingDIImpl).v5a = function () { return new BindingDIImpl(this.g59().d59(ErasedContext_instance), this.k5d_1, this.l5d_1); }; function container$factory() { return getPropertyCallableRef('container', 1, KProperty1, function (receiver) { return receiver.c58(); }, null); } function findBySpecs($this, specs) { var bindSeq = asSequence($this.p5d_1); var specsBindType = specs.j59_1; if (!(specsBindType == null) ? !equals(specsBindType, Companion_getInstance().s55_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.h59_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.i59_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.k59_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.k57(); var tmp_0 = request.k57(); var tmp_1 = $this.o5d_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.s5d($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.s5d($specsContextType)) { tmp = triple; } else { var tmp$ret$1; $l$block: { // Inline function 'kotlin.collections.firstOrNull' call var tmp0_iterator = this$0.r5d_1.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.findBySpecs..' call if (element.c57().b56($specsContextType) ? contextType.s5d(element.b5a()) : false) { tmp$ret$1 = element; break $l$block; } } tmp$ret$1 = null; } var translator = tmp$ret$1; tmp = !(translator == null) ? triple.pn(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.nn(); 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.s5d($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.nn(); 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.nn(); return to(key, translator); } function DITreeImpl$notInMap$lambda(it) { return it.k57(); } function DITreeImpl(map, externalSources, registeredTranslators) { this.m5d_1 = externalSources; this.n5d_1 = registeredTranslators; this.o5d_1 = newConcurrentMap(); this.p5d_1 = HashMap_init_$Create$(); this.r5d_1 = ArrayList_init_$Create$_1(this.n5d_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.m56_1, item.n56_1, this); } var tmp$ret$3 = tmp; destination.j1(tmp$ret$3); } var definitions = destination; // Inline function 'kotlin.collections.set' call var this_0 = this.o5d_1; var value = new Triple(key, definitions, null); this_0.s(key, value); var typeChecker = first(bindings).m56_1.t59() ? new Down(key.q56_1) : new Up(key.q56_1); // Inline function 'kotlin.collections.getOrPut' call var this_1 = this.p5d_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.o56_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.p56_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.r56_1; tagTree.s(key_2, key); } var tmp_3 = this; // Inline function 'kotlin.collections.mapValues' call var this_2 = this.o5d_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().ln_1; destination_0.s(tmp_4, tmp$ret$13); } tmp_3.q5d_1 = HashMap_init_$Create$_0(destination_0); $l$loop: while (true) { var added = ArrayList_init_$Create$(); var tmp0_iterator_2 = this.r5d_1.w(); while (tmp0_iterator_2.f()) { var src = tmp0_iterator_2.e(); var tmp1_iterator = this.r5d_1.w(); while (tmp1_iterator.f()) { var dst = tmp1_iterator.e(); if (dst.c57().b56(src.b5a()) ? !equals(src.c57(), dst.b5a()) : false) { var tmp$ret$17; $l$block_0: { // Inline function 'kotlin.collections.none' call var this_3 = this.r5d_1; var tmp_5; if (isInterface(this_3, Collection)) { tmp_5 = this_3.d1(); } 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.c57(), src.c57()) ? equals(element_1.b5a(), dst.b5a()) : 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.j1(element_2); } } } } // Inline function 'kotlin.collections.plusAssign' call var this_4 = this.r5d_1; addAll(this_4, added); if (added.d1()) break $l$loop; } } protoOf(DITreeImpl).x58 = function () { return this.m5d_1; }; protoOf(DITreeImpl).w58 = function () { return this.n5d_1; }; protoOf(DITreeImpl).y56 = function () { return this.q5d_1; }; protoOf(DITreeImpl).y58 = function (key, overrideLevel, all) { if (!all) { var tmp0_safe_receiver = this.o5d_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.nn(); 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.o56_1, Companion_getInstance().s55_1)) { var anyContextKey = key.m57(Companion_getInstance().s55_1); var tmp1_safe_receiver = this.o5d_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.nn(); if (!(translator_0 == null) ? !equals(translator_0.c57(), key.o56_1) : false) { break $l$block; } // Inline function 'kotlin.collections.set' call this.o5d_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.r5d_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.c57(), key.o56_1)) { destination.j1(element); } } var tmp_5 = destination; // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_1 = this.r5d_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.c57(), Companion_getInstance().s55_1)) { destination_0.j1(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.b5a(), key.p56_1, key.q56_1, key.r56_1); var tmp3_safe_receiver = this.o5d_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.mn_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.mn_1 == null)) { break $l$block_0; } // Inline function 'kotlin.collections.set' call var this_2 = this.o5d_1; var value = tmp4_safe_receiver.pn(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.o56_1, key.p56_1, key.q56_1, key.r56_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.o5d_1; var tmp6_safe_receiver = this.o5d_1.q(realKey_2); var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : tmp6_safe_receiver.pn(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.o5d_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.j1(tmp0_safe_receiver_0); } } return destination_1; }; protoOf(DITreeImpl).a59 = 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.o5d_1.q(key)).ln_1, translator); destination.j1(tmp$ret$0); } return destination; }; protoOf(DITreeImpl).b59 = function (key) { var tmp = this.o5d_1.q(key); return (tmp == null ? true : tmp instanceof Triple) ? tmp : THROW_CCE(); }; function Down(type) { TypeChecker.call(this); this.t5d_1 = type; this.u5d_1 = equals(this.t5d_1, Companion_getInstance().s55_1); } protoOf(Down).s5d = function (other) { return this.u5d_1 ? true : this.t5d_1.b56(other); }; protoOf(Down).toString = function () { return 'Down(type=' + this.t5d_1 + ')'; }; protoOf(Down).hashCode = function () { return hashCode(this.t5d_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.t5d_1, tmp0_other_with_cast.t5d_1)) return false; return true; }; function Up(type) { TypeChecker.call(this); this.v5d_1 = type; } protoOf(Up).s5d = function (other) { return equals(other, Companion_getInstance().s55_1) ? true : other.b56(this.v5d_1); }; protoOf(Up).toString = function () { return 'Up(type=' + this.v5d_1 + ')'; }; protoOf(Up).hashCode = function () { return hashCode(this.v5d_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.v5d_1, tmp0_other_with_cast.v5d_1)) return false; return true; }; function TypeChecker() { } function DirectDIBaseImpl(container, context) { this.w5d_1 = container; this.x5d_1 = context; } protoOf(DirectDIBaseImpl).c58 = function () { return this.w5d_1; }; protoOf(DirectDIBaseImpl).g59 = function () { return this; }; protoOf(DirectDIBaseImpl).c59 = function () { var tmp = this.c58(); return On(new DIImpl(tmp instanceof DIContainerImpl ? tmp : THROW_CCE()), this.x5d_1); }; protoOf(DirectDIBaseImpl).d59 = function (context) { return new DirectDIImpl(this.c58(), context); }; protoOf(DirectDIBaseImpl).e59 = function (type, tag) { var tmp = this.c58(); // Inline function 'org.kodein.di.internal.anyType' call var tmp_0 = this.x5d_1.h58(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); return tmp.n58(new Key(tmp$ret$0, Companion_getInstance().r55_1, type, tag), this.x5d_1.t2())(); }; protoOf(DirectDIBaseImpl).f59 = function (type, tag) { var tmp = this.c58(); // Inline function 'org.kodein.di.internal.anyType' call var tmp_0 = this.x5d_1.h58(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); var tmp0_safe_receiver = tmp.o58(new Key(tmp$ret$0, Companion_getInstance().r55_1, type, tag), this.x5d_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.z5d_1 === get_AnyDIContext() : false) { var tmp_0 = Companion_instance_0; var tmp_1 = erasedOf($receiver); tmp = tmp_0.i58(isInterface(tmp_1, TypeToken) ? tmp_1 : THROW_CCE(), $receiver); } else { tmp = this$0.z5d_1; } var context = tmp; return this$0.a5e_1(context, $prop.callableName); }; } function DIProperty(trigger, originalContext, get) { this.y5d_1 = trigger; this.z5d_1 = originalContext; this.a5e_1 = get; } protoOf(DIProperty).b5e = 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.y5d_1; var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.c5e_1; if (tmp1_safe_receiver == null) null; else tmp1_safe_receiver.j1(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).r59 = get_argType; protoOf(Singleton).u56 = get_description; protoOf(Singleton).w56 = get_fullDescription; protoOf(Singleton).t59 = get_supportSubTypes; protoOf(Provider).r59 = get_argType; protoOf(Provider).q59 = factoryFullName; protoOf(Provider).d57 = get_scope; protoOf(Provider).u56 = get_description; protoOf(Provider).w56 = get_fullDescription; protoOf(Provider).z56 = get_copier; protoOf(Provider).t59 = get_supportSubTypes; protoOf(InstanceBinding).r59 = get_argType; protoOf(InstanceBinding).q59 = factoryFullName; protoOf(InstanceBinding).d57 = get_scope; protoOf(InstanceBinding).z56 = get_copier; protoOf(InstanceBinding).t59 = get_supportSubTypes; protoOf(DIBuilderImpl).r57 = constant$default; protoOf(DIBuilderImpl).t57 = import$default; protoOf(DIMainBuilderImpl).w57 = extend$default; protoOf(DIContainerImpl).t58 = factoryOrNull$default; protoOf(DIContainerImpl).r58 = factory$default; protoOf(DIContainerImpl).u58 = provider; protoOf(DIContainerImpl).n58 = provider$default; protoOf(DIContainerImpl).v58 = providerOrNull; protoOf(DIContainerImpl).o58 = providerOrNull$default; protoOf(DIImpl).b58 = get_di; protoOf(DIImpl).d58 = get_diContext; protoOf(DIImpl).e58 = get_diTrigger; protoOf(DITreeImpl).z58 = find$default; protoOf(DirectDIBaseImpl).b58 = 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