{
“cells”: [
{

“cell_type”: “markdown”, “id”: “b6e9eeef”, “metadata”: {}, “source”: [

“# Selectionsn”, “n”, “Selections on parameters including flux, distance and any auxiliary variables, can be performed in arbitrarily complex way.n”, “We are familiar now with how to add selections onto fluxes and distances, now we will examine in more detail.n”, “n”

]

}, {

“cell_type”: “markdown”, “id”: “1e6e156e”, “metadata”: {}, “source”: [

“## built in selection functionsn”, “n”, “There are several available selection functions:”

]

}, {

“cell_type”: “code”, “execution_count”: 1, “id”: “8214a384”, “metadata”: {

“execution”: {
“iopub.execute_input”: “2022-02-09T16:33:16.478354Z”, “iopub.status.busy”: “2022-02-09T16:33:16.477853Z”, “iopub.status.idle”: “2022-02-09T16:33:20.140538Z”, “shell.execute_reply”: “2022-02-09T16:33:20.140937Z”

}

}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“DummySelectionn”, “UnitySelectionn”, “BernoulliSelectionn”, “BoxSelectionn”, “LowerBoundn”, “UpperBoundn”, “SoftSelectionn”, “HardFluxSelectionn”, “SoftFluxSelectionn”, “GalacticPlaneSelectionn”, “DistanceSelectionn”

]

}

], “source”: [

“import matplotlib.pyplot as pltn”, “import numpy as npn”, “n”, “%matplotlib inlinen”, “n”, “from jupyterthemes import jtplotn”, “n”, “jtplot.style(context=”notebook”, fscale=1, grid=False)n”, “purple = “#B833FF”n”, “yellow = “#F6EF5B”n”, “n”, “import popsynthn”, “n”, “popsynth.loud_mode()n”, “popsynth.list_available_selection_functions()”

]

}, {

“cell_type”: “markdown”, “id”: “ccf5a2eb”, “metadata”: {}, “source”: [

“We can use these to set selections on parameters. Let’s add a dummy parameter that is sampled from a normal distribution:”

]

}, {

“cell_type”: “code”, “execution_count”: 2, “id”: “6cf74446”, “metadata”: {

“execution”: {
“iopub.execute_input”: “2022-02-09T16:33:20.145738Z”, “iopub.status.busy”: “2022-02-09T16:33:20.144861Z”, “iopub.status.idle”: “2022-02-09T16:33:20.147762Z”, “shell.execute_reply”: “2022-02-09T16:33:20.147358Z”

}, “lines_to_next_cell”: 2

}, “outputs”: [], “source”: [

“aux_parameter = popsynth.NormalAuxSampler(name=”dummy”, observed=False)n”, “aux_parameter.mu = 0n”, “aux_parameter.sigma = 1”

]

}, {

“cell_type”: “markdown”, “id”: “b6ee82d1”, “metadata”: {}, “source”: [

“Now we will use the built in Box selection function. Here, we will assign it to an auxiliary sampler, so we need to tell it to select on the observed value:”

]

}, {

“cell_type”: “code”, “execution_count”: 3, “id”: “fa8556bd”, “metadata”: {

“execution”: {
“iopub.execute_input”: “2022-02-09T16:33:20.152938Z”, “iopub.status.busy”: “2022-02-09T16:33:20.151667Z”, “iopub.status.idle”: “2022-02-09T16:33:20.153499Z”, “shell.execute_reply”: “2022-02-09T16:33:20.153883Z”

}

}, “outputs”: [], “source”: [

“box_select = popsynth.BoxSelection(name=”aux_selector”, use_obs_value=True)n”, “box_select.vmin = 0n”, “box_select.vmax = 0.5”

]

}, {

“cell_type”: “markdown”, “id”: “e67db372”, “metadata”: {}, “source”: [

“We can also add on a selection function for the flux”

]

}, {

“cell_type”: “code”, “execution_count”: 4, “id”: “a22cf28e”, “metadata”: {

“execution”: {
“iopub.execute_input”: “2022-02-09T16:33:20.158586Z”, “iopub.status.busy”: “2022-02-09T16:33:20.157367Z”, “iopub.status.idle”: “2022-02-09T16:33:20.159174Z”, “shell.execute_reply”: “2022-02-09T16:33:20.159585Z”

}

}, “outputs”: [], “source”: [

“flux_select = popsynth.HardFluxSelection()n”, “flux_select.boundary = 1e-6”

]

}, {

“cell_type”: “markdown”, “id”: “13f6ec79”, “metadata”: {}, “source”: [

“Now, we can put it all together and create a survey:”

]

}, {

“cell_type”: “code”, “execution_count”: 5, “id”: “1aa47779”, “metadata”: {

“execution”: {
“iopub.execute_input”: “2022-02-09T16:33:20.165407Z”, “iopub.status.busy”: “2022-02-09T16:33:20.164841Z”, “iopub.status.idle”: “2022-02-09T16:33:25.031358Z”, “shell.execute_reply”: “2022-02-09T16:33:25.030897Z”

}, “lines_to_next_cell”: 2

}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m registering auxilary sampler: dummy u001b[0mn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m The volume integral is 371.009999 u001b[0mn”

]

}, {

“data”: {
“application/vnd.jupyter.widget-view+json”: {
“model_id”: “148810a7f0c14fae9e282f6090ececfb”, “version_major”: 2, “version_minor”: 0

}, “text/plain”: [

“Drawing distances: 0%| | 0/352 [00:00<?, ?it/s]”

]

}, “metadata”: {}, “output_type”: “display_data”

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m Expecting 352 total objects u001b[0mn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m Sampling: dummy u001b[0mn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m applying selection to fluxes u001b[0mn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m Applying selection from dummy which selected 67 of 352 objects u001b[0mn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m Before auxiliary selection there were 226 objects selected u001b[0mn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m Detected 42 distances u001b[0mn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“u001b[32mu001b[1m INFO u001b[0m| u001b[32mu001b[1m Detected 42 objects out to a distance of 1.84 u001b[0mn”

]

}

], “source”: [

“ps = popsynth.SchechterZPowerCosmoPopulation(n”, ” Lambda=50, delta=-2, Lmin=1e52, alpha=1.5, seed=1234n”, “)n”, “n”, “aux_parameter.set_selection_probability(box_select)n”, “n”, “ps.set_flux_selection(flux_select)n”, “n”, “ps.add_auxiliary_sampler(aux_parameter)n”, “n”, “pop = ps.draw_survey()”

]

}, {

“cell_type”: “code”, “execution_count”: 6, “id”: “18acc9b0”, “metadata”: {

“execution”: {
“iopub.execute_input”: “2022-02-09T16:33:25.061387Z”, “iopub.status.busy”: “2022-02-09T16:33:25.040115Z”, “iopub.status.idle”: “2022-02-09T16:33:25.243338Z”, “shell.execute_reply”: “2022-02-09T16:33:25.242876Z”

}

}, “outputs”: [

{
“data”: {
“text/plain”: [
“<matplotlib.legend.Legend at 0x7f98b4340580>”

]

}, “execution_count”: 6, “metadata”: {}, “output_type”: “execute_result”

}, {

“data”: {

“image/png”: “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0AmCIAjCAJCgEwRBEIQBIEEnCB1w9tln49///rfaw4gjEAjgS1/6EpYsWYIbbrgBTz/9NC6//HK1h0UQZQsJOkGUEW+99RbWrVuHJUuW4Oyzz056/dChQ1i3bh1aWlpw3nnnZTQi/vGPf2BgYABvv/02HnjggWIOmyAIGZCgE0QZ4XA48JnPfAbf+ta3Ur5+88034+STT8bbb7+Nb3zjG7jhhhswODiY8r09PT2YMWMGzGbD96ciCF1Agk4QOoPjOPz4xz/G0qVLsXTpUvz4xz+OtjYGgD/84Q/R15566inMmzcP+/fvBwA0Nzdj9erVmD59etJxu7u7sXv3bnzta1+D3W7HihUrMHfuXLzwwgtJ733ggQfw29/+Fs8//zwWLVqEp556Ku71Q4cOYd68edEWrwCwbt266Pu+973v4Wtf+1r0tZ/+9Ke44oorIEkSOI7DPffcg7POOgtnnHEG7rzzzujudYODg7juuutwyimn4GMf+xjWrl0LURQLuJoEYRxI0AlCZzz44INobW3Fli1bsHXrVuzatQu//e1vAQCvvvoq/vSnP+HRRx/F9u3b8fbbb8s+bldXF6ZPn47Kysro3xobG9HV1ZX03htuuAHXXXcdzj//fLz77rv47Gc/m9M53Hrrrfjggw/w9NNPY8eOHdi0aRPuueceMAyD++67D93d3di8eTO2bduGvr4+/OY3vwEAPProo2hoaMCbb76JN954AzfddBNtJ0oQY5CgE4TOePbZZ/GVr3wFtbW1mDhxIr7yla9g69atAIDnn38el1xyCU488URUVFTEecHZ8Hq9qKqqivtbVVUVvF6vouMHgIqKCtx77724++67ccstt+C73/0uJk+eDEmS8L//+7+4/fbbUVNTg8rKSlx33XV47rnnAABmsxn9/f3o6emBxWLBKaecQoJOEGNQ8osgdEZfXx+mTJkS/feUKVPQ19cXfW3+/PnR14477jjZx3U6nfB4PHF/83g8cDqdBY44NS0tLZg2bRoGBwdx/vnnAwiH1P1+Py655JLo+yRJiobVr7nmGvz617+ObrW6Zs0afPGLXyzK+AhCb5CHThA6o76+Hj09PdF/HzlyBPX19dHXjh49GveaXObMmYODBw/GiXpnZyfmzJmT8xgdDgcARHPfANDf3x/3nsceewyhUAj19fV4+OGHAQATJkyA3W7Hc889hx07dmDHjh3YuXMn3n33XQDhne1uvfVWvPTSS3jwwQfx6KOP4s0338x5fARhREjQCUJnXHDBBXjwwQcxODiIwcFB/OY3v8FFF10EADjvvPPw9NNPY+/evfD7/dHcegRRFBEMBhEKhSBJEoLBYLSgbubMmTjppJPwm9/8BsFgENu3b8eePXuwYsWKnMc4ceJENDQ0YMuWLRAEAZs2bcLBgwejr3d3d+MXv/gFfvrTn+Lee+/Fww8/jI6ODrAsi89+9rP4yU9+gmPHjgEAjh49itdeew0A8M9//hP79++HJEmoqqqCyWSikDtBjEGCThA64/rrr8f8+fOxcuVKrFy5Ek1NTbj++usBAGeeeSbWrVuH9evXY9myZWhpaQEAWK1WAMB//vMfNDc344tf/CJ6enrQ3NyMa665Jnrsn/3sZ2hvb8epp56K++67Dw888AAmTpyY1zh/+MMf4pFHHsHHP/5xdHV1YdGiRQAAnudxyy234Nprr0VjYyNmzJiBb3zjG/jWt74FjuNwyy234IQTTsBll12GxYsX48orr0R3dzcAYP/+/bjqqquwaNEirFmzBpdffjlOO+20vK8lQRgJ2g+dIAzM3r17ceGFF2LXrl20XpwgDA556ARhMLZv3w6O4zAyMoKf/vSn+PSnP01iThBlAAk6QRiMv/71rzj99NOxbNkymEwmfP/731d7SARBlAAKuRMEQRCEASAPnSAIgiAMAAk6QRAEQRgAEnSCIAiCMAAk6ARBEARhAEjQCYIgCMIA/H+BSmalhS7cagAAAABJRU5ErkJggg==n”, “text/plain”: [

“<Figure size 576x504 with 1 Axes>”

]

}, “metadata”: {}, “output_type”: “display_data”

}

], “source”: [

“fig, ax = plt.subplots()n”, “n”, “ax.scatter(n”, ” np.log10(pop.fluxes_observed), pop.dummy, color=”purple”, alpha=0.7, label=”total”n”, “)n”, “ax.scatter(n”, ” np.log10(pop.selected_fluxes_observed),n”, ” pop.dummy_selected,n”, ” color=”yellow”,n”, ” alpha=0.7,n”, ” label=”selected”,n”, “)n”, “n”, “ax.set(xlabel=”log10 fluxes”, ylabel=”dummy”)n”, “ax.legend()”

]

}, {

“cell_type”: “markdown”, “id”: “cbbb75a3”, “metadata”: {}, “source”: [

“## custom selectionsn”, “n”, “we can also create our own custom selection functions.n”, “n”, “n”, “First, we will look at simply creating a selection. For simplicity, we will look at the Bernoulli selection class built in:”

]

}, {

“cell_type”: “code”, “execution_count”: 7, “id”: “22c48811”, “metadata”: {

“execution”: {
“iopub.execute_input”: “2022-02-09T16:33:25.250351Z”, “iopub.status.busy”: “2022-02-09T16:33:25.249786Z”, “iopub.status.idle”: “2022-02-09T16:33:25.252625Z”, “shell.execute_reply”: “2022-02-09T16:33:25.252192Z”

}

}, “outputs”: [], “source”: [

“class BernoulliSelection(popsynth.SelectionProbability):n”, ” n”, ” # required to register class!n”, ” _selection_name = “BernoulliSelection”n”, “n”, ” # define the parameters to be usedn”, ” probability = popsynth.SelectionParameter(vmin=0, vmax=1, default=0.5)n”, “n”, ” def __init__(self) -> None:n”, “n”, ” super(BernoulliSelection, self).__init__(name=”Bernoulli”)n”, “n”, ” def draw(self, size: int) -> None:n”, ” “””n”, ” The draw function takes an integer for the size of the n”, ” samples and sets the private variable _selections which n”, ” should be an array of boolean valuesn”, ” n”, ” “””n”, ” n”, ” self._selection = stats.bernoulli.rvs(n”, ” self._probability, size=size).astype(bool) # type: np.ndarrayn”

]

}, {

“cell_type”: “markdown”, “id”: “039a3713”, “metadata”: {}, “source”: [

“The procedure can become arbitraliy complex. It is important to note that selections will know about several private variables:n”, “n”, “`_observed_flux`n”, “`_observed_value`n”, “`_distance`n”, “`_luminosity`n”, “n”, “n”, “which enables you to use these values in your selection function.n”, “n”, “Because of this, several of the build in selections can be used to select on these variables (though some of this is done in the background for you.)n”, “n”, “n”, “`python\n", "my_box_selection = popsynth.BoxSelection(name=\"box_flux_selection\", use_flux=True)\n", "my_box_selection.vmin = 1E-4\n", "my_box_selection.vmax = 1E-2\n", "\n", "`n”, “n”, “Setting this as the flux selector will select only the fluxes above and below the limits”

]

}

], “metadata”: {

“jupytext”: {
“formats”: “ipynb,md”

}, “kernelspec”: {

“display_name”: “Python 3”, “language”: “python”, “name”: “python3”

}, “language_info”: {

“codemirror_mode”: {
“name”: “ipython”, “version”: 3

}, “file_extension”: “.py”, “mimetype”: “text/x-python”, “name”: “python”, “nbconvert_exporter”: “python”, “pygments_lexer”: “ipython3”, “version”: “3.9.10”

}, “widgets”: {

“application/vnd.jupyter.widget-state+json”: {
“state”: {
“040b88e3a6344b2bb6e0d44a3e124d84”: {

“model_module”: “@jupyter-widgets/controls”, “model_module_version”: “1.5.0”, “model_name”: “FloatProgressModel”, “state”: {

“_dom_classes”: [], “_model_module”: “@jupyter-widgets/controls”, “_model_module_version”: “1.5.0”, “_model_name”: “FloatProgressModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/controls”, “_view_module_version”: “1.5.0”, “_view_name”: “ProgressView”, “bar_style”: “success”, “description”: “”, “description_tooltip”: null, “layout”: “IPY_MODEL_d2ad5a4d4c804a7ea1b7089437f0d32c”, “max”: 352.0, “min”: 0.0, “orientation”: “horizontal”, “style”: “IPY_MODEL_c3ae704e16264177b1fc0a898e8ae312”, “value”: 352.0

}

}, “148810a7f0c14fae9e282f6090ececfb”: {

“model_module”: “@jupyter-widgets/controls”, “model_module_version”: “1.5.0”, “model_name”: “HBoxModel”, “state”: {

“_dom_classes”: [], “_model_module”: “@jupyter-widgets/controls”, “_model_module_version”: “1.5.0”, “_model_name”: “HBoxModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/controls”, “_view_module_version”: “1.5.0”, “_view_name”: “HBoxView”, “box_style”: “”, “children”: [

“IPY_MODEL_734933dba3d2466586e4f45144186017”, “IPY_MODEL_040b88e3a6344b2bb6e0d44a3e124d84”, “IPY_MODEL_7d5c2f605ed1428aa7e66dfa636d9ae7”

], “layout”: “IPY_MODEL_fdaae4b550614e12b58f524e690f933e”

}

}, “35f6771baba042fc806df424074eb779”: {

“model_module”: “@jupyter-widgets/base”, “model_module_version”: “1.2.0”, “model_name”: “LayoutModel”, “state”: {

“_model_module”: “@jupyter-widgets/base”, “_model_module_version”: “1.2.0”, “_model_name”: “LayoutModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/base”, “_view_module_version”: “1.2.0”, “_view_name”: “LayoutView”, “align_content”: null, “align_items”: null, “align_self”: null, “border”: null, “bottom”: null, “display”: null, “flex”: null, “flex_flow”: null, “grid_area”: null, “grid_auto_columns”: null, “grid_auto_flow”: null, “grid_auto_rows”: null, “grid_column”: null, “grid_gap”: null, “grid_row”: null, “grid_template_areas”: null, “grid_template_columns”: null, “grid_template_rows”: null, “height”: null, “justify_content”: null, “justify_items”: null, “left”: null, “margin”: null, “max_height”: null, “max_width”: null, “min_height”: null, “min_width”: null, “object_fit”: null, “object_position”: null, “order”: null, “overflow”: null, “overflow_x”: null, “overflow_y”: null, “padding”: null, “right”: null, “top”: null, “visibility”: null, “width”: null

}

}, “38880bc89cc4472ca37df368cf192008”: {

“model_module”: “@jupyter-widgets/controls”, “model_module_version”: “1.5.0”, “model_name”: “DescriptionStyleModel”, “state”: {

“_model_module”: “@jupyter-widgets/controls”, “_model_module_version”: “1.5.0”, “_model_name”: “DescriptionStyleModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/base”, “_view_module_version”: “1.2.0”, “_view_name”: “StyleView”, “description_width”: “”

}

}, “6f906cf6b8b64ae98d8007a7ba411070”: {

“model_module”: “@jupyter-widgets/base”, “model_module_version”: “1.2.0”, “model_name”: “LayoutModel”, “state”: {

“_model_module”: “@jupyter-widgets/base”, “_model_module_version”: “1.2.0”, “_model_name”: “LayoutModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/base”, “_view_module_version”: “1.2.0”, “_view_name”: “LayoutView”, “align_content”: null, “align_items”: null, “align_self”: null, “border”: null, “bottom”: null, “display”: null, “flex”: null, “flex_flow”: null, “grid_area”: null, “grid_auto_columns”: null, “grid_auto_flow”: null, “grid_auto_rows”: null, “grid_column”: null, “grid_gap”: null, “grid_row”: null, “grid_template_areas”: null, “grid_template_columns”: null, “grid_template_rows”: null, “height”: null, “justify_content”: null, “justify_items”: null, “left”: null, “margin”: null, “max_height”: null, “max_width”: null, “min_height”: null, “min_width”: null, “object_fit”: null, “object_position”: null, “order”: null, “overflow”: null, “overflow_x”: null, “overflow_y”: null, “padding”: null, “right”: null, “top”: null, “visibility”: null, “width”: null

}

}, “734933dba3d2466586e4f45144186017”: {

“model_module”: “@jupyter-widgets/controls”, “model_module_version”: “1.5.0”, “model_name”: “HTMLModel”, “state”: {

“_dom_classes”: [], “_model_module”: “@jupyter-widgets/controls”, “_model_module_version”: “1.5.0”, “_model_name”: “HTMLModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/controls”, “_view_module_version”: “1.5.0”, “_view_name”: “HTMLView”, “description”: “”, “description_tooltip”: null, “layout”: “IPY_MODEL_35f6771baba042fc806df424074eb779”, “placeholder”: “​“, “style”: “IPY_MODEL_38880bc89cc4472ca37df368cf192008”, “value”: “Drawing distances: 100%”

}

}, “7a1ea34f4020423797b1c8d7b5721600”: {

“model_module”: “@jupyter-widgets/controls”, “model_module_version”: “1.5.0”, “model_name”: “DescriptionStyleModel”, “state”: {

“_model_module”: “@jupyter-widgets/controls”, “_model_module_version”: “1.5.0”, “_model_name”: “DescriptionStyleModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/base”, “_view_module_version”: “1.2.0”, “_view_name”: “StyleView”, “description_width”: “”

}

}, “7d5c2f605ed1428aa7e66dfa636d9ae7”: {

“model_module”: “@jupyter-widgets/controls”, “model_module_version”: “1.5.0”, “model_name”: “HTMLModel”, “state”: {

“_dom_classes”: [], “_model_module”: “@jupyter-widgets/controls”, “_model_module_version”: “1.5.0”, “_model_name”: “HTMLModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/controls”, “_view_module_version”: “1.5.0”, “_view_name”: “HTMLView”, “description”: “”, “description_tooltip”: null, “layout”: “IPY_MODEL_6f906cf6b8b64ae98d8007a7ba411070”, “placeholder”: “​“, “style”: “IPY_MODEL_7a1ea34f4020423797b1c8d7b5721600”, “value”: ” 352/352 [00:00&lt;00:00, 7155.95it/s]”

}

}, “c3ae704e16264177b1fc0a898e8ae312”: {

“model_module”: “@jupyter-widgets/controls”, “model_module_version”: “1.5.0”, “model_name”: “ProgressStyleModel”, “state”: {

“_model_module”: “@jupyter-widgets/controls”, “_model_module_version”: “1.5.0”, “_model_name”: “ProgressStyleModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/base”, “_view_module_version”: “1.2.0”, “_view_name”: “StyleView”, “bar_color”: “#B833FF”, “description_width”: “”

}

}, “d2ad5a4d4c804a7ea1b7089437f0d32c”: {

“model_module”: “@jupyter-widgets/base”, “model_module_version”: “1.2.0”, “model_name”: “LayoutModel”, “state”: {

“_model_module”: “@jupyter-widgets/base”, “_model_module_version”: “1.2.0”, “_model_name”: “LayoutModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/base”, “_view_module_version”: “1.2.0”, “_view_name”: “LayoutView”, “align_content”: null, “align_items”: null, “align_self”: null, “border”: null, “bottom”: null, “display”: null, “flex”: null, “flex_flow”: null, “grid_area”: null, “grid_auto_columns”: null, “grid_auto_flow”: null, “grid_auto_rows”: null, “grid_column”: null, “grid_gap”: null, “grid_row”: null, “grid_template_areas”: null, “grid_template_columns”: null, “grid_template_rows”: null, “height”: null, “justify_content”: null, “justify_items”: null, “left”: null, “margin”: null, “max_height”: null, “max_width”: null, “min_height”: null, “min_width”: null, “object_fit”: null, “object_position”: null, “order”: null, “overflow”: null, “overflow_x”: null, “overflow_y”: null, “padding”: null, “right”: null, “top”: null, “visibility”: null, “width”: null

}

}, “fdaae4b550614e12b58f524e690f933e”: {

“model_module”: “@jupyter-widgets/base”, “model_module_version”: “1.2.0”, “model_name”: “LayoutModel”, “state”: {

“_model_module”: “@jupyter-widgets/base”, “_model_module_version”: “1.2.0”, “_model_name”: “LayoutModel”, “_view_count”: null, “_view_module”: “@jupyter-widgets/base”, “_view_module_version”: “1.2.0”, “_view_name”: “LayoutView”, “align_content”: null, “align_items”: null, “align_self”: null, “border”: null, “bottom”: null, “display”: null, “flex”: null, “flex_flow”: null, “grid_area”: null, “grid_auto_columns”: null, “grid_auto_flow”: null, “grid_auto_rows”: null, “grid_column”: null, “grid_gap”: null, “grid_row”: null, “grid_template_areas”: null, “grid_template_columns”: null, “grid_template_rows”: null, “height”: null, “justify_content”: null, “justify_items”: null, “left”: null, “margin”: null, “max_height”: null, “max_width”: null, “min_height”: null, “min_width”: null, “object_fit”: null, “object_position”: null, “order”: null, “overflow”: null, “overflow_x”: null, “overflow_y”: null, “padding”: null, “right”: null, “top”: null, “visibility”: null, “width”: null

}

}

}, “version_major”: 2, “version_minor”: 0

}

}

}, “nbformat”: 4, “nbformat_minor”: 5

}