This file is indexed.

/usr/share/games/flightgear/Phi/lib/jquery.flot.prop.js is in flightgear-phi 2016.4.2+dfsg1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
(function ($) {
    function init(plot) {

      function optionProcessor(plot, options) {
      }

      plot.hooks.processOptions.push(optionProcessor);

      var presample = { x: 0, y: 0, n: 0 };

      plot.plotPropertyNode = function(n) {
        var maxData = Math.floor(this.width() / 2);
        if( maxData < 10 ) return;

        var probeWidth = this.getOptions().historyLength / maxData;
        var x = Math.floor(n.ts/probeWidth)*probeWidth;
        var y = n.value * 1.0;

        // first call 
        if( presample.n == 0 ) {
          presample.x = x;
        }
        
        // same period as previous call?
        if( x == presample.x ) {
          // sum up the sample
          presample.y += y;
          presample.n++;
          return;
        }

        var sampledY = presample.y/presample.n;
        var sampledX = presample.x;

        // start sample next period
        presample.x = x;
        presample.y = y;
        presample.n = 1;
        
        var series = this.getData();
        var data;
        for( var  seriesNumber = 0; 
             seriesNumber < series.length; 
             seriesNumber++ ) {
          if( n.path == series[seriesNumber].propertyPath ) {
            data = series[seriesNumber].data;
            break;
          }
        }

        if( ! data ) return;

        data.push([sampledX, sampledY]);

        var toomany = data.length - maxData;
        if (toomany > 0) {
           // slice returns a new array, so set series data 
           series[seriesNumber].data = data.slice(toomany);;
        }

        this.setData(series);

        if( data.length >= 2 ) {
          var xaxis = this.getAxes().xaxis;
          var v = Math.ceil(data[data.length-1][0]);
          v = Math.ceil(v/5)*5;
          xaxis.options.max = v;
          xaxis.options.min = xaxis.options.max - this.getOptions().historyLength;
          var yaxis = this.getAxes().yaxis;
          yaxis.options.min = Math.floor(yaxis.datamin);
          yaxis.options.max = Math.ceil(yaxis.datamax);
          this.setupGrid();
        }
        this.draw();
      }
    }

    var options = { historyLength: 60 };

    $.plot.plugins.push({
        init: init,
        options: options,
        name: "propflot",
        version: "0.1"
    });
})(jQuery);