Recherche avancée

Médias (91)

Autres articles (44)

  • Changer son thème graphique

    22 février 2011, par

    Le thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
    Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
    Modifier le thème graphique utilisé
    Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
    Il suffit ensuite de se rendre dans l’espace de configuration du (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (6575)

  • How HSBC and ING are transforming banking with AI

    9 novembre 2024, par Daniel Crough — Banking and Financial Services, Featured Banking Content

    We recently partnered with FinTech Futures to produce an exciting webinar discussing how analytics leaders from two global banks are using AI to protect customers, streamline operations, and support environmental goals.

    Watch the on-demand webinar : Advancing analytics maturity.

    By providing your email and clicking “submit”, you agree to receive direct marketing materials relating to Matomo products and services, surveys, information about events, publications and promotions. You can unsubscribe at any time by clicking the opt-out link provided in each communication. We will process your personal information in accordance with our Privacy Policy.

    <script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script>

    &lt;script&gt;<br />
    gform.initializeOnLoaded( function() {gformInitSpinner( 71, 'https://matomo.org/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_71').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') &gt;= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_71');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_71').length &gt; 0;var is_redirect = contents.indexOf('gformRedirect(){') &gt;= 0;var is_form = form_content.length &gt; 0 &amp;&amp; ! is_redirect &amp;&amp; ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_71').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_71').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_71').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */  }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_71').val();gformInitSpinner( 71, 'https://matomo.org/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [71, current_page]);window['gf_submitting_71'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_71').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [71]);window['gf_submitting_71'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_71').text());}, 50);}else{jQuery('#gform_71').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(&quot;gform_pre_post_render&quot;, [{ formId: &quot;71&quot;, currentPage: &quot;current_page&quot;, abort: function() { this.preventDefault(); } }]);                if (event.defaultPrevented) {                return;         }        const gformWrapperDiv = document.getElementById( &quot;gform_wrapper_71&quot; );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( &quot;span&quot; );            visibilitySpan.id = &quot;gform_visibility_test_71&quot;;            gformWrapperDiv.insertAdjacentElement( &quot;afterend&quot;, visibilitySpan );        }        const visibilityTestDiv = document.getElementById( &quot;gform_visibility_test_71&quot; );        let postRenderFired = false;                function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            jQuery( document ).trigger( 'gform_post_render', [71, current_page] );            gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 71, currentPage: current_page } } );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate &amp;&amp; !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv &amp;&amp; visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) =&gt; {                mutations.forEach( ( mutation ) =&gt; {                    if ( mutation.type === 'attributes' &amp;&amp; visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );<br />
    &lt;/script&gt;

    Meet the expert panel

    Roshini Johri heads ESG Analytics at HSBC, where she leads AI and remote sensing applications supporting the bank’s net zero goals. Her expertise spans climate tech and financial services, with a focus on scalable analytics solutions.

     

    Marco Li Mandri leads Advanced Analytics Strategy at ING, where he focuses on delivering high-impact solutions and strengthening analytics foundations. His background combines analytics, KYC operations, and AI strategy.

     

    Carmen Soini Tourres works as a Web Analyst Consultant at Matomo, helping financial organisations optimise their digital presence whilst maintaining privacy compliance.

     

    Key findings from the webinar

    The discussion highlighted four essential elements for advancing analytics capabilities :

    1. Strong data foundations matter most

    “It doesn’t matter how good the AI model is. It is garbage in, garbage out,”

    Johri explained. Banks need robust data governance that works across different regulatory environments.

    2. Transform rather than tweak

    Li Mandri emphasised the need to reconsider entire processes :

    “We try to look at the banking domain and processes and try to re-imagine how they should be done with AI.”

    3. Bridge technical and business understanding

    Both leaders stressed the value of analytics translators who understand both technology and business needs.

    “We’re investing in this layer we call product leads,”

    Li Mandri explained. These roles combine technical knowledge with business acumen – a rare but vital skill set.

    4. Consider production costs early

    Moving from proof-of-concept to production requires careful planning. As Johri noted :

    “The scale of doing things in production is quite massive and often doesn’t get accounted for in the cost.”

    This includes :

    • Ongoing monitoring requirements
    • Maintenance needs
    • Regulatory compliance checks
    • Regular model updates

    Real-world applications

    ING’s approach demonstrates how banks can transform their operations through thoughtful AI implementation. Li Mandri shared several areas where the bank has successfully deployed analytics solutions, each benefiting both the bank and its customers.

    Customer experience enhancement

    The bank’s implementation of AI-powered instant loan processing shows how analytics can transform traditional banking.

    “We know AI can make loans instant for the customer, that’s great. Clicking one button and adding a loan, that really changes things,”

    Li Mandri explained. This goes beyond automation – it represents a fundamental shift in how banks serve their customers.

    The system analyses customer data to make rapid lending decisions while maintaining strong risk assessment standards. For customers, this means no more lengthy waiting periods or complex applications. For the bank, it means more efficient resource use and better risk management.

    The bank also uses AI to personalise customer communications.

    “We’re using that to make certain campaigns more personalised, having a certain tone of voice,”

    noted Li Mandri. This particularly resonates with younger customers who expect relevant, personalised interactions from their bank.

    Operational efficiency transformation

    ING’s approach to Know Your Customer (KYC) processes shows how AI can transform resource-heavy operations.

    “KYC is a big area of cost for the bank. So we see massive value there, a lot of scale,”

    Li Mandri explained. The bank developed an AI-powered system that :

    • Automates document verification
    • Flags potential compliance issues for human review
    • Maintains consistent standards across jurisdictions
    • Reduces processing time while improving accuracy

    This implementation required careful consideration of regulations across different markets. The bank developed monitoring systems to ensure their AI models maintain high accuracy while meeting compliance standards.

    In the back office, ING uses AI to extract and process data from various documents, significantly reducing manual work. This automation lets staff focus on complex tasks requiring human judgment.

    Sustainable finance initiatives

    ING’s commitment to sustainable banking has driven innovative uses of AI in environmental assessment.

    “We have this ambition to be a sustainable bank. If you want to be a sustainable finance customer, that requires a lot of work to understand who the company is, always comparing against its peers.”

    The bank developed AI models that :

    • Analyse company sustainability metrics
    • Compare environmental performance against industry benchmarks
    • Assess transition plans for high-emission industries
    • Monitor ongoing compliance with sustainability commitments

    This system helps staff evaluate the environmental impact of potential deals quickly and accurately.

    “We are using AI there to help our frontline process customers to see how green that deal might be and then use that as a decision point,”

    Li Mandri noted.

    HSBC’s innovative approach

    Under Johri’s leadership, HSBC has developed several groundbreaking uses of AI and analytics, particularly in environmental monitoring and operational efficiency. Their work shows how banks can use advanced technology to address complex global challenges while meeting regulatory requirements.

    Environmental monitoring through advanced technology

    HSBC uses computer vision and satellite imagery analysis to measure environmental impact with new precision.

    “This is another big research area where we look at satellite images and we do what is called remote sensing, which is the study of a remote area,”

    Johri explained.

    The system provides several key capabilities :

    • Analysis of forest coverage and deforestation rates
    • Assessment of biodiversity impact in specific regions
    • Monitoring of environmental changes over time
    • Measurement of environmental risk in lending portfolios

    “We can look at distant images of forest areas and understand how much percentage deforestation is being caused in that area, and we can then measure our biodiversity impact more accurately,”

    Johri noted. This technology enables HSBC to :

    • Make informed lending decisions
    • Monitor environmental commitments of borrowers
    • Support sustainability-linked lending programmes
    • Provide accurate environmental impact reporting

    Transforming document analysis

    HSBC is tackling one of banking’s most time-consuming challenges : processing vast amounts of documentation.

    “Can we reduce the onus of human having to go and read 200 pages of sustainability reports each time to extract answers ?”

    Johri asked. Their solution combines several AI technologies to make this process more efficient while maintaining accuracy.

    The bank’s approach includes :

    • Natural language processing to understand complex documents
    • Machine learning models to extract relevant information
    • Validation systems to ensure accuracy
    • Integration with existing compliance frameworks

    “We’re exploring solutions to improve our reporting, but we need to do it in a safe, robust and transparent way.”

    This careful balance between efficiency and accuracy exemplifies HSBC’s approach to AI.

    Building future-ready analytics capabilities

    Both banks emphasise that successful analytics requires a comprehensive, long-term approach. Their experiences highlight several critical considerations for financial institutions looking to advance their analytics capabilities.

    Developing clear governance frameworks

    “Understanding your AI risk appetite is crucial because banking is a highly regulated environment,”

    Johri emphasised. Banks need to establish governance structures that :

    • Define acceptable uses for AI
    • Establish monitoring and control mechanisms
    • Ensure compliance with evolving regulations
    • Maintain transparency in AI decision-making

    Creating solutions that scale

    Li Mandri stressed the importance of building systems that grow with the organisation :

    “When you try to prototype a model, you have to take care about the data safety, ethical consideration, you have to identify a way to monitor that model. You need model standard governance.”

    Successful scaling requires :

    • Standard approaches to model development
    • Clear evaluation frameworks
    • Simple processes for model updates
    • Strong monitoring systems
    • Regular performance reviews

    Investing in people and skills

    Both leaders highlighted how important skilled people are to analytics success.

    “Having a good hiring strategy as well as creating that data literacy is really important,”

    Johri noted. Banks need to :

    • Develop comprehensive training programmes
    • Create clear career paths for analytics professionals
    • Foster collaboration between technical and business teams
    • Build internal expertise in emerging technologies

    Planning for the future

    Looking ahead, both banks are preparing for increased regulation and growing demands for transparency. Key focus areas include :

    • Adapting to new privacy regulations
    • Making AI decisions more explainable
    • Improving data quality and governance
    • Strengthening cybersecurity measures

    Practical steps for financial institutions

    The experiences shared by HSBC and ING provide valuable insights for financial institutions at any stage of their analytics journey. Their successes and challenges outline a clear path forward.

    Key steps for success

    Financial institutions looking to enhance their analytics capabilities should :

    1. Start with strong foundations
      • Invest in clear data governance frameworks
      • Set data quality standards
      • Build thorough documentation processes
      • Create transparent data tracking
    2. Think strategically about AI implementation
      • Focus on transformative rather than small changes
      • Consider the full costs of AI projects
      • Build solutions that can grow
      • Balance innovation with risk management
    3. Invest in people and processes
      • Develop internal analytics expertise
      • Create clear paths for career growth
      • Foster collaboration between technical and business teams
      • Build a culture of data literacy
    4. Plan for scale
      • Establish monitoring systems
      • Create governance frameworks
      • Develop standard approaches to model development
      • Stay flexible for future regulatory changes

    Learn more

    Want to hear more insights from these industry leaders ? Watch the complete webinar recording on demand. You’ll learn :

    • Detailed technical insights from both banks
    • Extended Q&A with the speakers
    • Additional case studies and examples
    • Practical implementation advice
     
     

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

    Watch the on-demand webinar : Advancing analytics maturity.

    By providing your email and clicking “submit”, you agree to receive direct marketing materials relating to Matomo products and services, surveys, information about events, publications and promotions. You can unsubscribe at any time by clicking the opt-out link provided in each communication. We will process your personal information in accordance with our Privacy Policy.

    &lt;script&gt;document.getElementById( &quot;ak_js_4&quot; ).setAttribute( &quot;value&quot;, ( new Date() ).getTime() );&lt;/script&gt;

    &lt;script&gt;<br />
    gform.initializeOnLoaded( function() {gformInitSpinner( 71, 'https://matomo.org/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_71').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') &gt;= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_71');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_71').length &gt; 0;var is_redirect = contents.indexOf('gformRedirect(){') &gt;= 0;var is_form = form_content.length &gt; 0 &amp;&amp; ! is_redirect &amp;&amp; ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_71').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_71').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_71').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */  }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_71').val();gformInitSpinner( 71, 'https://matomo.org/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [71, current_page]);window['gf_submitting_71'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_71').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [71]);window['gf_submitting_71'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_71').text());}, 50);}else{jQuery('#gform_71').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(&quot;gform_pre_post_render&quot;, [{ formId: &quot;71&quot;, currentPage: &quot;current_page&quot;, abort: function() { this.preventDefault(); } }]);                if (event.defaultPrevented) {                return;         }        const gformWrapperDiv = document.getElementById( &quot;gform_wrapper_71&quot; );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( &quot;span&quot; );            visibilitySpan.id = &quot;gform_visibility_test_71&quot;;            gformWrapperDiv.insertAdjacentElement( &quot;afterend&quot;, visibilitySpan );        }        const visibilityTestDiv = document.getElementById( &quot;gform_visibility_test_71&quot; );        let postRenderFired = false;                function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            jQuery( document ).trigger( 'gform_post_render', [71, current_page] );            gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 71, currentPage: current_page } } );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate &amp;&amp; !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv &amp;&amp; visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) =&gt; {                mutations.forEach( ( mutation ) =&gt; {                    if ( mutation.type === 'attributes' &amp;&amp; visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );<br />
    &lt;/script&gt;
  • Node 18 or Node 20 break ffmpeg (in google cloud functions -> ffprobe was killed with signal SIGSEGV)

    10 janvier 2024, par user20206929

    Please see below, the code is working on node js 16, but not when upgrading to node 18 or 20.

    &#xA;

    const ffmpeg = require("fluent-ffmpeg");&#xA;&#xA;// Following is inside a .https.onRequest Google Cloud function with enough memory&#xA;&#xA;try {&#xA;  const duration = new Promise((resolve, reject) => {&#xA;  ffmpeg.ffprobe(videoUrl, async (err, metadata) => {&#xA;    if (err) {&#xA;      if (res.headersSent) {&#xA;        console.error("Response already sent");&#xA;        return;&#xA;      } else {&#xA;        console.log("Metadata:", metadata);&#xA;        console.log("err: " &#x2B; err);&#xA;        res.status(400).send("Error getting video metadata");&#xA;        return;&#xA;      }&#xA;    }&#xA;  const duration = metadata.format.duration;&#xA;  console.log("video duration in second: " &#x2B; duration);&#xA;  resolve(duration);&#xA;  });&#xA;});&#xA;  videoDuration = await duration;&#xA;} catch (err) {&#xA;  console.log(err);&#xA;  throw err;&#xA;}&#xA;

    &#xA;

    When upgrading to node 18/20 (No other change than upgrading node), the error "ffprobe not found" appears.

    &#xA;

    But setting the path manually using ffmpeg.setFfprobePath(ffprobePath) ;&#xA;trigger the error : Error : ffprobe was killed with signal SIGSEGV

    &#xA;

    So it seem its a permissions issue.

    &#xA;

    However, I tried a lot of different solutions, none of them made this work.&#xA;For instance i tried to download manually the ffprobe from the official website https://ffbinaries.com/downloads. Then manually add it to the code.

    &#xA;

    I tried to use https://www.npmjs.com/package/@ffprobe-installer/ffprobe or others package like https://www.npmjs.com/package/ffprobe-static

    &#xA;

    I also tried to download the ffprobe file to the temporary folder of google cloud, and change the permission of this folder.

    &#xA;

    All of those was doing the same error.

    &#xA;

    None of what i could think of made any difference.

    &#xA;

    Please help because i need to update node 16 to 18 or 20 before google remove node 16 on january 31 2024 and for now i don't see a solution.

    &#xA;

    I also looked for other solution to get this duration from a video file url, but using ffmpeg seem to be the only one that should work out of the box. As it is working on node 16.

    &#xA;

    Thank you,

    &#xA;

    UPDATE - 11/26/2023

    &#xA;

    GCP Functions NodeJS 16 runtime uses Ubuntu 18.04 with FFMpeg installed.&#xA;NodeJS 18/20 use Ubuntu 22.04, and Google decided not to include FFMpeg.

    &#xA;

    https://cloud.google.com/functions/docs/runtime-support#node.js&#xA;https://cloud.google.com/functions/docs/reference/system-packages

    &#xA;

    No workaround or solutions found as of now

    &#xA;

    UPDATE - 01/10/2024

    &#xA;

    Google added back ffmpeg to latest version, this is working as before now.

    &#xA;

  • no access to m3u8 when using ffmpeg [closed]

    7 octobre 2023, par asd

    I have a code that allows me to download videos from .m3u8, but for some reason it hasn't worked since yesterday

    &#xA;

    ffmpeg -user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36" -headers "Referer: https://upstream.to/" -i "https://s92.upstreamcdn.co/hls2/01/03509/wc3i5yhdfgyk_o/master.m3u8?t=M9p8oTpo_LgYLnh2Ay4UEOT6Szltp5vGepiZ09ZjnFo&amp;s=1696668614&amp;e=10800&amp;f=17548793&amp;i=169.150&amp;sp=0" -c copy -bsf:a aac_adtstoasc "name.mp4"&#xA;

    &#xA;

    what can I do to make it similar to the upstream task which looks like this

    &#xA;

    Request URL:https://s92.upstreamcdn.co/hls2/01/03509/wc3i5yhdfgyk_o/master.m3u8?t=M9p8oTpo_LgYLnh2Ay4UEOT6Szltp5vGepiZ09ZjnFo&amp;s=1696668614&amp;e=10800&amp;f=17548793&amp;i=169.150&amp;sp=0&#xA;Request Method: GET&#xA;Status Code:    200 OK&#xA;Remote Address: 164.132.163.19:443&#xA;Referrer Policy:    strict-origin-when-cross-origin&#xA;Access-Control-Allow-Origin:    *&#xA;Cache-Control:  max-age=8640000&#xA;Cache-Control:  public, no-transform&#xA;Connection: keep-alive&#xA;Content-Encoding:   gzip&#xA;Content-Type:   application/vnd.apple.mpegurl&#xA;Date:   Sat, 07 Oct 2023 08:50:16 GMT&#xA;Expires:    Mon, 15 Jan 2024 08:50:16 GMT&#xA;Last-Modified:  Sat, 07 Oct 2023 08:50:16 GMT&#xA;Server: nginx&#xA;&#xA;Transfer-Encoding:chunked&#xA;Accept:*/*&#xA;Accept-Encoding:gzip, deflate, br&#xA;Accept-Language:pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7&#xA;Connection:keep-alive&#xA;Host:s92.upstreamcdn.co&#xA;Origin:https://upstream.to&#xA;Referer:https://upstream.to/&#xA;Sec-Ch-Ua:"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"&#xA;Sec-Ch-Ua-Mobile:?0&#xA;Sec-Ch-Ua-Platform:"Windows"&#xA;Sec-Fetch-Dest:empty&#xA;Sec-Fetch-Mode:cors&#xA;Sec-Fetch-Site:cross-site&#xA;User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36&#xA;

    &#xA;