File size: 35,849 Bytes
b94bb35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
{
    "policy_class": {
        ":type:": "<class 'abc.ABCMeta'>",
        ":serialized:": "gASVSAAAAAAAAACMJXNiM19jb250cmliLmNvbW1vbi5yZWN1cnJlbnQucG9saWNpZXOUjBpSZWN1cnJlbnRBY3RvckNyaXRpY1BvbGljeZSTlC4=",
        "__module__": "sb3_contrib.common.recurrent.policies",
        "__doc__": "\n    Recurrent policy class for actor-critic algorithms (has both policy and value prediction).\n    To be used with A2C, PPO and the likes.\n    It assumes that both the actor and the critic LSTM\n    have the same architecture.\n\n    :param observation_space: Observation space\n    :param action_space: Action space\n    :param lr_schedule: Learning rate schedule (could be constant)\n    :param net_arch: The specification of the policy and value networks.\n    :param activation_fn: Activation function\n    :param ortho_init: Whether to use or not orthogonal initialization\n    :param use_sde: Whether to use State Dependent Exploration or not\n    :param log_std_init: Initial value for the log standard deviation\n    :param full_std: Whether to use (n_features x n_actions) parameters\n        for the std instead of only (n_features,) when using gSDE\n    :param sde_net_arch: Network architecture for extracting features\n        when using gSDE. If None, the latent features from the policy will be used.\n        Pass an empty list to use the states as features.\n    :param use_expln: Use ``expln()`` function instead of ``exp()`` to ensure\n        a positive standard deviation (cf paper). It allows to keep variance\n        above zero and prevent it from growing too fast. In practice, ``exp()`` is usually enough.\n    :param squash_output: Whether to squash the output using a tanh function,\n        this allows to ensure boundaries when using gSDE.\n    :param features_extractor_class: Features extractor to use.\n    :param features_extractor_kwargs: Keyword arguments\n        to pass to the features extractor.\n    :param normalize_images: Whether to normalize images or not,\n         dividing by 255.0 (True by default)\n    :param optimizer_class: The optimizer to use,\n        ``th.optim.Adam`` by default\n    :param optimizer_kwargs: Additional keyword arguments,\n        excluding the learning rate, to pass to the optimizer\n    :param lstm_hidden_size: Number of hidden units for each LSTM layer.\n    :param n_lstm_layers: Number of LSTM layers.\n    :param shared_lstm: Whether the LSTM is shared between the actor and the critic\n        (in that case, only the actor gradient is used)\n        By default, the actor and the critic have two separate LSTM.\n    :param enable_critic_lstm: Use a seperate LSTM for the critic.\n    :param lstm_kwargs: Additional keyword arguments to pass the the LSTM\n        constructor.\n    ",
        "__init__": "<function RecurrentActorCriticPolicy.__init__ at 0x7f7438726320>",
        "_build_mlp_extractor": "<function RecurrentActorCriticPolicy._build_mlp_extractor at 0x7f7438726050>",
        "_process_sequence": "<staticmethod object at 0x7f7438721550>",
        "forward": "<function RecurrentActorCriticPolicy.forward at 0x7f7438726290>",
        "get_distribution": "<function RecurrentActorCriticPolicy.get_distribution at 0x7f74387260e0>",
        "predict_values": "<function RecurrentActorCriticPolicy.predict_values at 0x7f743871ed40>",
        "evaluate_actions": "<function RecurrentActorCriticPolicy.evaluate_actions at 0x7f743871edd0>",
        "_predict": "<function RecurrentActorCriticPolicy._predict at 0x7f743871ee60>",
        "predict": "<function RecurrentActorCriticPolicy.predict at 0x7f743871eef0>",
        "__abstractmethods__": "frozenset()",
        "_abc_impl": "<_abc_data object at 0x7f74387069f0>"
    },
    "verbose": 1,
    "policy_kwargs": {
        ":type:": "<class 'dict'>",
        ":serialized:": "gASVmwAAAAAAAAB9lCiMCm9ydGhvX2luaXSUiYwNYWN0aXZhdGlvbl9mbpSMG3RvcmNoLm5uLm1vZHVsZXMuYWN0aXZhdGlvbpSMBFJlTFWUk5SMEGxzdG1faGlkZGVuX3NpemWUS0CMEmVuYWJsZV9jcml0aWNfbHN0bZSIjAhuZXRfYXJjaJRdlH2UKIwCcGmUXZRLQGGMAnZmlF2US0BhdWF1Lg==",
        "ortho_init": false,
        "activation_fn": "<class 'torch.nn.modules.activation.ReLU'>",
        "lstm_hidden_size": 64,
        "enable_critic_lstm": true,
        "net_arch": [
            {
                "pi": [
                    64
                ],
                "vf": [
                    64
                ]
            }
        ]
    },
    "observation_space": {
        ":type:": "<class 'gym.spaces.box.Box'>",
        ":serialized:": "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",
        "dtype": "float32",
        "_shape": [
            4
        ],
        "low": "[-4.8000002e+00 -3.4028235e+38 -4.1887903e-01 -3.4028235e+38]",
        "high": "[4.8000002e+00 3.4028235e+38 4.1887903e-01 3.4028235e+38]",
        "bounded_below": "[ True  True  True  True]",
        "bounded_above": "[ True  True  True  True]",
        "_np_random": "RandomState(MT19937)"
    },
    "action_space": {
        ":type:": "<class 'gym.spaces.discrete.Discrete'>",
        ":serialized:": "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",
        "n": 2,
        "_shape": [],
        "dtype": "int64",
        "_np_random": "RandomState(MT19937)"
    },
    "n_envs": 8,
    "num_timesteps": 100096,
    "_total_timesteps": 100000,
    "_num_timesteps_at_start": 0,
    "seed": 0,
    "action_noise": null,
    "start_time": 1654090624.8892994,
    "learning_rate": {
        ":type:": "<class 'function'>",
        ":serialized:": "gASVYQMAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwNX2J1aWx0aW5fdHlwZZSTlIwKTGFtYmRhVHlwZZSFlFKUKGgCjAhDb2RlVHlwZZSFlFKUKEsBSwBLAUsCSxNDCHwAiAAUAFMAlIyECiAgICAgICAgUHJvZ3Jlc3Mgd2lsbCBkZWNyZWFzZSBmcm9tIDEgKGJlZ2lubmluZykgdG8gMAogICAgICAgIDpwYXJhbSBwcm9ncmVzc19yZW1haW5pbmc6IChmbG9hdCkKICAgICAgICA6cmV0dXJuOiAoZmxvYXQpCiAgICAgICAglIWUKYwScHJvZ3Jlc3NfcmVtYWluaW5nlIWUjDsvaG9tZS9hbnRvbmluL0RvY3VtZW50cy9ybC9ybC1iYXNlbGluZXMzLXpvby91dGlscy91dGlscy5weZSMBGZ1bmOUTQsBQwIABpSMDWluaXRpYWxfdmFsdWWUhZQpdJRSlH2UKIwLX19wYWNrYWdlX1+UjAV1dGlsc5SMCF9fbmFtZV9flIwLdXRpbHMudXRpbHOUjAhfX2ZpbGVfX5SMOy9ob21lL2FudG9uaW4vRG9jdW1lbnRzL3JsL3JsLWJhc2VsaW5lczMtem9vL3V0aWxzL3V0aWxzLnB5lHVOTmgAjBBfbWFrZV9lbXB0eV9jZWxslJOUKVKUhZR0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaCF9lH2UKGgYaA+MDF9fcXVhbG5hbWVfX5SMHWxpbmVhcl9zY2hlZHVsZS48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UKIwScHJvZ3Jlc3NfcmVtYWluaW5nlIwIYnVpbHRpbnOUjAVmbG9hdJSTlIwGcmV0dXJulGgudYwOX19rd2RlZmF1bHRzX1+UTowMX19kZWZhdWx0c19flE6MCl9fbW9kdWxlX1+UaBmMB19fZG9jX1+UaAqMC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz9QYk3S8an8hZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
    },
    "tensorboard_log": "runs/CartPoleNoVel-v1__ppo_lstm__3258719147__1654090616/CartPoleNoVel-v1",
    "lr_schedule": {
        ":type:": "<class 'function'>",
        ":serialized:": "gASVYQMAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwNX2J1aWx0aW5fdHlwZZSTlIwKTGFtYmRhVHlwZZSFlFKUKGgCjAhDb2RlVHlwZZSFlFKUKEsBSwBLAUsCSxNDCHwAiAAUAFMAlIyECiAgICAgICAgUHJvZ3Jlc3Mgd2lsbCBkZWNyZWFzZSBmcm9tIDEgKGJlZ2lubmluZykgdG8gMAogICAgICAgIDpwYXJhbSBwcm9ncmVzc19yZW1haW5pbmc6IChmbG9hdCkKICAgICAgICA6cmV0dXJuOiAoZmxvYXQpCiAgICAgICAglIWUKYwScHJvZ3Jlc3NfcmVtYWluaW5nlIWUjDsvaG9tZS9hbnRvbmluL0RvY3VtZW50cy9ybC9ybC1iYXNlbGluZXMzLXpvby91dGlscy91dGlscy5weZSMBGZ1bmOUTQsBQwIABpSMDWluaXRpYWxfdmFsdWWUhZQpdJRSlH2UKIwLX19wYWNrYWdlX1+UjAV1dGlsc5SMCF9fbmFtZV9flIwLdXRpbHMudXRpbHOUjAhfX2ZpbGVfX5SMOy9ob21lL2FudG9uaW4vRG9jdW1lbnRzL3JsL3JsLWJhc2VsaW5lczMtem9vL3V0aWxzL3V0aWxzLnB5lHVOTmgAjBBfbWFrZV9lbXB0eV9jZWxslJOUKVKUhZR0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaCF9lH2UKGgYaA+MDF9fcXVhbG5hbWVfX5SMHWxpbmVhcl9zY2hlZHVsZS48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UKIwScHJvZ3Jlc3NfcmVtYWluaW5nlIwIYnVpbHRpbnOUjAVmbG9hdJSTlIwGcmV0dXJulGgudYwOX19rd2RlZmF1bHRzX1+UTowMX19kZWZhdWx0c19flE6MCl9fbW9kdWxlX1+UaBmMB19fZG9jX1+UaAqMC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz9QYk3S8an8hZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
    },
    "_last_obs": null,
    "_last_episode_starts": {
        ":type:": "<class 'numpy.ndarray'>",
        ":serialized:": "gASVkAAAAAAAAACMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMDF9yZWNvbnN0cnVjdJSTlIwFbnVtcHmUjAduZGFycmF5lJOUSwCFlEMBYpSHlFKUKEsBSwiFlGgDjAVkdHlwZZSTlIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYolDCAAAAAAAAAAAlHSUYi4="
    },
    "_last_original_obs": {
        ":type:": "<class 'numpy.ndarray'>",
        ":serialized:": "gASVCgEAAAAAAACMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMDF9yZWNvbnN0cnVjdJSTlIwFbnVtcHmUjAduZGFycmF5lJOUSwCFlEMBYpSHlFKUKEsBSwhLBIaUaAOMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiiUOAHimNPAAAAIAfvqo8AAAAgIVyHj0AAACAI2MXvQAAAAC0STm8AAAAABa517sAAAAAAuQXvQAAAIDoIOo8AAAAAEC4Cj0AAAAAzUjAPAAAAABFNSA9AAAAAN9OSj0AAAAA+BQEPQAAAIDcaDc9AAAAALrsgrwAAACAaCk9PQAAAICUdJRiLg=="
    },
    "_episode_num": 0,
    "use_sde": false,
    "sde_sample_freq": -1,
    "_current_progress_remaining": -0.0009600000000000719,
    "ep_info_buffer": {
        ":type:": "<class 'collections.deque'>",
        ":serialized:": "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"
    },
    "ep_success_buffer": {
        ":type:": "<class 'collections.deque'>",
        ":serialized:": "gASVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
    },
    "_n_updates": 7820,
    "n_steps": 32,
    "gamma": 0.98,
    "gae_lambda": 0.8,
    "ent_coef": 0.0,
    "vf_coef": 0.5,
    "max_grad_norm": 0.5,
    "batch_size": 256,
    "n_epochs": 20,
    "clip_range": {
        ":type:": "<class 'function'>",
        ":serialized:": "gASVYQMAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwNX2J1aWx0aW5fdHlwZZSTlIwKTGFtYmRhVHlwZZSFlFKUKGgCjAhDb2RlVHlwZZSFlFKUKEsBSwBLAUsCSxNDCHwAiAAUAFMAlIyECiAgICAgICAgUHJvZ3Jlc3Mgd2lsbCBkZWNyZWFzZSBmcm9tIDEgKGJlZ2lubmluZykgdG8gMAogICAgICAgIDpwYXJhbSBwcm9ncmVzc19yZW1haW5pbmc6IChmbG9hdCkKICAgICAgICA6cmV0dXJuOiAoZmxvYXQpCiAgICAgICAglIWUKYwScHJvZ3Jlc3NfcmVtYWluaW5nlIWUjDsvaG9tZS9hbnRvbmluL0RvY3VtZW50cy9ybC9ybC1iYXNlbGluZXMzLXpvby91dGlscy91dGlscy5weZSMBGZ1bmOUTQsBQwIABpSMDWluaXRpYWxfdmFsdWWUhZQpdJRSlH2UKIwLX19wYWNrYWdlX1+UjAV1dGlsc5SMCF9fbmFtZV9flIwLdXRpbHMudXRpbHOUjAhfX2ZpbGVfX5SMOy9ob21lL2FudG9uaW4vRG9jdW1lbnRzL3JsL3JsLWJhc2VsaW5lczMtem9vL3V0aWxzL3V0aWxzLnB5lHVOTmgAjBBfbWFrZV9lbXB0eV9jZWxslJOUKVKUhZR0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaCF9lH2UKGgYaA+MDF9fcXVhbG5hbWVfX5SMHWxpbmVhcl9zY2hlZHVsZS48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UKIwScHJvZ3Jlc3NfcmVtYWluaW5nlIwIYnVpbHRpbnOUjAVmbG9hdJSTlIwGcmV0dXJulGgudYwOX19rd2RlZmF1bHRzX1+UTowMX19kZWZhdWx0c19flE6MCl9fbW9kdWxlX1+UaBmMB19fZG9jX1+UaAqMC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz/JmZmZmZmahZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
    },
    "clip_range_vf": null,
    "normalize_advantage": true,
    "target_kl": null,
    "_last_lstm_states": {
        ":type:": "<class 'sb3_contrib.common.recurrent.type_aliases.RNNStates'>",
        ":serialized:": "gASVUiUAAAAAAACMKXNiM19jb250cmliLmNvbW1vbi5yZWN1cnJlbnQudHlwZV9hbGlhc2VzlIwJUk5OU3RhdGVzlJOUjAx0b3JjaC5fdXRpbHOUjBJfcmVidWlsZF90ZW5zb3JfdjKUk5QojA10b3JjaC5zdG9yYWdllIwQX2xvYWRfZnJvbV9ieXRlc5STlEL/CAAAgAKKCmz8nEb5IGqoUBkugAJN6QMugAJ9cQAoWBAAAABwcm90b2NvbF92ZXJzaW9ucQFN6QNYDQAAAGxpdHRsZV9lbmRpYW5xAohYCgAAAHR5cGVfc2l6ZXNxA31xBChYBQAAAHNob3J0cQVLAlgDAAAAaW50cQZLBFgEAAAAbG9uZ3EHSwR1dS6AAihYBwAAAHN0b3JhZ2VxAGN0b3JjaApGbG9hdFN0b3JhZ2UKcQFYDgAAADk0NDAxODMyNDA2Mzg0cQJYBgAAAGN1ZGE6MHEDTQACTnRxBFEugAJdcQBYDgAAADk0NDAxODMyNDA2Mzg0cQFhLgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUhZRSlEsASwFLCEtAh5RNAAJLQEsBh5SJjAtjb2xsZWN0aW9uc5SMC09yZGVyZWREaWN0lJOUKVKUdJRSlGgFKGgIQv8IAACAAooKbPycRvkgaqhQGS6AAk3pAy6AAn1xAChYEAAAAHByb3RvY29sX3ZlcnNpb25xAU3pA1gNAAAAbGl0dGxlX2VuZGlhbnECiFgKAAAAdHlwZV9zaXplc3EDfXEEKFgFAAAAc2hvcnRxBUsCWAMAAABpbnRxBksEWAQAAABsb25ncQdLBHV1LoACKFgHAAAAc3RvcmFnZXEAY3RvcmNoCkZsb2F0U3RvcmFnZQpxAVgOAAAAOTQ0MDE4MzI0MDcwNTZxAlgGAAAAY3VkYTowcQNNAAJOdHEEUS6AAl1xAFgOAAAAOTQ0MDE4MzI0MDcwNTZxAWEuAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJSFlFKUSwBLAUsIS0CHlE0AAktASwGHlIloEClSlHSUUpSGlGgFKGgIQv8IAACAAooKbPycRvkgaqhQGS6AAk3pAy6AAn1xAChYEAAAAHByb3RvY29sX3ZlcnNpb25xAU3pA1gNAAAAbGl0dGxlX2VuZGlhbnECiFgKAAAAdHlwZV9zaXplc3EDfXEEKFgFAAAAc2hvcnRxBUsCWAMAAABpbnRxBksEWAQAAABsb25ncQdLBHV1LoACKFgHAAAAc3RvcmFnZXEAY3RvcmNoCkZsb2F0U3RvcmFnZQpxAVgOAAAAOTQ0MDI2MjYwOTkwNzJxAlgGAAAAY3VkYTowcQNNAAJOdHEEUS6AAl1xAFgOAAAAOTQ0MDI2MjYwOTkwNzJxAWEuAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJSFlFKUSwBLAUsIS0CHlE0AAktASwGHlIloEClSlHSUUpRoBShoCEL/CAAAgAKKCmz8nEb5IGqoUBkugAJN6QMugAJ9cQAoWBAAAABwcm90b2NvbF92ZXJzaW9ucQFN6QNYDQAAAGxpdHRsZV9lbmRpYW5xAohYCgAAAHR5cGVfc2l6ZXNxA31xBChYBQAAAHNob3J0cQVLAlgDAAAAaW50cQZLBFgEAAAAbG9uZ3EHSwR1dS6AAihYBwAAAHN0b3JhZ2VxAGN0b3JjaApGbG9hdFN0b3JhZ2UKcQFYDgAAADk0NDAxODMyNDA1Mzc2cQJYBgAAAGN1ZGE6MHEDTQACTnRxBFEugAJdcQBYDgAAADk0NDAxODMyNDA1Mzc2cQFhLgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUhZRSlEsASwFLCEtAh5RNAAJLQEsBh5SJaBApUpR0lFKUhpSGlIGULg=="
    }
}