Index: mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart |
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart |
index e78a28e44fb0c7a24607ca37f522e90eddbc4762..d1c96dd4026c0233c0b4748973b0d9640d9fa0d9 100644 |
--- a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart |
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart |
@@ -76,6 +76,12 @@ class Employee extends bindings.Struct { |
Employee() : super(kVersions.last.size); |
+ Employee.init( |
+ int this.employeeId, |
+ String this.name, |
+ Department this.department |
+ ) : super(kVersions.last.size); |
+ |
static Employee deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -178,6 +184,10 @@ class _HumanResourceDatabaseAddEmployeeParams extends bindings.Struct { |
_HumanResourceDatabaseAddEmployeeParams() : super(kVersions.last.size); |
+ _HumanResourceDatabaseAddEmployeeParams.init( |
+ Employee this.employee |
+ ) : super(kVersions.last.size); |
+ |
static _HumanResourceDatabaseAddEmployeeParams deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -251,6 +261,10 @@ class HumanResourceDatabaseAddEmployeeResponseParams extends bindings.Struct { |
HumanResourceDatabaseAddEmployeeResponseParams() : super(kVersions.last.size); |
+ HumanResourceDatabaseAddEmployeeResponseParams.init( |
+ bool this.success |
+ ) : super(kVersions.last.size); |
+ |
static HumanResourceDatabaseAddEmployeeResponseParams deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -325,6 +339,11 @@ class _HumanResourceDatabaseQueryEmployeeParams extends bindings.Struct { |
_HumanResourceDatabaseQueryEmployeeParams() : super(kVersions.last.size); |
+ _HumanResourceDatabaseQueryEmployeeParams.init( |
+ int this.id, |
+ bool this.retrieveFingerPrint |
+ ) : super(kVersions.last.size); |
+ |
static _HumanResourceDatabaseQueryEmployeeParams deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -412,6 +431,11 @@ class HumanResourceDatabaseQueryEmployeeResponseParams extends bindings.Struct { |
HumanResourceDatabaseQueryEmployeeResponseParams() : super(kVersions.last.size); |
+ HumanResourceDatabaseQueryEmployeeResponseParams.init( |
+ Employee this.employee, |
+ List<int> this.fingerPrint |
+ ) : super(kVersions.last.size); |
+ |
static HumanResourceDatabaseQueryEmployeeResponseParams deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -499,6 +523,11 @@ class _HumanResourceDatabaseAttachFingerPrintParams extends bindings.Struct { |
_HumanResourceDatabaseAttachFingerPrintParams() : super(kVersions.last.size); |
+ _HumanResourceDatabaseAttachFingerPrintParams.init( |
+ int this.id, |
+ List<int> this.fingerPrint |
+ ) : super(kVersions.last.size); |
+ |
static _HumanResourceDatabaseAttachFingerPrintParams deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -584,6 +613,10 @@ class HumanResourceDatabaseAttachFingerPrintResponseParams extends bindings.Stru |
HumanResourceDatabaseAttachFingerPrintResponseParams() : super(kVersions.last.size); |
+ HumanResourceDatabaseAttachFingerPrintResponseParams.init( |
+ bool this.success |
+ ) : super(kVersions.last.size); |
+ |
static HumanResourceDatabaseAttachFingerPrintResponseParams deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -655,6 +688,9 @@ class _HumanResourceDatabaseListEmployeeIdsParams extends bindings.Struct { |
_HumanResourceDatabaseListEmployeeIdsParams() : super(kVersions.last.size); |
+ _HumanResourceDatabaseListEmployeeIdsParams.init( |
+ ) : super(kVersions.last.size); |
+ |
static _HumanResourceDatabaseListEmployeeIdsParams deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -714,6 +750,10 @@ class HumanResourceDatabaseListEmployeeIdsResponseParams extends bindings.Struct |
HumanResourceDatabaseListEmployeeIdsResponseParams() : super(kVersions.last.size); |
+ HumanResourceDatabaseListEmployeeIdsResponseParams.init( |
+ List<int> this.ids |
+ ) : super(kVersions.last.size); |
+ |
static HumanResourceDatabaseListEmployeeIdsResponseParams deserialize(bindings.Message message) { |
var decoder = new bindings.Decoder(message); |
var result = decode(decoder); |
@@ -783,17 +823,19 @@ const int _humanResourceDatabaseMethodAttachFingerPrintName = 2; |
const int _humanResourceDatabaseMethodListEmployeeIdsName = 3; |
class _HumanResourceDatabaseServiceDescription implements service_describer.ServiceDescription { |
- dynamic getTopLevelInterface([Function responseFactory]){ |
+ void getTopLevelInterface(Function responder){ |
var interfaceTypeKey = getRuntimeTypeInfo().services["mojo::test::versioning::HumanResourceDatabase"]; |
var userDefinedType = getAllMojomTypeDefinitions()[interfaceTypeKey]; |
- return responseFactory(userDefinedType.interfaceType); |
+ responder(userDefinedType.interfaceType); |
} |
- dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => |
- responseFactory(getAllMojomTypeDefinitions()[typeKey]); |
+ void getTypeDefinition(String typeKey, Function responder) { |
+ responder(getAllMojomTypeDefinitions()[typeKey]); |
+ } |
- dynamic getAllTypeDefinitions([Function responseFactory]) => |
- responseFactory(getAllMojomTypeDefinitions()); |
+ void getAllTypeDefinitions(Function responder) { |
+ responder(getAllMojomTypeDefinitions()); |
+ } |
} |
abstract class HumanResourceDatabase { |
@@ -818,10 +860,10 @@ abstract class HumanResourceDatabase { |
s.connectToService(url, p, name); |
return p; |
} |
- dynamic addEmployee(Employee employee,[Function responseFactory = null]); |
- dynamic queryEmployee(int id,bool retrieveFingerPrint,[Function responseFactory = null]); |
- dynamic attachFingerPrint(int id,List<int> fingerPrint,[Function responseFactory = null]); |
- dynamic listEmployeeIds([Function responseFactory = null]); |
+ void addEmployee(Employee employee,void callback(bool success)); |
+ void queryEmployee(int id,bool retrieveFingerPrint,void callback(Employee employee, List<int> fingerPrint)); |
+ void attachFingerPrint(int id,List<int> fingerPrint,void callback(bool success)); |
+ void listEmployeeIds(void callback(List<int> ids)); |
} |
abstract class HumanResourceDatabaseInterface |
@@ -871,18 +913,14 @@ class _HumanResourceDatabaseProxyControl |
proxyError("Expected a message with a valid request Id."); |
return; |
} |
- Completer c = completerMap[message.header.requestId]; |
- if (c == null) { |
+ Function callback = callbackMap[message.header.requestId]; |
+ if (callback == null) { |
proxyError( |
"Message had unknown request Id: ${message.header.requestId}"); |
return; |
} |
- completerMap.remove(message.header.requestId); |
- if (c.isCompleted) { |
- proxyError("Response completer already completed"); |
- return; |
- } |
- c.complete(r); |
+ callbackMap.remove(message.header.requestId); |
+ callback(r.success ); |
break; |
case _humanResourceDatabaseMethodQueryEmployeeName: |
var r = HumanResourceDatabaseQueryEmployeeResponseParams.deserialize( |
@@ -891,18 +929,14 @@ class _HumanResourceDatabaseProxyControl |
proxyError("Expected a message with a valid request Id."); |
return; |
} |
- Completer c = completerMap[message.header.requestId]; |
- if (c == null) { |
+ Function callback = callbackMap[message.header.requestId]; |
+ if (callback == null) { |
proxyError( |
"Message had unknown request Id: ${message.header.requestId}"); |
return; |
} |
- completerMap.remove(message.header.requestId); |
- if (c.isCompleted) { |
- proxyError("Response completer already completed"); |
- return; |
- } |
- c.complete(r); |
+ callbackMap.remove(message.header.requestId); |
+ callback(r.employee , r.fingerPrint ); |
break; |
case _humanResourceDatabaseMethodAttachFingerPrintName: |
var r = HumanResourceDatabaseAttachFingerPrintResponseParams.deserialize( |
@@ -911,18 +945,14 @@ class _HumanResourceDatabaseProxyControl |
proxyError("Expected a message with a valid request Id."); |
return; |
} |
- Completer c = completerMap[message.header.requestId]; |
- if (c == null) { |
+ Function callback = callbackMap[message.header.requestId]; |
+ if (callback == null) { |
proxyError( |
"Message had unknown request Id: ${message.header.requestId}"); |
return; |
} |
- completerMap.remove(message.header.requestId); |
- if (c.isCompleted) { |
- proxyError("Response completer already completed"); |
- return; |
- } |
- c.complete(r); |
+ callbackMap.remove(message.header.requestId); |
+ callback(r.success ); |
break; |
case _humanResourceDatabaseMethodListEmployeeIdsName: |
var r = HumanResourceDatabaseListEmployeeIdsResponseParams.deserialize( |
@@ -931,18 +961,14 @@ class _HumanResourceDatabaseProxyControl |
proxyError("Expected a message with a valid request Id."); |
return; |
} |
- Completer c = completerMap[message.header.requestId]; |
- if (c == null) { |
+ Function callback = callbackMap[message.header.requestId]; |
+ if (callback == null) { |
proxyError( |
"Message had unknown request Id: ${message.header.requestId}"); |
return; |
} |
- completerMap.remove(message.header.requestId); |
- if (c.isCompleted) { |
- proxyError("Response completer already completed"); |
- return; |
- } |
- c.complete(r); |
+ callbackMap.remove(message.header.requestId); |
+ callback(r.ids ); |
break; |
default: |
proxyError("Unexpected message type: ${message.header.type}"); |
@@ -987,54 +1013,62 @@ class HumanResourceDatabaseProxy |
} |
- dynamic addEmployee(Employee employee,[Function responseFactory = null]) { |
+ void addEmployee(Employee employee,void callback(bool success)) { |
if (impl != null) { |
- return new Future(() => impl.addEmployee(employee,_HumanResourceDatabaseStubControl._humanResourceDatabaseAddEmployeeResponseParamsFactory)); |
+ impl.addEmployee(employee,callback); |
+ return; |
} |
var params = new _HumanResourceDatabaseAddEmployeeParams(); |
params.employee = employee; |
- return ctrl.sendMessageWithRequestId( |
+ ctrl.sendMessageWithRequestId( |
params, |
_humanResourceDatabaseMethodAddEmployeeName, |
-1, |
- bindings.MessageHeader.kMessageExpectsResponse); |
+ bindings.MessageHeader.kMessageExpectsResponse, |
+ callback); |
} |
- dynamic queryEmployee(int id,bool retrieveFingerPrint,[Function responseFactory = null]) { |
+ void queryEmployee(int id,bool retrieveFingerPrint,void callback(Employee employee, List<int> fingerPrint)) { |
if (impl != null) { |
- return new Future(() => impl.queryEmployee(id,retrieveFingerPrint,_HumanResourceDatabaseStubControl._humanResourceDatabaseQueryEmployeeResponseParamsFactory)); |
+ impl.queryEmployee(id,retrieveFingerPrint,callback); |
+ return; |
} |
var params = new _HumanResourceDatabaseQueryEmployeeParams(); |
params.id = id; |
params.retrieveFingerPrint = retrieveFingerPrint; |
- return ctrl.sendMessageWithRequestId( |
+ ctrl.sendMessageWithRequestId( |
params, |
_humanResourceDatabaseMethodQueryEmployeeName, |
-1, |
- bindings.MessageHeader.kMessageExpectsResponse); |
+ bindings.MessageHeader.kMessageExpectsResponse, |
+ callback); |
} |
- dynamic attachFingerPrint(int id,List<int> fingerPrint,[Function responseFactory = null]) { |
+ void attachFingerPrint(int id,List<int> fingerPrint,void callback(bool success)) { |
if (impl != null) { |
- return new Future(() => impl.attachFingerPrint(id,fingerPrint,_HumanResourceDatabaseStubControl._humanResourceDatabaseAttachFingerPrintResponseParamsFactory)); |
+ impl.attachFingerPrint(id,fingerPrint,callback); |
+ return; |
} |
var params = new _HumanResourceDatabaseAttachFingerPrintParams(); |
params.id = id; |
params.fingerPrint = fingerPrint; |
- return ctrl.sendMessageWithRequestId( |
+ ctrl.sendMessageWithRequestId( |
params, |
_humanResourceDatabaseMethodAttachFingerPrintName, |
-1, |
- bindings.MessageHeader.kMessageExpectsResponse); |
+ bindings.MessageHeader.kMessageExpectsResponse, |
+ callback); |
} |
- dynamic listEmployeeIds([Function responseFactory = null]) { |
+ void listEmployeeIds(void callback(List<int> ids)) { |
if (impl != null) { |
- return new Future(() => impl.listEmployeeIds(_HumanResourceDatabaseStubControl._humanResourceDatabaseListEmployeeIdsResponseParamsFactory)); |
+ impl.listEmployeeIds(callback); |
+ return; |
} |
var params = new _HumanResourceDatabaseListEmployeeIdsParams(); |
- return ctrl.sendMessageWithRequestId( |
+ ctrl.sendMessageWithRequestId( |
params, |
_humanResourceDatabaseMethodListEmployeeIdsName, |
-1, |
- bindings.MessageHeader.kMessageExpectsResponse); |
+ bindings.MessageHeader.kMessageExpectsResponse, |
+ callback); |
} |
} |
@@ -1060,33 +1094,61 @@ class _HumanResourceDatabaseStubControl |
String get serviceName => HumanResourceDatabase.serviceName; |
- static HumanResourceDatabaseAddEmployeeResponseParams _humanResourceDatabaseAddEmployeeResponseParamsFactory(bool success) { |
- var result = new HumanResourceDatabaseAddEmployeeResponseParams(); |
- result.success = success; |
- return result; |
- } |
- static HumanResourceDatabaseQueryEmployeeResponseParams _humanResourceDatabaseQueryEmployeeResponseParamsFactory(Employee employee, List<int> fingerPrint) { |
- var result = new HumanResourceDatabaseQueryEmployeeResponseParams(); |
- result.employee = employee; |
- result.fingerPrint = fingerPrint; |
- return result; |
- } |
- static HumanResourceDatabaseAttachFingerPrintResponseParams _humanResourceDatabaseAttachFingerPrintResponseParamsFactory(bool success) { |
- var result = new HumanResourceDatabaseAttachFingerPrintResponseParams(); |
- result.success = success; |
- return result; |
- } |
- static HumanResourceDatabaseListEmployeeIdsResponseParams _humanResourceDatabaseListEmployeeIdsResponseParamsFactory(List<int> ids) { |
- var result = new HumanResourceDatabaseListEmployeeIdsResponseParams(); |
- result.ids = ids; |
- return result; |
- } |
- |
- dynamic handleMessage(bindings.ServiceMessage message) { |
+ Function _humanResourceDatabaseAddEmployeeResponseParamsResponder( |
+ int requestId) { |
+ return (bool success) { |
+ var result = new HumanResourceDatabaseAddEmployeeResponseParams(); |
+ result.success = success; |
+ sendResponse(buildResponseWithId( |
+ result, |
+ _humanResourceDatabaseMethodAddEmployeeName, |
+ requestId, |
+ bindings.MessageHeader.kMessageIsResponse)); |
+ }; |
+ } |
+ Function _humanResourceDatabaseQueryEmployeeResponseParamsResponder( |
+ int requestId) { |
+ return (Employee employee, List<int> fingerPrint) { |
+ var result = new HumanResourceDatabaseQueryEmployeeResponseParams(); |
+ result.employee = employee; |
+ result.fingerPrint = fingerPrint; |
+ sendResponse(buildResponseWithId( |
+ result, |
+ _humanResourceDatabaseMethodQueryEmployeeName, |
+ requestId, |
+ bindings.MessageHeader.kMessageIsResponse)); |
+ }; |
+ } |
+ Function _humanResourceDatabaseAttachFingerPrintResponseParamsResponder( |
+ int requestId) { |
+ return (bool success) { |
+ var result = new HumanResourceDatabaseAttachFingerPrintResponseParams(); |
+ result.success = success; |
+ sendResponse(buildResponseWithId( |
+ result, |
+ _humanResourceDatabaseMethodAttachFingerPrintName, |
+ requestId, |
+ bindings.MessageHeader.kMessageIsResponse)); |
+ }; |
+ } |
+ Function _humanResourceDatabaseListEmployeeIdsResponseParamsResponder( |
+ int requestId) { |
+ return (List<int> ids) { |
+ var result = new HumanResourceDatabaseListEmployeeIdsResponseParams(); |
+ result.ids = ids; |
+ sendResponse(buildResponseWithId( |
+ result, |
+ _humanResourceDatabaseMethodListEmployeeIdsName, |
+ requestId, |
+ bindings.MessageHeader.kMessageIsResponse)); |
+ }; |
+ } |
+ |
+ void handleMessage(bindings.ServiceMessage message) { |
if (bindings.ControlMessageHandler.isControlMessage(message)) { |
- return bindings.ControlMessageHandler.handleMessage(this, |
- 2, |
- message); |
+ bindings.ControlMessageHandler.handleMessage( |
+ this, 2, message); |
+ return; |
} |
if (_impl == null) { |
throw new core.MojoApiError("$this has no implementation set"); |
@@ -1095,94 +1157,25 @@ class _HumanResourceDatabaseStubControl |
case _humanResourceDatabaseMethodAddEmployeeName: |
var params = _HumanResourceDatabaseAddEmployeeParams.deserialize( |
message.payload); |
- var response = _impl.addEmployee(params.employee,_humanResourceDatabaseAddEmployeeResponseParamsFactory); |
- if (response is Future) { |
- return response.then((response) { |
- if (response != null) { |
- return buildResponseWithId( |
- response, |
- _humanResourceDatabaseMethodAddEmployeeName, |
- message.header.requestId, |
- bindings.MessageHeader.kMessageIsResponse); |
- } |
- }); |
- } else if (response != null) { |
- return buildResponseWithId( |
- response, |
- _humanResourceDatabaseMethodAddEmployeeName, |
- message.header.requestId, |
- bindings.MessageHeader.kMessageIsResponse); |
- } |
+ _impl.addEmployee(params.employee, _humanResourceDatabaseAddEmployeeResponseParamsResponder(message.header.requestId)); |
break; |
case _humanResourceDatabaseMethodQueryEmployeeName: |
var params = _HumanResourceDatabaseQueryEmployeeParams.deserialize( |
message.payload); |
- var response = _impl.queryEmployee(params.id,params.retrieveFingerPrint,_humanResourceDatabaseQueryEmployeeResponseParamsFactory); |
- if (response is Future) { |
- return response.then((response) { |
- if (response != null) { |
- return buildResponseWithId( |
- response, |
- _humanResourceDatabaseMethodQueryEmployeeName, |
- message.header.requestId, |
- bindings.MessageHeader.kMessageIsResponse); |
- } |
- }); |
- } else if (response != null) { |
- return buildResponseWithId( |
- response, |
- _humanResourceDatabaseMethodQueryEmployeeName, |
- message.header.requestId, |
- bindings.MessageHeader.kMessageIsResponse); |
- } |
+ _impl.queryEmployee(params.id, params.retrieveFingerPrint, _humanResourceDatabaseQueryEmployeeResponseParamsResponder(message.header.requestId)); |
break; |
case _humanResourceDatabaseMethodAttachFingerPrintName: |
var params = _HumanResourceDatabaseAttachFingerPrintParams.deserialize( |
message.payload); |
- var response = _impl.attachFingerPrint(params.id,params.fingerPrint,_humanResourceDatabaseAttachFingerPrintResponseParamsFactory); |
- if (response is Future) { |
- return response.then((response) { |
- if (response != null) { |
- return buildResponseWithId( |
- response, |
- _humanResourceDatabaseMethodAttachFingerPrintName, |
- message.header.requestId, |
- bindings.MessageHeader.kMessageIsResponse); |
- } |
- }); |
- } else if (response != null) { |
- return buildResponseWithId( |
- response, |
- _humanResourceDatabaseMethodAttachFingerPrintName, |
- message.header.requestId, |
- bindings.MessageHeader.kMessageIsResponse); |
- } |
+ _impl.attachFingerPrint(params.id, params.fingerPrint, _humanResourceDatabaseAttachFingerPrintResponseParamsResponder(message.header.requestId)); |
break; |
case _humanResourceDatabaseMethodListEmployeeIdsName: |
- var response = _impl.listEmployeeIds(_humanResourceDatabaseListEmployeeIdsResponseParamsFactory); |
- if (response is Future) { |
- return response.then((response) { |
- if (response != null) { |
- return buildResponseWithId( |
- response, |
- _humanResourceDatabaseMethodListEmployeeIdsName, |
- message.header.requestId, |
- bindings.MessageHeader.kMessageIsResponse); |
- } |
- }); |
- } else if (response != null) { |
- return buildResponseWithId( |
- response, |
- _humanResourceDatabaseMethodListEmployeeIdsName, |
- message.header.requestId, |
- bindings.MessageHeader.kMessageIsResponse); |
- } |
+ _impl.listEmployeeIds(_humanResourceDatabaseListEmployeeIdsResponseParamsResponder(message.header.requestId)); |
break; |
default: |
throw new bindings.MojoCodecError("Unexpected message name"); |
break; |
} |
- return null; |
} |
HumanResourceDatabase get impl => _impl; |
@@ -1236,17 +1229,17 @@ class HumanResourceDatabaseStub |
} |
- dynamic addEmployee(Employee employee,[Function responseFactory = null]) { |
- return impl.addEmployee(employee,responseFactory); |
+ void addEmployee(Employee employee,void callback(bool success)) { |
+ return impl.addEmployee(employee,callback); |
} |
- dynamic queryEmployee(int id,bool retrieveFingerPrint,[Function responseFactory = null]) { |
- return impl.queryEmployee(id,retrieveFingerPrint,responseFactory); |
+ void queryEmployee(int id,bool retrieveFingerPrint,void callback(Employee employee, List<int> fingerPrint)) { |
+ return impl.queryEmployee(id,retrieveFingerPrint,callback); |
} |
- dynamic attachFingerPrint(int id,List<int> fingerPrint,[Function responseFactory = null]) { |
- return impl.attachFingerPrint(id,fingerPrint,responseFactory); |
+ void attachFingerPrint(int id,List<int> fingerPrint,void callback(bool success)) { |
+ return impl.attachFingerPrint(id,fingerPrint,callback); |
} |
- dynamic listEmployeeIds([Function responseFactory = null]) { |
- return impl.listEmployeeIds(responseFactory); |
+ void listEmployeeIds(void callback(List<int> ids)) { |
+ return impl.listEmployeeIds(callback); |
} |
} |
@@ -1263,7 +1256,7 @@ mojom_types.RuntimeTypeInfo _initRuntimeTypeInfo() { |
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of |
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this |
// file. The string contains the base64 encoding of the gzip-compressed bytes. |
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xaT4/bRBS3nS1rtlRd+i+GwjYLAqJC4wqEFKWXXbFBRRQUWFRRcQheZ0qM1nawnVV64yNw5MhH6JEjx34EjnyEPfZGZ5o39WQ8YzuJ106kHenJa8eZmfeb937ze7MxlGnbhuvfcOWf95h7FZsO959ju4PN9X/1O50IhVGnc4KC0PE9x/ul07k/di3vexT648BGB1ZkHVkhEvRzD9tn2H541Ov2v+4+6pAOW6S/VtxdS9Zbcr7P4NrAVmM+34PrEK53sTUzxz1AIyuIXORFLfzuh5nvd93Rsf8EoeX9asP8qV9Nbh3+rMX35M+/dPH66eqs/wrjP/v8f2g/KuJ2BdsWthiR6fOPsN2COEiBLzGvi9guYLOx/YTNHPouMoPxwHcdDwUm6c8MA3v6x2h8dOzYpuNFKHhs2Sg0jxxvgIcITTJmaMaD9smDvn3skEUjX3Zf4aIx499VZ3FtKOlNhl87J36XwN/D/QfdQ8idD7Jxa9H3efzeAH/Kwi8LJ7UgnC5CPB90H768/xjb+zlwou/zOF0qGacGx6M0//7dmA+fngSfbeBOyjQkht6V4RPTUQIXct0sGReWj5uUl7RZXNrcPLeUfE2Gq8LgKnpO21WIPQSQ9Z2BMJ7exPZ6ibiJcCHQPZf4oS+Ai8rkN98Iz5DQ9SwXifC4UjIe2xL/WHwusIQkyJ958dFS4obuiwNuX+RxugpcVDYP8X43MvbzeXURr+cMZswaMx6/fzyF9fkPrppkPZ9yuo7y42kKP7LzaQh07SbznOb9IQpOHBt9C2G+sL4lXHwdm+zzT7HdlvG1XA4m4qkO61dWPC2KhyGJPwN4haaqBvHShOf0Pf01iJ/LUI/cEMcTjYc/amezL+wPBsxumvTLqFhnUP+HWn6/SWtL/L4JvjN+3wnQb2M8GaH/tJW5D7B5LtsHnhesH5oZuozqB1F81FeA/w2Jjpy3vk3jfVWS72yc6gXF6TvYriXiNBz5XojWJU7nacvG6WXY/8Kxjd0JhTx2u0J8ZHEk4/t/NvLVn7zelfH9ddBp341R8CSlfnp7Rfh+Uismj6humfGbYfyq84g/vzHUcutGWT5twbygXBTGSb3iejGt6ZLzG/r9iSR/fl9Cf9eY8Wgd8o3jPZz6NhuPAYoCB52g/mPsMwr6o8DxIgnOZoXx2MjgL4PTukbG/nhaUF7vYLshyGu6Q65aXk/U9dBzN0F3lM3/6hnpORHeZF3uq8XyxuSMeeManFlxdKGI1u9eRetHsKDz2OTqx2X5hNdJewDYs434nEXNuV5aCTz/Fpyp7keRZQ+/fLlqPbpognXbqVh3Uf7pzcnPexIcdwGDhP8z1fa5/lpUf+1Arlepv7SU8+hFz+tl9Ute/iO4fFLReYSI/9LqwDS9RPNxWysmH98DLSnKx/hU4fxcYd5zBRJvX6zBuUIb8vRnLf4fhpZzv6wVoG+0jP2yDlg/cMKIqrevBkm8d1fkfOJUKaaOuQW+c36/2iWrzkc9B48pKetPcWoWdC7agL6TeE1ZbB34Syux3qO/O3FwLon4fRd+61R1vbCVI85YfnsRAAD//xqidsPoJwAA"; |
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xaT4/bRBS3nYUNW6ou/beGwtYLAqJC41URUpRedsUGFVFQYFFFT5HXmSZGiR1sZ7Xl1CNHPgbHHvsR+Agce+TIcW8wk7ypJ+MZ20m8sSN1pKdZe53xvN+893u/mURXpm0b+hfQ8/fbzLWKrQrXX2K7i23o/eI1myEKwmbzFPmB47mO22s2H4yHlvsjCryxb6MjK7ROrAAJxrmP7QtsPz1utzrfth43yYB1Ml49Gq4uGy0+37+gN7BVmP8fQN+Hfh9bLfW9R2hk+eEQuWEdP/tJ6vOt4WjgPUVoeb8aMH/qV41bh+eV6Jr8+XdVvH7b6qz/CuM/e/8/aD8r4nYV2xa2CJHp/U+x3YY4SIAvNq9L2N7A5mHrYTPHgW8OPNsamD3P6w2Q2feGyPzNt0wy9D0z8O3JX+ZofDJwbNNxQ+Q/sWwUmCeO28WvC0zy/sCMJtAhNzr2wCELSD48nMxDY+bRUGfxNZTkJsOxkRHHy+D38eHD1jHk0Mfp+NXp8zyOb4M/q8YxDS81J7wuQXwftR5Nrj/D9lEGvOjzPF6XC8LL4PkVADrfmA+ntgSnbeBUykAkpj6Q4RTRVJwvsG0WhA/L1/uAT1ubxafBzXdLydZk+CoMvqL7tF2DWEQAXcfpCuPrHWxvFYCfCB+VTUSuVRfAR2V4km+Eh0gou9YQiXC5WhAu2xI/WZwIH1dVeV7Ni5OWEEe0jna5OsrjdQ24qiie4v03UnTAvHqK14E6884K8z6+zryAdfoHek2yrs85PUj5898E/mTnYwj08CZzn/LBMfJPHRt9D2G/sC4mXH0Dm+z/97DdkfG5XEbG4moH1m/VcbUoLrokDnXgG0pxGsRNDe7T5/bfnPa/X5n2L2+K4+oc+j8rF1M3DrtdpurG/dJLoksoDmdadv9Ja0j8vwUYMP7f9dGvYzwRIQ60FVEn2PyX1QlZPV1Ub9RS9BzVG6J42SlRfdAlOnTefXNSXVAlPMDGrZ5T3L6P7XosboOR5wZo3eJ2nrZs3F6BOhmMbexKIOS5OyXASRZXsrrwciPbvpbXy7K6cAP03Q9j5D9N2I+9V7K68Ecln/yiemfGf6YylCW/+PMiQ13tflSWZ1swL9iGCuNmpyT70KRWlZwX0c+fSfLq2RI6vsK8j+5nvnPcR1O/ZuPTR6HvoFPUeYL9RX5n5DtuKMHbLEN8pvCbzmlmPaWeVjfyyfddbDcF+U4ralnz/Zm6HnrwFuiVouqEekF6UIQ7WZ+2mi+fnF0wn1yHMzKORhTROt4veB0JJnQ+m9z+dFme4fXVA3qesxGd56gZ101bQR14F850D8PQsvtfT1avTRdPsH67JdFr1LH+nHrtQILnHmARw2FmN/9aty2r23aBA8qg27SEc/FFvz+Q7Yey8iPB5/OCzz1E/Ji0v0zSWTRPDS2fPP0QtKgoT6PTi9fnF4ueX5D4+2qNzi8OIL5GWvTdipaxvlZy0EVaSn3dAcwfOkFIVd833TjueyU7BzlX8tkX3QYMOP9fVdWy5Gk1A88pCfFA8WrkdD5rwNhx3KYst078pq1wH0l/T+PgHBPVgT34TVdZ9h9bGeKO5b//AwAA///eLupx2CgAAA=="; |
// Deserialize RuntimeTypeInfo |
var bytes = BASE64.decode(serializedRuntimeTypeInfo); |