Git Product home page Git Product logo

Comments (1)

ThatDraggyCodes avatar ThatDraggyCodes commented on August 19, 2024

It seem sthat on PS5 the server responds with a challange, requiering JavaScript to work.

Response (Long)
> Invoke-RestMethod -Uri 'https://support.redstor.com/hc/en-gb/sections/200458081-Downloads' -Method Get
Invoke-RestMethod : Just a moment...*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-s
ize-adjust:100%;color:#313131}button,html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe
UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color
Emoji}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}body a{color:#fff}body
a:hover{color:#ee730a;text-decoration:underline}body .lds-ring div{border-color:#999 transparent transparent}body
.font-red{color:#b20f03}body .big-button,body .pow-button{background-color:#4693ff;color:#1d1d1d}body #challenge-su
ccess-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZ
HRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJNMTMgMGExMyAx
MyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjZDl
kOWQ5IiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz
4=)}body #challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vc
mcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAx
IDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF
0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMz
g4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uO
Tg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}}body{display:flex;flex-direction:column;min-heigh
t:100vh}body.no-js .loading-spinner{visibility:hidden}body.no-js
.challenge-running{display:none}body.dark{background-color:#222;color:#d9d9d9}body.dark a{color:#fff}body.dark
a:hover{color:#ee730a;text-decoration:underline}body.dark .lds-ring div{border-color:#999 transparent
transparent}body.dark .font-red{color:#b20f03}body.dark .big-button,body.dark
.pow-button{background-color:#4693ff;color:#1d1d1d}body.dark #challenge-success-text{background-image:url(data:imag
e/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZS
Igdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtM
CAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQu
MTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=)}body.dark #challenge-error-text{backg
round-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ
2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAg
MCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM
4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLj
QwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5N
yAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}body.light{background-color:transparent;color:#313131}body.light
a{color:#0051c3}body.light a:hover{color:#ee730a;text-decoration:underline}body.light .lds-ring
div{border-color:#595959 transparent transparent}body.light .font-red{color:#fc574a}body.light
.big-button,body.light .pow-button{background-color:#003681;border-color:#003681;color:#fff}body.light #challenge-s
uccess-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdp
ZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJNMTMgMGExMyA
xMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjMz
EzMTMxIiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Z
z4=)}body.light #challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy
53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZjNTc0YSIgZD0iTTE2IDNhMTMgM
TMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEi
Lz48cGF0aCBmaWxsPSIjZmM1NzRhIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4
wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLj
M5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}a{background-color:transparent;color:#0051c
3;text-decoration:none;transition:color .15s
ease}a:hover{color:#ee730a;text-decoration:underline}.main-content{margin:8rem
auto;max-width:60rem;width:100%}.heading-favicon{height:2rem;margin-right:.5rem;width:2rem}@media (width Enable
JavaScript and cookies to continue(function(){window._cf_chl_opt={cvId: '3',cZone: "support.redstor.com",cType:
'managed',cNounce: '33006',cRay: '867c4529bc3b920c',cHash: 'ed4b9a841faa24f',cUPMDTk: "\/hc\/en-gb\/sections\/20045
8081-Downloads?__cf_chl_tk=fRQWeSZfBBlhabwZG8X42u6hlcc87z.dbNIbuK_SKA4-1711006578-0.0.1.1-1685",cFPWv:
'b',cTTimeMs: '1000',cMTimeMs: '375000',cTplV: 5,cTplB: 'cf',cK: "visitor-time",fa: "\/hc\/en-gb\/sections\/2004580
81-Downloads?__cf_chl_f_tk=fRQWeSZfBBlhabwZG8X42u6hlcc87z.dbNIbuK_SKA4-1711006578-0.0.1.1-1685",md: "2mwCV8Bl5W8ieu
HARzYRIG8nbPBnwsSPu5.Ui_ySNhs-1711006578-1.1.1.1-UgkI4O.JgWOWVtZjsgAhVbw1JfDQKKWT7qKe7e2NmJPRMLtxPE2h9Ug1XwF9n4zlxG
OjVITdLO7ud3TbWiYlRrBQokuR7OUWUvpwSpx7GqdTzEXfwQIWmGRa_WrktETe0Tn3ySaLYR5MC1bzLALPllVfo1txl7w0UrYBFvfO82ZJAjhslLVaG
dhOrNSZD7BrdQLKQqWiZW4xYLu_3m1XNgmpjleDcaChlIUkDKZcznecj5Mtp7zYYNTppdqbLtqqPQOJjVWhvcTG28B5lvMx1Y3nV9EbtWc4mlDmWA0Z
5VyX5tNOhPOVWDu7NQSvvMNvJAXTQVquvt_h30uuBTPi7P5V4Fsv.avq6i1KymSQI3eGULz5NF0zU0cPdK49WWNeJ4aZ7T2e88I4ZPO435F9SDItuPn
Mazinpahs6beTW9TjDnybUjSkadafts.DxZ3odHHqtsEnjITGvZGhnHLqT.A6Hei38NjU4PqVLm6Wb5KmeEWPBEI6K8YqxuH_RmQFMKCkz085WTYAx9
AAauk1cWKtsxTrgKepXtN1cAbbKT9oUI7N8vOCVTRwFYWMgQzj5UFYeXy6R9PZLmlZScUVIMfIfrQ8pVKf0XKSQGYml3UfuRFQrUuado8Kt22atOqsL
7KbQrKQ2.PVEBQUBsvphEKOHf3Z_m_1M22nJh65_qJpiqKDt1m2TDE6.xJXMiz4s5eanl7te.V67S6PZsyywZ0ETd6vNROu2A9ng3n6trrbyniAyl8s
S72sczfgfD1IfWamd3hOYo0UrM0elFzYsI689YWccETP9ZClb5Qt2J6QI09rqG3kjY3MMOcslVPRRJGDodiNIM7QFVY6GX9.pr1jBuGV6zYSoQk6Kn2
z4czM22fEV9bSBvN.xB01QypckAQuHwREgRWp9jnZZ4ymCMTPs2gfTZ_DT5twVNxjmluGfe5F9fmVesBaBmp2dphq1Vs6QjFK1BptwIOplHs9ztOU5o
L2d1ka6LHAs_PPu04_bU3usAkif5nuVNsCTIdrteuyKx89o1vpZmwgaG3KVn0lf5cH1sbjNQx3jsDpyNjiXJqYZKYWPy1ntIVo_IpRC4N2oLgGRlT1K
eW.LzmbjEVZJ4sBU1qbjNUYixXW9ifesq2mMED0LPdnvy_6jr3YKaNBTMpZVElPltp2Pki2tsScdLj1YhlUFRfYNnXbZGpKxDaUkBHW8z_i2S1ETyIt
XtsajAkLdMMEASfZEvGdjlrMDBkDDOihoqdDKrU1OG9Fv_TfiOSb.1df6FwPGY7LA2y4RT3MbUYL4blu1aZuEszcktm9wPBJ2psp1I9QzenxBqVY5St
KPow9bQn4zGPOOZKJHAklo6M1KkkcSJUxcejyNwbwVPxe_zAqirjzasDJBx1U9TnAYd2tMNEjM7f855odQingHVBsA9xhOWfr4hoyCWUhPZwQQTQ_ix
ITOVDIkbbJ1QBcaE2nvXnBsa4hM29ptKIxOkQ2ZZJYQD5KK7yjm8uklbBvuN2Zi2zXcseJq60l_MMQF8A6boX7nvK2HuxYeeZ2wBhxpmZIwHbPNyIws
XiXzHnArRstvG52YT5zONq8Sn6Pu0WWdVflmEOamJRsP6Vggy5BvNJJ6ptUig",mdrd: "dksNEXdmEmkonaKYqKTe8HgCc5XtJWCUf59TmyowPwY-1
711006578-1.1.1.1-hKTV2402N0_nsld9D.ztygrL6DOqjEoUYF9NB.CQU5aaLiwBQSJYJiMdblaX_92YownYOmrRlfhsAi4kTlOkYluUV2FsfhEds
6tKbc25EWUey_KLHOWpQ6NhlmfnxfLDJEFNf8G7HF0DsqtZGtqHlf3t5raWnSS3NCEC3iHe4O_91UVN6BXJp2zpByG..vs6w1VHgdwT72EiNSV1Cj9P
pFq.wQqOjKP7nngC2XXJq3biI6PrhCmlYvDreWH4aplgNmkbAw6kaSZbQwqUC0dbeK11Zby1PTvZmgoJjAy.xelB0bKP_Du81vvoa3Brl5InnpZaB1G
k3ziCoLdSIL_o8pJNoKTyzTrxQvqC5RQNrgL0Kj9twhuQngdy6L711zwwpJ_KJOiopcU2vIiSIGQEIzHLKXymDdlh9QA6ZAVYtOQpcGb9_x0Te6Qmqt
rgglVG9dJOL0VfXYMOVKQxnp.v_zMwcVTce5itHWzdxx30OurtvOfj8yoh10bXuDDCJK1vD7OYLE6AmfiCejcd76XL2KhtLow9aOGzHMCgREPrx2tlC
nFX4hOcATLQwM4HD5bsi1xiyr8luii9DfARy7lw2K6kQLzpXRAYyZn8MIyieSxqUAla_SEuY2RT1rN80J4uTXizSLMvqBWn2iE_bZ2BN9YXKc0VvCMU
6MQF6citIZtcLfSTvi7Ewh7IKCbTqoJNwTBGd.M4LSCKjsdXNr9SikGeAaJkanIw2_7uPt2q8KPM8LPf4bQeEp1QWKtXZjCGFIXG4BIllbh3sA9SWBX
VP7.SgZXxRvZQ6ZcrcDmsEaB9Zihx7LKTOmEZfabtLR_Vi6Yw7tkhjM6H2M5RAyKS5m5c6mdg4ZzSBBCAtJxDNT11aQfyq1VuHoRD0684RpoN6Bg70p
pg2L342TglJNCp3nLXHB1oVBUVZZXJ7DRnjrbYEmAtYQdVyv4HFLplfBlRC6mhFr6lzvUAZoRHm4wD_SuMg0pBJRR2dVxNeSjTRhYICLqWF75DVEPcJ
EuOmlBR5LtkFJMdwdB5NgF4EISrkLtMBpwnekJjOhyvnv.rg80Yh25upVIvSNzM5MWlBc4Pz3B_Ug7D4KODR5DSRlyuKchykzG0f0LOCXaeTfGU97GY
VDJVnizpIWPgRyM1v_SfPkVWZ5nBmEikKSFIvvGm6ajb.9qbklnYonM9ezHY7kaXr0qG4ULMe_SIu4NDqr9ZviwTguxqzXlP3hGyHtWtF7JDNv5SRtR
fUIPwtz38G9IlkIpRD4V0zPBBB_gxyWBKNeYz3DV5wktyM_qC2muNTXEYAmpXlYTDreT5OYIqJKbFNlr2wJESEvQbQnF.LeJI_wAJw_gBY28yGq8rOb
WBL2o8omEjo18m2RLyUiR7VcZs1kD0_XtJQHJNbR6vQyz209BALEOgglg_fJ1DFfL5NeGyNn3toysHI3jUAa.15TNz6X.kHmadZatFWUrcsBDLY6mTU
ph_8rbdmRkpjeMDmC3iHragEFaitqUk5w648mZY8aHZ75j3SuMrsbEbOffhjNESfFzHIV7oMPMizP5IF95n4nk3IIM2z.OefIfGEnxSeni1BNJYi1_v
oesqejnfHTqzL6_7Js0Zhl65ogQFu6xSM2CBI1ZHQv_Pme_c7ziQvEvdVTumMUW0fAxcckl6ksf_2s0B6Cbqo03KpiR7ylkTUhQZ31R7lic9LO2FAJJ
6ALeCjbGdXQpt8UleWGKEJ4xgDk6Vo2Xj5gEvsq1bp4PjHf5WrJYHr9I0Dib7VACJY9d5wdVHbNwPi_nSHfGG",cRq: {ru:
'aHR0cHM6Ly9zdXBwb3J0LnJlZHN0b3IuY29tL2hjL2VuLWdiL3NlY3Rpb25zLzIwMDQ1ODA4MS1Eb3dubG9hZHM=',ra:
'TW96aWxsYS81LjAgKFdpbmRvd3MgTlQ7IFdpbmRvd3MgTlQgMTAuMDsgZGUtREUpIFdpbmRvd3NQb3dlclNoZWxsLzUuMS4xOTA0MS40MTcw',rm:
'R0VU',d: 'yaSDa12IZI6xzrOX37pXsPoQDLZSG+EZlBlU+sfOFEv7ylBWEonFSJffgF7lVWXryO2q4iYjNhxiHKwHkRzXZa48/Keg9DsoToucXiB+
+dToBrYI1TEsj2BEeHvH35kEua6z2Mlacf/Sb+becKdE/YiISTk62clCqMlOVV4ILJF4Wx/MTYqw1XC7cCeIrUSXYxLOVxRRMZelvjs3ZsoXkXuvOxH
yapA+ju16WurcGVdTH3mJtRK/n/rKtVsltE/cWaVNhPS1V/JrruQ7/f41rJqfP8e3IbBe+ZbGQ2CpdU+3RiEd3dXo3PiyS3SOUsd5M3n2baMF7Jh8Rt
6p1Mwynn81dMvXFjOmO62MeKnuobFLg0p9z2SX+hE6H1r9hek9ux+ejpJL9dS1nYIDWWO2nyrCcYubOmuGjX4Ruj/sUaP56MA0BfCRt5JinSPmHrXT8
/0lNOV+wYuJoTlYED83CBvhJnSENuO5ZXiQ+OwoHW/fbpJyexr9785AMmeE/oLpkKAbQoHx7JRxKxPtZ2UFge5x3XIY2CAfF32YFO/lQmo3TOyE7MBf
0OhcZ/HzBl0YqMBFGFzDWIbOIoj/fQbCmA8AuP52Lz6qoptSNsxJFJY=',t: 'MTcxMTAwNjU3OC4yMDAwMDA=',cT: Math.floor(Date.now()
/ 1000),m: 'RcAwQUfI7Rxo2l35hzPkCGSDFhkYgD7wNCi08PylJ4E=',i1: 'YYCCBWcTJXLLCD7ssnqUIw==',i2:
'U/m6oA6lTCVTM8fjaTQYtA==',zh: '1r4IFmcZdP6cHEi+n+e8g4FuGDerW2irer5FLTjJBrI=',uh:
'bkNCXsSllizRtcArSEcHz1h7roQggyl+U0BHlWp0g/Y=',hh: '1Gtm33bLHWhbgpldgvhY4mLmuEks0DIAtTK5q6myluE=',}};var cpo =
document.createElement('script');cpo.src =
'/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=867c4529bc3b920c';window._cf_chl_opt.cOgUHash =
location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery =
location.search === '' && location.href.slice(0, location.href.length -
window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history &&
window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery +
window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/hc\/en-gb\/sections\/200458081-Downloads?__cf_chl_r
t_tk=fRQWeSZfBBlhabwZG8X42u6hlcc87z.dbNIbuK_SKA4-1711006578-0.0.1.1-1685" +
window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null,
ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());
In Zeile:1 Zeichen:12
+ $badResp = Invoke-RestMethod -Uri 'https://support.redstor.com/hc/en- ...
+            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], We
   bException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

In PS7 that's not the case.

In PS5, one can change the user agent as a workaround. I found the example on from Get-Link for Edge to work. However, this now breaks on PS7 with the same problem PS5 has without the user agent.

I suppose one could add a user agent on PS5 and just not on PS7?

Will prepare a PR.

from nevergreen.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.