PageSourceSearch

https://scoap3.org/wp-content/plugins/download-manager/assets/js/front.js?ver=7.1.2

js scoap3.org collected 2026-10-02 03:11:55 UTC 29,914 bytes, 665 lines download raw bytes

1var allps;
2
3var WPDM = {
4
5
6    beep: function() {
7        if(WPDM.audio == undefined)
8            var snd = new  Audio("data:audio/wav;base64,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Zx5zfMakeAAAAmwAAAAF5F3P0w9GtAAACfAAAAAwLhMDmAYWMgVEG1U0FIGCBgXBXAtfMH10000EEEEEECUBYln03TTTdNBDZopopYvrTTdNa325mImNg3TTPV9q3pmY0xoO6bv3r00y+IDGid/9aaaZTGMuj9mpu9Mpio1dXrr5HERTZSmqU36A3CumzN/9Robv/Xx4v9ijkSRSNLQhAWumap82WRSBUqXStV/YcS+XVLnSS+WLDroqArFkMEsAS+eWmrUzrO0oEmE40RlMZ5+ODIkAyKAGUwZ3mVKmcamcJnMW26MRPgUw6j+LkhyHGVGYjSUUKNpuJUQoOIAyDvEyG8S5yfK6dhZc0Tx1KI/gviKL6qvvFs1+bWtaz58uUNnryq6kt5RzOCkPWlVqVX2a/EEBUdU1KrXLf40GoiiFXK///qpoiDXrOgqDR38JB0bw7SoL+ZB9o1RCkQjQ2CBYZKd/+VJxZRRZlqSkKiws0WFxUyCwsKiMy7hUVFhIaCrNQsKkTIsLivwKKigsj8XYlwt/WKi2N4d//uQRCSAAjURNIHpMZBGYiaQPSYyAAABLAAAAAAAACWAAAAApUF/Mg+0aohSIRobBAsMlO//Kk4soosy1JSFRYWaLC4qZBYWFRGZdwqKiwkNBVmoWFSJkWFxX4FFRQWR+LsS4W/rFRb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU=");
9        else
10            var snd = new  Audio(WPDM.audio);
11        snd.play();
12    },
13
14    popupWindow: function(url, title, w, h) {
15        /* Fixes dual-screen position                         Most browsers      Firefox */
16        var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
17        var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;
18
19        var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
20        var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
21
22        var left = ((width / 2) - (w / 2)) + dualScreenLeft;
23        var top = ((height / 2) - (h / 2)) + dualScreenTop;
24        var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
25
26        /* Puts focus on the newWindow */
27        if (window.focus) {
28            newWindow.focus();
29        }
30
31        return false;
32    },
33
34    bootAlert: function(heading, content, width) {
35        var html;
36        if(!width) width = 400;
37        jQuery("#w3eden__bootModal").remove();
38        html = '<div class="w3eden" id="w3eden__bootModal"><div id="__bootModal" class="modal fade" tabindex="-1" role="dialog">\n' +
39            '  <div class="modal-dialog" style="width: '+width+'px" role="document">\n' +
40            '    <div class="modal-content" style="border-radius: 3px;overflow: hidden">\n' +
41            '      <div class="modal-header" style="padding: 12px 15px;background: #f5f5f5;">\n' +
42            '        <h4 class="modal-title" style="font-size: 9pt;font-weight: 500;padding: 0;margin: 0;font-family:Montserrat, san-serif;letter-spacing: 0.5px">'+heading+'</h4>\n' +
43            '      </div>\n' +
44            '      <div class="modal-body fetfont" style="line-height: 1.5;text-transform: unset;font-weight:400;letter-spacing:0.5px;font-size: 12px">\n' +
45            '        '+content+'\n' +
46            '      </div>\n' +
47            '      <div class="modal-footer" style="padding: 10px 15px">\n' +
48            '        <button type="button" class="btn btn-secondary btn-xs" data-dismiss="modal">Close</button>\n' +
49            '      </div>\n' +
50            '    </div>\n' +
51            '  </div>\n' +
52            '</div></div>';
53        jQuery('body').append(html);
54        jQuery("#__bootModal").modal('show');
55    },
56
57
58    /**
59     * Local push notification
60     * @param title
61     * @param message
62     * @param icon
63     * @param image
64     * @param url
65     */
66    pushNotify: function(title, message, icon, image, url){
67        if (!('Notification' in window) || !('ServiceWorkerRegistration' in window)) {
68            return;
69        }
70
71        Notification.requestPermission(function (result) {
72            if(result === 'granted'){
73                console.log('Notification: ' + result);
74                try {
75                    var notification = new Notification(title, {body: message, icon: icon?icon:'https://cdn1.iconfinder.com/data/icons/hawcons/32/698558-icon-47-note-important-512.png', image: image?image:''});
76                    if(url) {
77                        notification.onclick = function (e) {
78                            e.preventDefault();
79                            window.open(url, '_blank');
80                        };
81                    }
82                } catch (err) {
83                    console.log('Notification API error: ' + err);
84                }
85            } else {
86                console.log('Notification: ' + result);
87            }
88        });
89
90    },
91
92
93
94    /**
95     * Shows notification
96     * @param message
97     * @param type
98     * @param position
99     */
100    notify: function(message, type = 'info', position = 'top-right'){
101        var $ = jQuery;
102        var notifycont = '#wpdm-notify-'+position;
103        if($(notifycont).length  == 0)
104            $('body').prepend("<div id='wpdm-notify-"+position+"'></div>");
105        var notif = $("<div class='wpdm-notify fetfont wpdm-notify-"+type+"' style='margin-right: -500px'>"+message+"</div>");
106        $(notifycont).append(notif);
107        $(notif).animate({marginRight: '0px'});
108        return $(notif);
109    },
110
111    /**
112     * Shows notification
113     * @param message
114     * @param type
115     * @param position
116     */
117    floatify: function(html, position = 'top-right'){
118        var $ = jQuery;
119        var floatifycont = '#wpdm-floatify-'+position;
120        if($(floatifycont).length  == 0)
121            $('body').prepend("<div class='w3eden' id='wpdm-floatify-"+position+"'></div>");
122        var floatify = $("<div class='wpdm-floatify fetfont style='margin-right: -500px'>"+html+"</div>");
123        $(floatifycont).append(floatify);
124        $(floatify).animate({marginRight: '0px'});
125        return $(floatify);
126    },
127
128    blockUI: function(element, xhr){
129        jQuery(element).addClass("blockui");
130        if(xhr)
131            xhr.addEventListener("load", function () {
132                jQuery(element).removeClass("blockui");
133            });
134    },
135
136    unblockUI: function(element){
137        jQuery(element).removeClass("blockui");
138    },
139
140    overlay: function(element, html){
141        var $ = jQuery;
142        var overlaycontent = $("<div class='wpdm-overlay-content' style='display: none'>"+html+"<div class='wpdm-overlay-close' style='cursor: pointer'><i class='far fa-times-circle'></i> close</div></div>");
143        $(element).addClass('wpdm-overlay').append(overlaycontent);
144        $(overlaycontent).fadeIn();
145        $('body').on('click', '.wpdm-overlay-close', function () {
146            $(overlaycontent).fadeOut(function () {
147                $(this).remove();
148            });
149        });
150        return $(overlaycontent);
151    },
152
153
154    confirm: function(heading, content, buttons) {
155        var html, $ = jQuery;
156        $("#w3eden__boot_popup").remove();
157        var _buttons = '';
158        if(buttons) {
159            _buttons = '<div class="modal-footer" style="padding: 8px 15px;">\n';
160            $.each(buttons, function (i, button) {
161                var id = 'btx_' + i;
162                _buttons += "<button id='" + id + "' class='" + button.class + " btn-xs' style='font-size: 10px;padding: 3px 20px;'>" + button.label + "</button> ";
163            });
164            _buttons += '</div>\n';
165        }
166
167        html = '<div class="w3eden" id="w3eden__boot_popup"><div id="__boot_popup" style="z-index: 9999999 !important;" class="modal fade" tabindex="-1" role="dialog">\n' +
168            '  <div class="modal-dialog" role="document" style="max-width: 100%;width: 350px">\n' +
169            '    <div class="modal-content" style="border-radius: 3px;overflow: hidden">\n' +
170            '      <div class="modal-header" style="padding: 12px 15px;background: #f5f5f5;">\n' +
171            '        <h4 class="modal-title" style="font-size: 9pt;font-weight: 500;padding: 0;margin: 0;font-family:var(--wpdm-font), san-serif;letter-spacing: 0.5px">'+heading+'</h4>\n' +
172            '      </div>\n' +
173            '      <div class="modal-body text-center" style="font-family:var(--wpdm-font), san-serif;letter-spacing: 0.5px;font-size: 10pt;font-weight: 300;padding: 25px;line-height: 1.5">\n' +
174            '        '+content+'\n' +
175            '      </div>\n' + _buttons +
176            '    </div>\n' +
177            '  </div>\n' +
178            '</div></div>';
179        $('body').append(html);
180        $("#__boot_popup").modal('show');
181        $.each(buttons, function (i, button) {
182            var id = 'btx_'+i;
183            $('#'+id).unbind('click');
184            $( '#'+id).bind('click' , function () {
185                button.callback.call($("#__boot_popup"));
186                return false;
187            });
188        });
189        return $("#__boot_popup");
190    }
191
192};
193
194
195
196jQuery(function ($) {
197
198    $('body').on('click', '.wpdm-notify', function () {
199        /* $(this).addClass('wpdm-hide-right'); */
200        $(this).animate({marginRight: '-500px'}, 1000, function () {
201            $(this).remove();
202        });
203    });
204
205    $('body').on('click', '.wpdm-download-link.wpdm-download-locked', function (e) {
206        e.preventDefault();
207        hideLockFrame();
208
209        var parentWindow = document.createElement("a");
210        parentWindow.href = document.referrer.toString();
211
212        if(parentWindow.hostname === window.location.hostname || 1)
213            $(window.parent.document.body).append("<iframe id='wpdm-lock-frame' style='left:0;top:0;width: 100%;height: 100%;z-index: 999999999;position: fixed;background: rgba(255,255,255,0.4) url("+wpdm_home_url+"wp-content/plugins/download-manager/assets/images/loader.svg) center center no-repeat;background-size: 100px 100px;border: 0;' src='"+wpdm_home_url+"?__wpdmlo="+$(this).data('package')+"'></iframe>");
214        else
215            window.parent.postMessage({
216                'task': 'showiframe',
217                'iframe': "<iframe id='wpdm-lock-frame' style='left:0;top:0;width: 100%;height: 100%;z-index: 999999999;position: fixed;background: rgba(255,255,255,0.4) url("+wpdm_home_url+"wp-content/plugins/download-manager/assets/images/loader.svg) center center no-repeat;background-size: 100px 100px;border: 0;' src='"+wpdm_home_url+"?__wpdmlo="+$(this).data('package')+"'></iframe>"
218            }, "*");
219
220    });
221
222
223    $('body').on('click', '.__wpdm_playvideo', function (e) {
224        e.preventDefault();
225        $('#__wpdm_videoplayer').children('source').attr('src', $(this).data('video'));
226        console.log('loading...');
227        var vid = document.getElementById("__wpdm_videoplayer");
228        vid.onloadeddata = function() {
229            console.log('loaded....');
230        };
231        $("#__wpdm_videoplayer").get(0).load();
232
233    });
234
235    $('body').on('click', function (e) {
236
237        if ($(e.target).data('toggle') !== 'popover'
238            && $(e.target).parents('.popover.in').length === 0) {
239            try {
240
241                $('.wpdm-download-locked.pop-over').each(function(){
242                    if($(this).data('ready') == 'show'){
243                        $(this).popover('hide');
244                        $(this).data('ready', 'hide');
245                    }
246                });
247            }catch(e){}
248        }
249    });
250
251    $('body').on('change', '.terms_checkbox', function (e) {
252        if($(this).is(':checked'))
253            $('#wpdm-filelist-'+$(this).data('pid')+' .btn.inddl, #xfilelist .btn.inddl').removeAttr('disabled');
254        else
255            $('#wpdm-filelist-'+$(this).data('pid')+' .btn.inddl, #xfilelist .btn.inddl').attr('disabled', 'disabled');
256    });
257
258    $('body').on('click', '.wpdm-social-lock', function (e) {
259
260            try {
261
262
263                _PopupCenter($(this).data('url'), 'Social Lock', 600, 400);
264
265            }catch(e){}
266
267    });
268
269    $('body').on('click', '.po-close', function (e) {
270
271            try {
272
273                $('.wpdm-download-locked.pop-over').each(function(){
274                    if($(this).data('ready') == 'show'){
275                        $(this).popover('hide');
276                        $(this).data('ready', 'hide');
277                    }
278                });
279            }catch(e){}
280
281    });
282
283    $('body').on('click', '#wpdm-dashboard-sidebar a.list-group-item', function (e) {
284
285           location.href = this.href;
286
287    });
288
289    $('.input-group input').on('focus', function () {
290        $(this).parent('.input-group').find('.input-group-addon').addClass('input-group-addon-active');
291    });
292    $('.input-group input').on('blur', function () {
293        $(this).parent().find('.input-group-addon').removeClass('input-group-addon-active');
294    });
295
296
297    $('body').on('click', 'button.btn.inddl', function (e) {
298        e.preventDefault();
299        var tis = this;
300        if($(this).data('dlurl') != undefined){
301            location.href = $(this).data('dlurl');
302            return;
303        }
304        $.post( wpdm_ajax_url, {
305            action: 'wpdm_verify_file_pass',
306            wpdmfileid: $(tis).data('pid'),
307            wpdmfile: $(tis).data('file'),
308            actioninddlpvr: 1,
309            filepass: $($(tis).data('pass')).val()
310        }, function (res) {
311            if (res.error == '') {
312                var dlurl = res.downloadurl;
313                $(tis).data('dlurl', dlurl);
314                wpdm_boot_popup("Password Verified!", "<div style='padding: 50px;'>Please click following button to start download.<br/><br/><a href='"+dlurl+"' class='btn btn-lg btn-success' target='_blank'>Start Download</a></div>",
315                    [{
316                            label: 'Close',
317                            class: 'btn btn-secondary',
318                            callback: function () {
319                                this.modal('hide');
320                                return false;
321                            }
322                        }]
323                    );
324            }
325        });
326    });
327
328    $('body').on('click', '.wpdm-download-locked.pop-over', function () {
329        var $dc = $($(this).attr('href'));
330        var prts = $(this).attr('href').split('_');
331        var pid = prts[1];
332
333        if ($(this).attr('data-ready') == undefined || $(this).attr('data-ready') == 'hide') {
334
335            $(this).popover({
336                placement: 'bottom',
337                html: true,
338                content: function () {
339
340                    if(wpdm_ajax_popup == 1)
341                    return "<div id='popcnt_"+pid+"'><i class='fa fa-refresh fa-spin'></i> Loading...</div>"+'<div style="padding-top: 10px;border-top: 1px solid #eeeeee;text-align: right"><button class="btn btn-danger btn-xs po-close" s><i class="fa fa-times-circle"></i> Close</button></div>';
342
343                    else
344                        return $dc.html()+'<div style="padding-top: 10px;border-top: 1px solid #eeeeee;text-align: right"><button class="btn btn-danger btn-xs po-close" s><i class="fa fa-times-circle"></i> Close</button></div>';
345
346
347                }
348            });
349            $(this).popover('show');
350
351            if(wpdm_ajax_popup == 1)
352                $("#popcnt_"+pid).load(ajax_url,{action:'showLockOptions',id:pid});
353
354            $(this).data('ready', 'show');
355        } else {
356            $(this).popover('hide');
357            $(this).date('ready', 'hide');
358        }
359
360        return false;
361    });
362
363
364
365    $('body').on('click', '.wpdm-indir', function (e) {
366        e.preventDefault();
367        $('#xfilelist').load(location.href, {
368            action: 'wpdmfilelistcd',
369            pid: $(this).data('pid'),
370            cd: $(this).data('dir')
371        });
372    });
373
374
375    $('body').on('click', '.role-tabs a', function (e) {
376        $('.role-tabs a').removeClass('active');
377        $(this).addClass('active');
378    });
379
380
381
382    $('body').on('click', '.btn-wpdm-a2f', function (e) {
383            var a2fbtn = $(this);
384            $.post(ajax_url, {action: 'wpdm_addtofav', pid: $(this).data('package')}, function (res) {
385                if(a2fbtn.hasClass('btn-secondary'))
386                    a2fbtn.removeClass('btn-secondary').addClass('btn-danger').html(a2fbtn.data('rlabel'));
387                else
388                    a2fbtn.removeClass('btn-danger').addClass('btn-secondary').html(a2fbtn.data('alabel'));
389            });
390    });
391
392    $('body').on('click', '.wpdm-btn-play', function (e) {
393        e.preventDefault();
394        if($('#wpdm-audio-player').length == 0) {
395            var player = document.createElement('audio');
396            player.id = 'wpdm-audio-player';
397            player.controls = 'controls';
398            player.autoplay = 1;
399            player.type = 'audio/mpeg';
400            $('body').append(player);
401        }
402
403        player = $('#wpdm-audio-player');
404        var btn = $(this);
405
406        if (btn.data('state') == 'stop' || !btn.data('state')) {
407            player.css('display', 'none');
408            player.attr('src', $(this).data('song') + "&play=song.mp3");
409        }
410
411        if (btn.data('state') == 'playing') {
412            $(this).data('state', 'paused');
413            player.trigger('pause');
414            $(this).html("<i class='fa fa-play'></i>");
415            return false;
416        }
417
418        if (btn.data('state') == 'paused') {
419            $(this).data('state', 'playing');
420            player.trigger('play');
421            $('.wpdm-btn-play').html("<i class='fa fa-play'></i>");
422            $(this).html("<i class='fa fa-pause'></i>");
423            return false;
424        }
425
426
427        $('.wpdm-btn-play').data("state", "stop");
428        $('.wpdm-btn-play').html("<i class='fa fa-play'></i>");
429        btn.html("<i class='fas fa-sun  fa-spin'></i>");
430        player.unbind('loadedmetadata');
431        player.on('loadedmetadata', function () {
432            console.log("Playing " + this.src + ", for: " + this.duration + "seconds.");
433            btn.html("<i class='fa fa-pause'></i>");
434            btn.data('state', 'playing');
435
436        });
437        document.getElementById('wpdm-audio-player').onended = function () {
438            btn.html("<i class='fa fa-redo'></i>");
439            btn.data('state', 'stop');
440        }
441    });
442
443    $('.wpdm_remove_empty').remove();
444
445    /* Uploading files */
446    var file_frame, dfield;
447
448    $('body').on('click', '.wpdm-media-upload', function (event) {
449        event.preventDefault();
450        dfield = $($(this).attr('rel'));
451
452        /* If the media frame already exists, reopen it. */
453        if (file_frame) {
454            file_frame.open();
455            return;
456        }
457
458        /* Create the media frame. */
459        file_frame = wp.media.frames.file_frame = wp.media({
460            title: $(this).data('uploader_title'),
461            button: {
462                text: $(this).data('uploader_button_text')
463            },
464            multiple: false  /* Set to true to allow multiple files to be selected */
465        });
466
467        /* When an image is selected, run a callback. */
468        file_frame.on('select', function () {
469            /* We set multiple to false so only get one image from the uploader */
470            attachment = file_frame.state().get('selection').first().toJSON();
471            dfield.val(attachment.url);
472
473        });
474
475        /* Finally, open the modal */
476        file_frame.open();
477    });
478
479    $('body').on('click', '.btn-image-selector' , function( event ){
480        event.preventDefault();
481        dfield = $($(this).attr('rel'));
482        var dfield_h = $($(this).attr('rel')+'_hidden');
483
484        if ( file_frame ) {
485            file_frame.open();
486            return;
487        }
488
489        file_frame = wp.media.frames.file_frame = wp.media({
490            title: $( this ).data( 'uploader_title' ),
491            button: {
492                text: $( this ).data( 'uploader_button_text' )
493            },
494            multiple: false
495        });
496
497
498        file_frame.on( 'select', function() {
499
500            attachment = file_frame.state().get('selection').first().toJSON();
501            dfield.attr('src', attachment.url);
502            dfield_h.val(attachment.url);
503
504        });
505
506        file_frame.open();
507    });
508
509    $('body').on('click', '.pagination.async a, .__wpdm_load_async', function (e) {
510        e.preventDefault();
511        var _cont = $(this).data('container');
512        console.log(_cont);
513        $(_cont).addClass('blockui');
514        $.get(this.href, function (res) {
515            $(_cont).html($(res).find(_cont).html());
516            $(_cont).removeClass('blockui');
517        });
518    });
519
520
521
522    var unlocked = [];
523
524    $('.wpdm-filelist-area[data-termlock]').on('mouseover', function () {
525
526        try {
527            if (unlocked[$(this).data('packageid')] === 1) return;
528        } catch (e) {
529
530        }
531        $('#term-panel-' + $(this).data('packageid')).fadeIn('fast');
532    });
533
534    $('.terms_checkbox').on('click', function () {
535        if($(this).is(':checked')){
536          unlocked[$(this).data('pid')] = 1;
537            $('#term-panel-' + $(this).data('pid')).fadeOut('fast');
538        }
539    });
540
541    $('.wpdm-filelist-area[data-termlock]').each(function () {
542
543
544    });
545
546
547
548    /* Bootstrap 4 *
549    $('.panel').addClass('card').removeClass('panel');
550    $('.panel-body').addClass('card-body').removeClass('panel-body');
551    $('.panel-heading').addClass('card-header').removeClass('panel-heading');
552    $('.panel-footer').addClass('card-footer').removeClass('panel-footer');
553    $('.panel-danger').addClass('bg-danger text-white').removeClass('panel-danger');
554    $('.dashboard-panel').removeClass('.dashboard-panel');
555    */
556
557
558
559});
560
561function _PopupCenter(url, title, w, h) {
562    /* Fixes dual-screen position                         Most browsers      Firefox */
563    var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
564    var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;
565
566    var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
567    var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
568
569    var left = ((width / 2) - (w / 2)) + dualScreenLeft;
570    var top = ((height / 2) - (h / 2)) + dualScreenTop;
571    var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' 
571+ top + ', left=' + left);
572
573    /* Puts focus on the newWindow */
574    if (window.focus) {
575        newWindow.focus();
576    }
577
578    return false;
579}
580
581function generatepass(id){
582    tb_show('Generate Password',ajaxurl+'?action=wpdm_generate_password&id='+id);
583}
584
585function hideLockFrame() {
586    jQuery('#wpdm-lock-frame').remove();
587}
588
589function wpdm_bootModal(heading, content, width) {
590    var html;
591    if(!width) width = 400;
592    jQuery("#w3eden__bootModal").remove();
593    html = '<div class="w3eden" id="w3eden__bootModal"><div id="__bootModal" class="modal fade" tabindex="-1" role="dialog">\n' +
594        '  <div class="modal-dialog" style="width: '+width+'px" role="document">\n' +
595        '    <div class="modal-content" style="border-radius: 3px;overflow: hidden">\n' +
596        '      <div class="modal-header" style="padding: 12px 15px;background: #f5f5f5;">\n' +
597        '        <h4 class="modal-title" style="font-size: 9pt;font-weight: 500;padding: 0;margin: 0;font-family:Montserrat, san-serif;letter-spacing: 0.5px">'+heading+'</h4>\n' +
598        '      </div>\n' +
599        '      <div class="modal-body fetfont" style="line-height: 1.5;text-transform: unset;font-weight:400;letter-spacing:0.5px;font-size: 12px">\n' +
600        '        '+content+'\n' +
601        '      </div>\n' +
602        '      <div class="modal-footer" style="padding: 10px 15px">\n' +
603        '        <button type="button" class="btn btn-secondary btn-xs" data-dismiss="modal">Close</button>\n' +
604        '      </div>\n' +
605        '    </div>\n' +
606        '  </div>\n' +
607        '</div></div>';
608    jQuery('body').append(html);
609    jQuery("#__bootModal").modal('show');
610}
611
612function wpdm_boot_popup(heading, content, buttons) {
613    var html, $ = jQuery;
614    $("#w3eden__boot_popup").remove();
615    var _buttons = '';
616    if(buttons) {
617        _buttons = '<div class="modal-footer" style="padding: 8px 15px;">\n';
618        $.each(buttons, function (i, button) {
619            var id = 'btx_' + i;
620            _buttons += "<button id='" + id + "' class='" + button.class + " btn-xs' style='font-size: 10px;padding: 3px 20px;'>" + button.label + "</button> ";
621        });
622        _buttons += '</div>\n';
623    }
624
625    html = '<div class="w3eden" id="w3eden__boot_popup"><div id="__boot_popup" style="z-index: 9999999 !important;" class="modal fade" tabindex="-1" role="dialog">\n' +
626        '  <div class="modal-dialog" role="document" style="max-width: 100%;width: 350px">\n' +
627        '    <div class="modal-content" style="border-radius: 3px;overflow: hidden">\n' +
628        '      <div class="modal-header" style="padding: 12px 15px;background: #f5f5f5;">\n' +
629        '        <h4 class="modal-title" style="font-size: 9pt;font-weight: 500;padding: 0;margin: 0;font-family:Montserrat, san-serif;letter-spacing: 0.5px">'+heading+'</h4>\n' +
630        '      </div>\n' +
631        '      <div class="modal-body text-center" style="letter-spacing: 0.5px;font-size: 10pt;font-weight: 300;padding: 25px;line-height: 1.5">\n' +
632        '        '+content+'\n' +
633        '      </div>\n' + _buttons +
634        '    </div>\n' +
635        '  </div>\n' +
636        '</div></div>';
637    $('body').append(html);
638    $("#__boot_popup").modal('show');
639    $.each(buttons, function (i, button) {
640        var id = 'btx_'+i;
641        $('#'+id).unbind('click');
642        $( '#'+id).bind('click' , function () {
643            button.callback.call($("#__boot_popup"));
644            return false;
645        });
646    });
647    return $("#__boot_popup");
648}
649
650function wpdm_iframe_modal(url, closebutton = false) {
651    var iframe, $ = jQuery;
652    if(url === 'close') {
653        $('#wpdm_iframe_modal').remove();
654        $('body').removeClass('wpdm-iframe-modal-open');
655        return false;
656    }
657    var closebutton_html = "";
658    if(closebutton)
659        closebutton_html = "<a href='#' onclick='return wpdm_iframe_modal(\"close\");' style='border-radius: 0;position: absolute;top: 0;right: 0;z-index: 999999;width: 40px;line-height: 40px;padding: 0' class='btn btn-danger'><i class='fas fa-times-circle'></i></a>";
660
661    iframe = '<iframe src="'+url+'" style="width: 100%;height: 100%;position: fixed;z-index: 999999999 !important;border: 0;left: 0;top: 0;right: 0;bottom: 0;background: rgba(0,0,0,0.2);display: none;" id="wpdm_iframe_modal"></iframe>'+closebutton_html;
662    $('body').append(iframe).addClass('wpdm-iframe-modal-open');
663    $('#wpdm_iframe_modal').fadeIn();
664
665}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.