@canboat/canboatjs 1.26.2 → 2.0.0-beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/W2K_NOTES +5 -0
- package/lib/fromPgn.js +35 -24
- package/lib/toPgn.js +11 -11
- package/n2ka.js +123 -0
- package/package.json +3 -3
- package/wk2.out +224 -0
package/W2K_NOTES
ADDED
package/lib/fromPgn.js
CHANGED
|
@@ -120,7 +120,9 @@ class Parser extends EventEmitter {
|
|
|
120
120
|
})
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
const RepeatingFields = pgnData.RepeatingFieldSet1Size ? pgnData.RepeatingFieldSet1Size : 0
|
|
124
|
+
|
|
125
|
+
trace(`${pgn.pgn} ${len} ${pgnData.Length} ${RepeatingFields} ${couldBeMulti}`)
|
|
124
126
|
if ( coalesced || len > 0x8 || (this.format == FORMAT_COALESCED && !this.mixedFormat) ) {
|
|
125
127
|
this.format = FORMAT_COALESCED
|
|
126
128
|
if ( sourceString ) {
|
|
@@ -199,7 +201,7 @@ class Parser extends EventEmitter {
|
|
|
199
201
|
try {
|
|
200
202
|
var fields = pgnData.Fields
|
|
201
203
|
|
|
202
|
-
for ( var i = 0; i < fields.length-
|
|
204
|
+
for ( var i = 0; i < fields.length-RepeatingFields; i++ ) {
|
|
203
205
|
var field = fields[i]
|
|
204
206
|
var hasMatch = !_.isUndefined(field.Match)
|
|
205
207
|
|
|
@@ -241,8 +243,8 @@ class Parser extends EventEmitter {
|
|
|
241
243
|
pgn.fields[field.Name] = value
|
|
242
244
|
}
|
|
243
245
|
}
|
|
244
|
-
if (
|
|
245
|
-
var repeating = fields.slice(fields.length-
|
|
246
|
+
if ( RepeatingFields > 0 ) {
|
|
247
|
+
var repeating = fields.slice(fields.length-RepeatingFields)
|
|
246
248
|
pgn.fields.list = []
|
|
247
249
|
|
|
248
250
|
while ( bs.bitsLeft > 0 ) {
|
|
@@ -478,9 +480,9 @@ class Parser extends EventEmitter {
|
|
|
478
480
|
}
|
|
479
481
|
return res
|
|
480
482
|
} catch ( error ) {
|
|
481
|
-
const err = new Error(`error reading pgn ${JSON.stringify(
|
|
483
|
+
const err = new Error(`error reading pgn ${JSON.stringify(pgn_data)} ${error}`)
|
|
482
484
|
cb && cb(err)
|
|
483
|
-
this.emit('error',
|
|
485
|
+
this.emit('error', pgn_data, error)
|
|
484
486
|
console.error(err)
|
|
485
487
|
return
|
|
486
488
|
}
|
|
@@ -498,7 +500,7 @@ function getField(pgn, index, data) {
|
|
|
498
500
|
var hasMatch = !_.isUndefined(field.Match)
|
|
499
501
|
if ( hasMatch && data.fields.list.length > 0 ) {
|
|
500
502
|
let param = data.fields.list.find(f => f.Parameter === idx+1)
|
|
501
|
-
|
|
503
|
+
|
|
502
504
|
if ( param ) {
|
|
503
505
|
pgnList = pgnList.filter(f => f.Fields[idx].Match == param.Value)
|
|
504
506
|
if ( pgnList.length == 0 ) {
|
|
@@ -511,14 +513,15 @@ function getField(pgn, index, data) {
|
|
|
511
513
|
}
|
|
512
514
|
})
|
|
513
515
|
}
|
|
514
|
-
|
|
516
|
+
|
|
515
517
|
if ( index >= 0 && index < pgn.Fields.length ) {
|
|
516
518
|
return pgn.Fields[index]
|
|
517
519
|
}
|
|
518
520
|
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
521
|
+
const RepeatingFields = pgn.RepeatingFieldSet1Size ? pgn.RepeatingFieldSet1Size : 0
|
|
522
|
+
if ( RepeatingFields ) {
|
|
523
|
+
var startOfRepeatingFields = pgn.Fields.length - RepeatingFields
|
|
524
|
+
index = startOfRepeatingFields + ((index - startOfRepeatingFields) % RepeatingFields);
|
|
522
525
|
return pgn.Fields[index]
|
|
523
526
|
}
|
|
524
527
|
}
|
|
@@ -579,7 +582,8 @@ function readField(options, runPostProcessor, pgn, field, bs) {
|
|
|
579
582
|
//console.log(`${field.Name} ${value} ${field.Resolution}`)
|
|
580
583
|
|
|
581
584
|
if ( value != null && !_.isUndefined(value) ) {
|
|
582
|
-
|
|
585
|
+
let type = field.Type //hack, missing type
|
|
586
|
+
var postProcessor = fieldTypePostProcessors[type]
|
|
583
587
|
if ( postProcessor ) {
|
|
584
588
|
if ( runPostProcessor ) {
|
|
585
589
|
value = postProcessor(field, value)
|
|
@@ -645,7 +649,7 @@ function readValue(options, pgn, field, bs, bitLength) {
|
|
|
645
649
|
if ( _.isUndefined(bitLength) ) {
|
|
646
650
|
bitLength = field.BitLength
|
|
647
651
|
}
|
|
648
|
-
if (
|
|
652
|
+
if ( !field.Type && field.BitLengthVariable ) { ///hack for missing FieldType
|
|
649
653
|
return readVariableLengthField(options, pgn, field, bs)
|
|
650
654
|
} else if (bitLength === 8) {
|
|
651
655
|
if ( field.Signed ) {
|
|
@@ -738,17 +742,21 @@ function readVariableLengthField(options, pgn, field, bs) {
|
|
|
738
742
|
* length and thus that the field number is exactly one byte earlier.
|
|
739
743
|
*/
|
|
740
744
|
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
if ( refField ) {
|
|
744
|
-
var bits = (refField.BitLength + 7) & ~7; // Round # of bits in field refField up to complete bytes: 1->8, 7->8, 8->8 etc.
|
|
745
|
-
let res = readField(options, false, pgn, refField, bs)
|
|
745
|
+
try {
|
|
746
|
+
var refField = getField(pgn.fields.PGN, bs.view.buffer[bs.byteIndex-1]-1, pgn)
|
|
746
747
|
|
|
747
|
-
if (
|
|
748
|
-
|
|
748
|
+
if ( refField ) {
|
|
749
|
+
var bits = (refField.BitLength + 7) & ~7; // Round # of bits in field refField up to complete bytes: 1->8, 7->8, 8->8 etc.
|
|
750
|
+
let res = readField(options, false, pgn, refField, bs)
|
|
751
|
+
|
|
752
|
+
if ( bits > refField.BitLength ) {
|
|
753
|
+
bs.readBits(bits - refField.BitLength, false)
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
return res
|
|
749
757
|
}
|
|
750
|
-
|
|
751
|
-
|
|
758
|
+
} catch ( error ) {
|
|
759
|
+
debug(error)
|
|
752
760
|
}
|
|
753
761
|
}
|
|
754
762
|
|
|
@@ -772,6 +780,10 @@ fieldTypeReaders['ASCII or UNICODE string starting with length and control byte'
|
|
|
772
780
|
buf.writeUInt8(c, idx)
|
|
773
781
|
}
|
|
774
782
|
|
|
783
|
+
if ( buf[buf.length-1] === 0 ) {
|
|
784
|
+
nameLen = nameLen - 1
|
|
785
|
+
}
|
|
786
|
+
|
|
775
787
|
return buf.toString(control == 0 ? 'utf8' : 'ascii', 0, idx < nameLen ? idx : nameLen).trim()
|
|
776
788
|
} else {
|
|
777
789
|
return null
|
|
@@ -871,8 +883,7 @@ fieldTypePostProcessors['Time'] = (field, value) => {
|
|
|
871
883
|
if (value >= 0xfffffffd) {
|
|
872
884
|
value = undefined
|
|
873
885
|
} else {
|
|
874
|
-
var seconds = (value
|
|
875
|
-
//var units = value % timeUnitsPerSecond;
|
|
886
|
+
var seconds = (value * field.Resolution)
|
|
876
887
|
var minutes = (seconds / 60);
|
|
877
888
|
var seconds = seconds % 60;
|
|
878
889
|
var hours = Math.floor(minutes / 60);
|
package/lib/toPgn.js
CHANGED
|
@@ -75,8 +75,8 @@ function toPgn(data) {
|
|
|
75
75
|
if ( !_.isArray(fields) ) {
|
|
76
76
|
fields = [ fields.Field ]
|
|
77
77
|
}
|
|
78
|
-
|
|
79
|
-
for ( var index = 0; index < fields.length -
|
|
78
|
+
const RepeatingFields = pgnData.RepeatingFieldSet1Size ? pgnData.RepeatingFieldSet1Size : 0
|
|
79
|
+
for ( var index = 0; index < fields.length - RepeatingFields; index++ ) {
|
|
80
80
|
var field = fields[index]
|
|
81
81
|
var value = data[field.Name];
|
|
82
82
|
|
|
@@ -99,8 +99,8 @@ function toPgn(data) {
|
|
|
99
99
|
|
|
100
100
|
if ( data.list ) {
|
|
101
101
|
data.list.forEach(repeat => {
|
|
102
|
-
for (var index = 0; index <
|
|
103
|
-
var field = fields[pgnData.Fields.length-
|
|
102
|
+
for (var index = 0; index < RepeatingFields; index++ ) {
|
|
103
|
+
var field = fields[pgnData.Fields.length-RepeatingFields+index]
|
|
104
104
|
var value = repeat[field.Name];
|
|
105
105
|
|
|
106
106
|
writeField(bs, pgn_number, field, data, value)
|
|
@@ -118,7 +118,7 @@ function toPgn(data) {
|
|
|
118
118
|
if ( pgnData.Length != 0xff
|
|
119
119
|
&& fields[fields.length-1].Type != RES_STRINGLAU
|
|
120
120
|
&& fields[fields.length-1].Type != RES_STRINGLZ
|
|
121
|
-
&& !
|
|
121
|
+
&& !RepeatingFields ) {
|
|
122
122
|
|
|
123
123
|
var len = lengthsOff[pgnData.PGN] || pgnData.Length
|
|
124
124
|
//console.log(`Length ${len}`)
|
|
@@ -166,16 +166,16 @@ function writeField(bs, pgn_number, field, data, value, bitLength) {
|
|
|
166
166
|
}
|
|
167
167
|
bs.writeUint8(field.Signed ? 0x7f : 0xff)
|
|
168
168
|
} else {
|
|
169
|
-
bs.writeBits(
|
|
169
|
+
bs.writeBits(0xffffffff, bitLength)
|
|
170
170
|
}
|
|
171
171
|
} else {
|
|
172
|
-
|
|
172
|
+
let type = field.Type
|
|
173
173
|
if ( field.Name === 'Industry Code' ) {
|
|
174
174
|
if ( _.isString(value) ) {
|
|
175
175
|
value = Number(getIndustryCode(value))
|
|
176
176
|
}
|
|
177
|
-
} else if (
|
|
178
|
-
value = fieldTypeMappers[
|
|
177
|
+
} else if ( type && fieldTypeMappers[type] ) {
|
|
178
|
+
value = fieldTypeMappers[type](field, value)
|
|
179
179
|
} else if (field.EnumValues && _.isString(value)) {
|
|
180
180
|
if (!(field.Id === "timeStamp" && value < 60)) {
|
|
181
181
|
value = lookup(field, value)
|
|
@@ -189,7 +189,7 @@ function writeField(bs, pgn_number, field, data, value, bitLength) {
|
|
|
189
189
|
if ( field.Type && fieldTypeWriters[field.Type] ) {
|
|
190
190
|
fieldTypeWriters[field.Type](pgn_number, field, value, bs)
|
|
191
191
|
} else {
|
|
192
|
-
if ( _.isString(value) && bitLength !== 0 ) {
|
|
192
|
+
if ( _.isString(value) && typeof bitLength !== 'undefined' && bitLength !== 0 ) {
|
|
193
193
|
value = Number(value)
|
|
194
194
|
}
|
|
195
195
|
|
|
@@ -202,7 +202,7 @@ function writeField(bs, pgn_number, field, data, value, bitLength) {
|
|
|
202
202
|
value -= field.Offset
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
if (
|
|
205
|
+
if ( !field.Type && field.BitLengthVariable ) {
|
|
206
206
|
writeVariableLengthField(bs, pgn_number, data, field, value)
|
|
207
207
|
} else if ( _.isBuffer(value) ) {
|
|
208
208
|
value.copy(bs.view.buffer, bs.byteIndex)
|
package/n2ka.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
var net = require('net');
|
|
2
|
+
const BitStream = require('bit-buffer').BitStream
|
|
3
|
+
const BitView = require('bit-buffer').BitView
|
|
4
|
+
const cid = require('./lib/canId')
|
|
5
|
+
const FromPgn = require('./lib/fromPgn').Parser
|
|
6
|
+
const debug = require('debug')('canboatjs:w2k01')
|
|
7
|
+
|
|
8
|
+
var client = new net.Socket();
|
|
9
|
+
client.connect(60003, '192.168.1.145', function() {
|
|
10
|
+
console.log('Connected');
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
client.on('data', function(data) {
|
|
14
|
+
const parser = new FromPgn()
|
|
15
|
+
|
|
16
|
+
/*
|
|
17
|
+
var obuf = Buffer.from(data)
|
|
18
|
+
let len = obuf.readUInt16LE(3)
|
|
19
|
+
|
|
20
|
+
let buf = Buffer.alloc(len)
|
|
21
|
+
obuf.copy(buf, 0, 5, len+5)
|
|
22
|
+
console.log('New Buf: ' + buf.toString('hex'))
|
|
23
|
+
let offset = 0
|
|
24
|
+
let dst = buf.readUInt8(offset)
|
|
25
|
+
offset += 1
|
|
26
|
+
let canid = buf.readUInt32LE(offset)
|
|
27
|
+
offset += 4
|
|
28
|
+
let timestamp = buf.readUInt32LE(offset)
|
|
29
|
+
offset += 4
|
|
30
|
+
let mhs = buf.readUInt8(offset)
|
|
31
|
+
offset += 1
|
|
32
|
+
|
|
33
|
+
let info = cid.parseCanId(canid)
|
|
34
|
+
|
|
35
|
+
console.log(`(${len}, ${data.length}) (${info.src}, ${info.dst}) ${info.pgn} ${timestamp}`)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
try {
|
|
39
|
+
let pgnData = Buffer.alloc(len-offset-2)
|
|
40
|
+
buf.copy(pgnData, 0, offset, len-2)
|
|
41
|
+
console.log('pgnData: ' + pgnData.toString('hex'))
|
|
42
|
+
let pgn = parser.parsePgnData(info, pgnData.length, pgnData, true)
|
|
43
|
+
console.log(pgn)
|
|
44
|
+
} catch (error) {
|
|
45
|
+
|
|
46
|
+
console.log(error)
|
|
47
|
+
}
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
debug('Received: (' + data.length + ') ' + Buffer.from(data).toString('hex'))
|
|
51
|
+
|
|
52
|
+
var inBuf = Buffer.from(data)
|
|
53
|
+
var inOffset = 0
|
|
54
|
+
|
|
55
|
+
while ( true ) {
|
|
56
|
+
let len = inBuf.readUInt16LE(inOffset+3)
|
|
57
|
+
|
|
58
|
+
if ( inBuf.length < inOffset + 5 + len ) {
|
|
59
|
+
console.log('PARTIAL PGN')
|
|
60
|
+
this.lastChunk = Buffer.alloc(inBuf.length - inOffset)
|
|
61
|
+
inBuf.copy(this.lastChunk, 0, inOffset, inBuf.length-1)
|
|
62
|
+
return
|
|
63
|
+
} else if ( inBuf[inOffset + 5 + len -1] != 0x03 ||
|
|
64
|
+
inBuf[inOffset + 5 + len -2] != 0x10 ) {
|
|
65
|
+
//console.log('Received: (' + data.length + ') ' + Buffer.from(data).toString('hex'))
|
|
66
|
+
//console.log('LENGTH MISMATCH ' + inBuf[inOffset + 5 + len -1])
|
|
67
|
+
return
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
let buf = Buffer.alloc(len)
|
|
71
|
+
inBuf.copy(buf, 0, inOffset+5, inOffset+len+5)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
let offset = 0
|
|
75
|
+
let dst = buf.readUInt8(offset)
|
|
76
|
+
offset += 1
|
|
77
|
+
let canid = buf.readUInt32LE(offset)
|
|
78
|
+
offset += 4
|
|
79
|
+
let timestamp = buf.readUInt32LE(offset)
|
|
80
|
+
offset += 4
|
|
81
|
+
let mhs = buf.readUInt8(offset)
|
|
82
|
+
offset += 1
|
|
83
|
+
|
|
84
|
+
let info = cid.parseCanId(canid)
|
|
85
|
+
|
|
86
|
+
if ( info.pgn != 129025)
|
|
87
|
+
return
|
|
88
|
+
|
|
89
|
+
let pgnData = Buffer.alloc(len-offset-3)
|
|
90
|
+
buf.copy(pgnData, 0, offset, len-3)
|
|
91
|
+
|
|
92
|
+
/*
|
|
93
|
+
console.log('inputLen: ' + inBuf.length)
|
|
94
|
+
console.log('NextBuf: (' + buf.length + ') ' + buf.toString('hex'))
|
|
95
|
+
console.log('pgnData: (' + pgnData.length + ') ' + pgnData.toString('hex'))
|
|
96
|
+
|
|
97
|
+
console.log(`${len} ${mhs} ${dst} (${info.src}, ${info.dst}) ${info.pgn} ${timestamp}`)
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
let pgn = parser.parsePgnData(info, pgnData.length, pgnData, true)
|
|
101
|
+
if ( pgn ) {
|
|
102
|
+
//console.log(JSON.stringify(pgn))
|
|
103
|
+
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
inOffset += len + 5
|
|
107
|
+
//console.log(`inOffset ${inOffset} `)
|
|
108
|
+
if ( inOffset >= inBuf.length ) {
|
|
109
|
+
return
|
|
110
|
+
}
|
|
111
|
+
break
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
client.on('close', function() {
|
|
116
|
+
console.log('Connection closed');
|
|
117
|
+
})
|
|
118
|
+
|
|
119
|
+
process.on('SIGINT', () => {
|
|
120
|
+
console.info('SIGINT signal received.');
|
|
121
|
+
client.destroy()
|
|
122
|
+
});
|
|
123
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canboat/canboatjs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta2",
|
|
4
4
|
"description": "Native javascript version of canboat",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
],
|
|
54
54
|
"license": "Apache-2.0",
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@canboat/pgns": "
|
|
56
|
+
"@canboat/pgns": "2.0.0-beta1",
|
|
57
57
|
"bit-buffer": "0.2.3",
|
|
58
58
|
"date-fns": "2.0.0-alpha.27",
|
|
59
59
|
"debug": "^4.3.4",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
},
|
|
81
81
|
"optionalDependencies": {
|
|
82
82
|
"serialport": "^9.0.7",
|
|
83
|
-
"socketcan": "^
|
|
83
|
+
"socketcan": "^2.2.2"
|
|
84
84
|
},
|
|
85
85
|
"repository": {
|
|
86
86
|
"type": "git",
|
package/wk2.out
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
A000021.144 05FF2 1F801 F04E4717B2E569D2
|
|
2
|
+
A000021.244 05FF2 1F801 EF4E4717B3E569D2
|
|
3
|
+
A000021.293 05FF2 1F802 FFFC289A1600FFFF
|
|
4
|
+
A000021.344 05FF2 1F801 EF4E4717B3E569D2
|
|
5
|
+
A000021.355 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
6
|
+
A000021.360 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
7
|
+
A000021.363 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
8
|
+
A000021.367 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
9
|
+
A000021.444 05FF2 1F801 EE4E4717B4E569D2
|
|
10
|
+
A000021.544 05FF2 1F802 FFFC289A1700FFFF
|
|
11
|
+
A000021.544 05FF2 1F801 F04E4717AFE569D2
|
|
12
|
+
A000021.644 05FF2 1F801 F14E4717ABE569D2
|
|
13
|
+
A000021.700 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
14
|
+
A000021.744 05FF2 1F801 F24E4717A8E569D2
|
|
15
|
+
A000021.794 05FF2 1F802 FFFC289A1900FFFF
|
|
16
|
+
A000021.844 05FF2 1F801 F34E4717A4E569D2
|
|
17
|
+
A000021.944 05FF2 1F801 F34E4717A1E569D2
|
|
18
|
+
A000022.041 05FF7 1EF00 E5984819020203030101030F08FF0F00303CA31C0113C6A90F
|
|
19
|
+
A000022.044 05FF3 1F805 FFDB4BA48A7822C068149B75826B05808477E7A7D762F5998A99000000000014FC06CD002A03AAF2FFFF00
|
|
20
|
+
A000022.046 05FF6 1F11A FFF2DB4B69F8FFFF
|
|
21
|
+
A000022.068 05FF6 1FA03 FFDACD0010036F02
|
|
22
|
+
A000022.068 05FF7 1EF00 E5981700040453487B42F4D0E942AFB70443000000000000000000000000000000000000000000000000F29C0340CE06FB4022C10141BA7EC74000000000
|
|
23
|
+
A000022.073 05FF2 1F802 FFFC289A1D00FFFF
|
|
24
|
+
A000022.073 05FF2 1F801 F44E47179EE569D2
|
|
25
|
+
A000022.144 05FF2 1F801 F14E471797E569D2
|
|
26
|
+
A000022.244 05FF2 1F801 EC4E471799E569D2
|
|
27
|
+
A000022.294 05FF2 1F802 FFFC289A2800FFFF
|
|
28
|
+
A000022.344 05FF2 1F801 E74E47179BE569D2
|
|
29
|
+
A000022.355 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
30
|
+
A000022.360 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
31
|
+
A000022.362 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
32
|
+
A000022.366 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
33
|
+
A000022.387 05FF7 1EF00 E598E008020203090012E8071900
|
|
34
|
+
A000022.389 05FF7 1EF00 E598E008020203090112E8071900
|
|
35
|
+
A000022.391 05FF7 1EF00 E598E008020203090B11011900
|
|
36
|
+
A000022.392 05FF7 1EF00 E598E008020203090C12E8071900
|
|
37
|
+
A000022.444 05FF2 1F801 E04E47179CE569D2
|
|
38
|
+
A000022.544 05FF2 1F802 FFFC289A3200FFFF
|
|
39
|
+
A000022.544 05FF2 1F801 F54E471771E569D2
|
|
40
|
+
A000022.644 05FF2 1F801 ED4E471772E569D2
|
|
41
|
+
A000022.700 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
42
|
+
A000022.744 05FF2 1F801 E54E471772E569D2
|
|
43
|
+
A000022.794 05FF2 1F802 FFFC289A4600FFFF
|
|
44
|
+
A000022.844 05FF2 1F801 DB4E471772E569D2
|
|
45
|
+
A000022.944 05FF2 1F801 D24E471771E569D2
|
|
46
|
+
A000023.044 05FF3 1F805 FFDB4BDBB17822804FA0566B826B0580C203F09CD762F53F9891000000000014FC06CD002A03AAF2FFFF00
|
|
47
|
+
A000023.049 05FF6 1F11A FFF2DB4B69F8FFFF
|
|
48
|
+
A000023.068 05FF6 1FA03 FFDACD0010036F02
|
|
49
|
+
A000023.068 05FF7 1EF00 E598170004043EAD77420D9DE84217C303430000000000000000000000000000000000000000000000007193034085F4FA40B0B701418E6FC74000000000
|
|
50
|
+
A000023.072 05FF2 1F802 FFFC289A5300FFFF
|
|
51
|
+
A000023.072 05FF2 1F801 C84E47176FE569D2
|
|
52
|
+
A000023.144 05FF2 1F801 C24E47176DE569D2
|
|
53
|
+
A000023.244 05FF2 1F801 B84E47176BE569D2
|
|
54
|
+
A000023.294 05FF2 1F802 FFFC289A5900FFFF
|
|
55
|
+
A000023.344 05FF2 1F801 AE4E471769E569D2
|
|
56
|
+
A000023.355 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
57
|
+
A000023.360 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
58
|
+
A000023.362 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
59
|
+
A000023.366 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
60
|
+
A000023.443 05FF2 1F801 9E4E471764E569D2
|
|
61
|
+
A000023.541 05FF7 1EF00 E5984719020206030101030F08FF0F00303CA31C011100190022904E2B9EA10C
|
|
62
|
+
A000023.544 05FF2 1F802 FFFC8B956500FFFF
|
|
63
|
+
A000023.545 05FF2 1F801 914E471761E569D2
|
|
64
|
+
A000023.644 05FF2 1F801 984E471762E569D2
|
|
65
|
+
A000023.700 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
66
|
+
A000023.744 05FF2 1F801 3A4E471754E569D2
|
|
67
|
+
A000023.794 05FF2 1F802 FFFC488E6900FFFF
|
|
68
|
+
A000023.844 05FF2 1F801 314E471752E569D2
|
|
69
|
+
A000023.944 05FF2 1F801 2A4E471752E569D2
|
|
70
|
+
A000024.041 05FF7 1EF00 E5984819020203030101030F08FF0F00303CA31C0113C7A90F
|
|
71
|
+
A000024.044 05FF3 1F805 FFDB4BC4D87822C0589B0945826B0500F03E8196D762F52BF085000000000014FC06CD002A03AAF2FFFF00
|
|
72
|
+
A000024.048 05FF6 1F11A FFF2DB4B69F8FFFF
|
|
73
|
+
A000024.068 05FF6 1FA03 FFDACD0010036F02
|
|
74
|
+
A000024.068 05FF7 1EF00 E59817000404AF8B764259E0E742CB4D0343000000000000000000000000000000000000000000000000EB8903401DE2FA402EAE01414C60C74000000000
|
|
75
|
+
A000024.071 05FF2 1F802 FFFCDE896200FFFF
|
|
76
|
+
A000024.075 05FF2 1F801 234E471753E569D2
|
|
77
|
+
A000024.144 05FF2 1F801 204E471754E569D2
|
|
78
|
+
A000024.244 05FF2 1F801 1D4E471754E569D2
|
|
79
|
+
A000024.294 05FF2 1F802 FFFC78865600FFFF
|
|
80
|
+
A000024.344 05FF2 1F801 1A4E471754E569D2
|
|
81
|
+
A000024.354 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
82
|
+
A000024.360 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
83
|
+
A000024.362 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
84
|
+
A000024.364 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
85
|
+
A000024.387 05FF7 1EF00 E598E008020203090012E8071900
|
|
86
|
+
A000024.389 05FF7 1EF00 E598E008020203090112E8071900
|
|
87
|
+
A000024.391 05FF7 1EF00 E598E008020203090B11011900
|
|
88
|
+
A000024.392 05FF7 1EF00 E598E008020203090C12E8071900
|
|
89
|
+
A000024.444 05FF2 1F801 174E471755E569D2
|
|
90
|
+
A000024.544 05FF2 1F802 FFFC78865000FFFF
|
|
91
|
+
A000024.545 05FF2 1F801 144E471755E569D2
|
|
92
|
+
A000024.644 05FF2 1F801 114E471756E569D2
|
|
93
|
+
A000024.700 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
94
|
+
A000024.744 05FF2 1F801 074E471756E569D2
|
|
95
|
+
A000024.794 05FF2 1F802 FFFC78864900FFFF
|
|
96
|
+
A000024.844 05FF2 1F801 FF4D471755E569D2
|
|
97
|
+
A000024.944 05FF2 1F801 F84D471755E569D2
|
|
98
|
+
A000025.044 05FF3 1F805 FFDB4BD4FF7822C025B34D38826B0500CB59C196D762F5753F7F000000000014FC06CD002A03AAF2FFFF00
|
|
99
|
+
A000025.049 05FF6 1F11A FFF2DB4B69F8FFFF
|
|
100
|
+
A000025.066 05FF6 1FA03 FFDACD000F036E02
|
|
101
|
+
A000025.068 05FF7 1EF00 E59817000404677C7742E7F1E742D47103430000000000000000000000000000000000000000000000005F800340A2CFFA40A3A40141F950C74000000000
|
|
102
|
+
A000025.072 05FF2 1F802 FFFC78864500FFFF
|
|
103
|
+
A000025.072 05FF2 1F801 EC4D471754E569D2
|
|
104
|
+
A000025.144 05FF2 1F801 E14D471754E569D2
|
|
105
|
+
A000025.244 05FF2 1F801 D64D471754E569D2
|
|
106
|
+
A000025.294 05FF2 1F802 FFFC78864300FFFF
|
|
107
|
+
A000025.344 05FF2 1F801 CB4D471754E569D2
|
|
108
|
+
A000025.355 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
109
|
+
A000025.360 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
110
|
+
A000025.362 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
111
|
+
A000025.365 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
112
|
+
A000025.444 05FF2 1F801 C04D471754E569D2
|
|
113
|
+
A000025.544 05FF2 1F802 FFFC78864000FFFF
|
|
114
|
+
A000025.544 05FF2 1F801 B54D471754E569D2
|
|
115
|
+
A000025.644 05FF2 1F801 AA4D471754E569D2
|
|
116
|
+
A000025.700 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
117
|
+
A000025.744 05FF2 1F801 A44D471755E569D2
|
|
118
|
+
A000025.794 05FF2 1F802 FFFC78863E00FFFF
|
|
119
|
+
A000025.844 05FF2 1F801 9E4D471755E569D2
|
|
120
|
+
A000025.944 05FF2 1F801 7A4D471756E569D2
|
|
121
|
+
A000026.044 05FF3 1F805 FFDB4B0B277922005557F01B826B05004210BF97D762F528937E000000000014FC06CD002A03AAF2FFFF00
|
|
122
|
+
A000026.049 05FF6 1F11A FFF2DB4B69F8FFFF
|
|
123
|
+
A000026.063 05FF6 1FA03 FFDACD000F036E02
|
|
124
|
+
A000026.068 05FF7 1EF00 E59817000404E2F8784290E3E84238090443000000000000000000000000000000000000000000000000CB76034014BDFA400E9B01419741C74000000000
|
|
125
|
+
A000026.073 05FF2 1F802 FFFC78864200FFFF
|
|
126
|
+
A000026.073 05FF2 1F801 734D471759E569D2
|
|
127
|
+
A000026.073 05FF7 1EF00 E5984719020206030101030F08FF0F00303CA31C011100190022904E2B9FA10C
|
|
128
|
+
A000026.078 05FF7 1EF00 E5984819020203030101030F08FF0F00303CA31C0113C8A90F
|
|
129
|
+
A000026.144 05FF2 1F801 6A4D47175BE569D2
|
|
130
|
+
A000026.244 05FF2 1F801 614D47175EE569D2
|
|
131
|
+
A000026.294 05FF2 1F802 FFFC78865300FFFF
|
|
132
|
+
A000026.344 05FF2 1F801 574D471760E569D2
|
|
133
|
+
A000026.355 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
134
|
+
A000026.360 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
135
|
+
A000026.362 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
136
|
+
A000026.365 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
137
|
+
A000026.387 05FF7 1EF00 E598E008020203090012E8071900
|
|
138
|
+
A000026.389 05FF7 1EF00 E598E008020203090112E8071900
|
|
139
|
+
A000026.391 05FF7 1EF00 E598E008020203090B11011900
|
|
140
|
+
A000026.392 05FF7 1EF00 E598E008020203090C12E8071900
|
|
141
|
+
A000026.444 05FF2 1F801 4C4D471763E569D2
|
|
142
|
+
A000026.544 05FF2 1F802 FFFCE6846100FFFF
|
|
143
|
+
A000026.544 05FF2 1F801 464D471763E569D2
|
|
144
|
+
A000026.644 05FF2 1F801 404D471762E569D2
|
|
145
|
+
A000026.700 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
146
|
+
A000026.744 05FF2 1F801 394D471761E569D2
|
|
147
|
+
A000026.794 05FF2 1F802 FFFC38826B00FFFF
|
|
148
|
+
A000026.844 05FF2 1F801 324D471760E569D2
|
|
149
|
+
A000026.944 05FF2 1F801 2B4D471760E569D2
|
|
150
|
+
A000027.044 05FF3 1F805 FFDB4BF44D7922402890A309826B0580C6D36299D762F5B41E7E000000000014FC06CD002903AAF2FFFF00
|
|
151
|
+
A000027.048 05FF6 1F11A FFF2DB4B69F8FFFF
|
|
152
|
+
A000027.065 05FF6 1FA03 FFDACD000F036E02
|
|
153
|
+
A000027.065 05FF7 1EF00 E5981700040469777B42F0FAE942BFCF04430000000000000000000000000000000000000000000000002F6D034068AAFA406B9101411E32C74000000000
|
|
154
|
+
A000027.072 05FF2 1F802 FFFCC07E7800FFFF
|
|
155
|
+
A000027.072 05FF2 1F801 244D471760E569D2
|
|
156
|
+
A000027.144 05FF2 1F801 184D47175FE569D2
|
|
157
|
+
A000027.244 05FF2 1F801 0B4D47175FE569D2
|
|
158
|
+
A000027.294 05FF2 1F802 FFFC6F7C7D00FFFF
|
|
159
|
+
A000027.344 05FF2 1F801 FE4C47175EE569D2
|
|
160
|
+
A000027.355 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
161
|
+
A000027.360 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
162
|
+
A000027.362 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
163
|
+
A000027.366 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
164
|
+
A000027.444 05FF2 1F801 F34C47175FE569D2
|
|
165
|
+
A000027.544 05FF2 1F802 FFFC5E7A8000FFFF
|
|
166
|
+
A000027.544 05FF2 1F801 C34C47175FE569D2
|
|
167
|
+
A000027.642 05FF2 1F801 B64C471760E569D2
|
|
168
|
+
A000027.707 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
169
|
+
A000027.744 05FF2 1F801 AA4C47175FE569D2
|
|
170
|
+
A000027.794 05FF2 1F802 FFFC177A8700FFFF
|
|
171
|
+
A000027.844 05FF2 1F801 A24C47175EE569D2
|
|
172
|
+
A000027.944 05FF2 1F801 874C47175FE569D2
|
|
173
|
+
A000028.041 05FF7 1EF00 E5984819020203030101030F08FF0F00303CA31C0113C9A90F
|
|
174
|
+
A000028.044 05FF3 1F805 FFDB4B0475792200D0CA4FE2816B0580641E6B99D762F5ACF17D000000000014FC06CD002903AAF2FFFF00
|
|
175
|
+
A000028.048 05FF6 1F11A FFF2DB4B69F8FFFF
|
|
176
|
+
A000028.068 05FF6 1FA03 FFDACD000F036E02
|
|
177
|
+
A000028.068 05FF7 1EF00 E598170004049E9A7E42D81AEB42C6AD05430000000000000000000000000000000000000000000000008A630340A097FA40B88701418E22C74000000000
|
|
178
|
+
A000028.074 05FF2 1F802 FFFC92798600FFFF
|
|
179
|
+
A000028.074 05FF2 1F801 7B4C471760E569D2
|
|
180
|
+
A000028.144 05FF2 1F801 764C471762E569D2
|
|
181
|
+
A000028.244 05FF2 1F801 714C471764E569D2
|
|
182
|
+
A000028.294 05FF2 1F802 FFFCFA768000FFFF
|
|
183
|
+
A000028.344 05FF2 1F801 5C4C47176BE569D2
|
|
184
|
+
A000028.355 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
185
|
+
A000028.359 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
186
|
+
A000028.362 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
187
|
+
A000028.367 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
188
|
+
A000028.386 05FF7 1EF00 E598E008020203090012E8071900
|
|
189
|
+
A000028.389 05FF7 1EF00 E598E008020203090112E8071900
|
|
190
|
+
A000028.391 05FF7 1EF00 E598E008020203090B11011900
|
|
191
|
+
A000028.392 05FF7 1EF00 E598E008020203090C12E8071900
|
|
192
|
+
A000028.444 05FF2 1F801 584C47176EE569D2
|
|
193
|
+
A000028.541 05FF7 1EF00 E5984719020206030101030F08FF0F00303CA31C011100190022904E2BA0A10C
|
|
194
|
+
A000028.544 05FF2 1F802 FFFC82737900FFFF
|
|
195
|
+
A000028.545 05FF2 1F801 4C4C471778E569D2
|
|
196
|
+
A000028.644 05FF2 1F801 464C471780E569D2
|
|
197
|
+
A000028.707 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
198
|
+
A000028.744 05FF2 1F801 404C47177EE569D2
|
|
199
|
+
A000028.794 05FF2 1F802 FFFC146C6C00FFFF
|
|
200
|
+
A000028.844 05FF2 1F801 3C4C471780E569D2
|
|
201
|
+
A000028.944 05FF2 1F801 354C471787E569D2
|
|
202
|
+
A000029.044 05FF3 1F805 FFDB4B149C7922801525F6D0816B050017A601A3D762F5F8567D000000000014FC06CD002903AAF2FFFF00
|
|
203
|
+
A000029.048 05FF6 1F11A FFF2DB4B69F8FFFF
|
|
204
|
+
A000029.067 05FF6 1FA03 FFDACD000E036E02
|
|
205
|
+
A000029.068 05FF7 1EF00 E598170004045FD480425FF3EB424A6A0643000000000000000000000000000000000000000000000000D75A0340A886FA40F67E01417F14C74000000000
|
|
206
|
+
A000029.074 05FF2 1F802 FFFCCE696A00FFFF
|
|
207
|
+
A000029.074 05FF2 1F801 314C471789E569D2
|
|
208
|
+
A000029.144 05FF2 1F801 2C4C47178BE569D2
|
|
209
|
+
A000029.244 05FF2 1F801 254C471792E569D2
|
|
210
|
+
A000029.293 05FF2 1F802 FFFCE0646700FFFF
|
|
211
|
+
A000029.344 05FF2 1F801 294C47178CE569D2
|
|
212
|
+
A000029.355 05FF7 1EF00 E59861060202FFFFFFFF03030000FFFFFFFFFFFFFFFFFFFF0000FFFFFF7FFFFFFF7FFFFFFF7F0000FF7F
|
|
213
|
+
A000029.359 05FF7 1EF00 E59812070202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7F
|
|
214
|
+
A000029.362 05FF3 1F904 FFFFFFFFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF7FFF7F
|
|
215
|
+
A000029.362 05FF3 1F903 FFF0FFFFFF7FFFFF
|
|
216
|
+
A000029.444 05FF2 1F801 244C471790E569D2
|
|
217
|
+
A000029.544 05FF2 1F802 FFFCB0636800FFFF
|
|
218
|
+
A000029.544 05FF2 1F801 1B4C471796E569D2
|
|
219
|
+
A000029.644 05FF2 1F801 134C47179CE569D2
|
|
220
|
+
A000029.708 05FF7 1EF00 E598E708000A0301030DDDB7C684051101
|
|
221
|
+
A000029.744 05FF2 1F801 0A4C4717A3E569D2
|
|
222
|
+
A000029.792 05FF2 1F802 FFFC74656800FFFF
|
|
223
|
+
A000029.844 05FF2 1F801 004C4717A9E569D2
|
|
224
|
+
A000029.944 05FF2 1F801 F64B4717AEE569D2
|