eL iddlZddlZddlmZmZmZddlZddlZddlZddl Z ddl Z ddl m Z dZ dZdejvZej"j ej"j ej"j%edZe j*eZe j.ed Zd j3e Zdd Z dd ZdZddZdZ ddZ y)N)realpathjoindirname) DECKGL_SEMVERcX t}|jdS#t$rYywxYw)NkernelF) get_ipython has_trait NameError)ips T/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pydeck/io/html.py in_jupyterrs/ ]||H%% s  ))c4t|tur|S|rdSdS)zOSerializes Python booleans to JavaScript. Returns non-boolean values unchanged.truefalse)typebool)py_bools rconvert_js_boolrs  G}D 6)')z google.colabz ./templates/T)loader trim_blockszEhttps://cdn.jsdelivr.net/npm/@deck.gl/jupyter-widget@{}/dist/index.jscptjd}|r,tdj|dj|S|rQd}t t t t|dd5}|j}dddd jSd jtS#1swY/xYw) NPYDECK_DEV_PORTzRpydeck running in development mode, expecting @deck.gl/jupyter-widget served at {}z )dev_portz../nbextension/static/index.jsrutf-8encodingz*z) osgetenvprintformatopenrr__file__readCDN_URL)offlinerRELPATH_TO_BUNDLEfilejss r cdn_pickerr-'syy*+H biijrst m &(& # $< $wx(*; r)HTMLz-Consider using IPython.display.IFrame insteadignore)message) isinstancestrhtmlescapeIPython.displayrGwarningscatch_warningsfilterwarnings)r<widthheightsrcdociframerGmsgs riframe_with_srcdocrW[s%E7!  [[ "F'8H F%  "=#6F|s !A==Bcpddlm}m}d|d|d|d}t||t||y)Nr)rG Javascriptz$google.colab.output.setIframeHeight(z, true, {minHeight: z , maxHeight: z}))rNrGrYdisplay)r< iframe_heightrGrYjs_height_snippets rrender_for_colabr]qsP0>}oMbcpbqq~@MNNQR J( )* DNrc >t|||| || | | }|rHt|dd5}|j|ddd|rtt j | t }tr t||y|s| r|S|r t|||Sy#1swY^xYw)z,Converts deck.gl format JSON to an HTML page)r0r1r4r/r6r7r)zw+rrN) r=r%writerDrnamerin_google_colabr]rW) deck_jsonr0r1rB open_browsernotebook_displayr/r[ iframe_widthr4r6r7 as_stringr)r<fs r deck_to_htmlrhys"#'1)# H (D7 3 q GGH    !&&) *%<=1 ) !(L-HH   s BB)F)NNTNNNF)100%) NNNFNNrjriTNNFF)!rLr!os.pathrrrsysr?rOrAjinja2frontend_semverrrrmodulesrapathabspathr&TEMPLATES_PATHFileSystemLoader j2_loader Environmentr8r$r(r-r=rDrWr]rhrrrws ++  +*!CKK/bggoobggooh.GH.Y #F # #N 3   9$ ? Q X XYf g8(  4,   ,Ir