Create python package
Add version support Add new test file [RFC] First phase [RFC] Second phase [RFC] Third phase Add logging Update README Add debug Add debug, fixes Add pep8 changes Add fix Rename CLI tool Add csv fix Update README Add fix for numpages Update README Update requirements.txt Use yield Add tuple unpacking fix Fix n00b mistake Add check for None Fix check for None Fix unicode Add relative importspull/2/head
parent
c612692c42
commit
e9602bb353
|
|
@ -2,4 +2,6 @@ __pycache__/
|
|||
*.py[cod]
|
||||
*.so
|
||||
|
||||
.camelot/
|
||||
build/
|
||||
dist/
|
||||
*.egg-info/
|
||||
|
|
|
|||
36
README.md
36
README.md
|
|
@ -4,25 +4,39 @@
|
|||
|
||||
Currently, camelot works under Python 2.7.
|
||||
|
||||
The required dependencies include pdfminer, numpy, opencv.
|
||||
|
||||
For debugging, matplotlib is required. For runnings tests in the future, nose may be required.
|
||||
The required dependencies include numpy, opencv, and imagemagick.
|
||||
|
||||
## Install
|
||||
|
||||
Make sure you have the required dependencies installed on your system. If you're working in a virtual environment, copy the `cv2.so` file from your system's site-packages to the virtualenv's site-packages. After that, `cd` into the project directory and issue the following command.
|
||||
|
||||
<pre>
|
||||
python setup.py install
|
||||
</pre>
|
||||
|
||||
## Usage
|
||||
|
||||
<pre>
|
||||
camelot.py [options] <method> [<args>...]
|
||||
from camelot import *
|
||||
|
||||
extractor = Lattice(Pdf("/path/to/pdf", pagenos=[{'start': 2, 'end': 4}]))
|
||||
tables = extractor.get_tables()
|
||||
</pre>
|
||||
|
||||
<pre>
|
||||
camelot parses tables from PDFs!
|
||||
|
||||
usage:
|
||||
camelot.py [options] <method> [<args>...]
|
||||
|
||||
options:
|
||||
-h, --help Show this screen.
|
||||
-v, --version Show version.
|
||||
-p, --pages <pageno> Comma-separated list of page numbers.
|
||||
Example: -p 1,3-6,10 [default: 1]
|
||||
-f, --format <format> Output format. (csv,xlsx) [default: csv]
|
||||
-l, --log Print log to file.
|
||||
-o, --output <directory> Output directory.
|
||||
-h, --help Show this screen.
|
||||
-v, --version Show version.
|
||||
-p, --pages <pageno> Comma-separated list of page numbers.
|
||||
Example: -p 1,3-6,10 [default: 1]
|
||||
-f, --format <format> Output format. (csv,tsv,html,json,xlsx) [default: csv]
|
||||
-l, --log Print log to file.
|
||||
-o, --output <directory> Output directory.
|
||||
|
||||
camelot methods:
|
||||
lattice Looks for lines between data.
|
||||
|
|
|
|||
264
camelot.py
264
camelot.py
|
|
@ -1,264 +0,0 @@
|
|||
#!/usr/bin/env python2
|
||||
import os
|
||||
import re
|
||||
import csv
|
||||
import sys
|
||||
import glob
|
||||
import time
|
||||
import shutil
|
||||
import logging
|
||||
import zipfile
|
||||
import tempfile
|
||||
from docopt import docopt
|
||||
from werkzeug.utils import secure_filename
|
||||
from PyPDF2 import PdfFileWriter, PdfFileReader
|
||||
|
||||
from lattice import lattice
|
||||
from stream import stream
|
||||
|
||||
|
||||
doc = """
|
||||
camelot parses tables from PDFs!
|
||||
|
||||
usage:
|
||||
camelot.py [options] <method> [<args>...]
|
||||
|
||||
options:
|
||||
-h, --help Show this screen.
|
||||
-v, --version Show version.
|
||||
-p, --pages <pageno> Comma-separated list of page numbers.
|
||||
Example: -p 1,3-6,10 [default: 1]
|
||||
-f, --format <format> Output format. (csv,xlsx) [default: csv]
|
||||
-l, --log Print log to file.
|
||||
-o, --output <directory> Output directory.
|
||||
|
||||
camelot methods:
|
||||
lattice Looks for lines between data.
|
||||
stream Looks for spaces between data.
|
||||
|
||||
See 'camelot <method> -h' for more information on a specific method.
|
||||
"""
|
||||
|
||||
lattice_doc = """
|
||||
Lattice method looks for lines between data to form a table.
|
||||
|
||||
usage:
|
||||
camelot.py lattice [options] [--] <file>
|
||||
|
||||
options:
|
||||
-F, --fill <fill> Fill data in horizontal and/or vertical spanning
|
||||
cells. Example: -F h, -F v, -F hv
|
||||
-s, --scale <scale> Scaling factor. Large scaling factor leads to
|
||||
smaller lines being detected. [default: 15]
|
||||
-j, --jtol <jtol> Tolerance to account for when comparing joint
|
||||
and line coordinates. [default: 2]
|
||||
-m, --mtol <mtol> Tolerance to account for when merging lines
|
||||
which are very close. [default: 2]
|
||||
-i, --invert Invert pdf image to make sure that lines are
|
||||
in foreground.
|
||||
-d, --debug <debug> Debug by visualizing pdf geometry.
|
||||
(contour,line,joint,table) Example: -d table
|
||||
"""
|
||||
|
||||
stream_doc = """
|
||||
Stream method looks for spaces between data to form a table.
|
||||
|
||||
usage:
|
||||
camelot.py stream [options] [--] <file>
|
||||
|
||||
options:
|
||||
-n, --ncols <ncols> Number of columns. [default: 0]
|
||||
-c, --columns <columns> Comma-separated list of column x-coordinates.
|
||||
Example: -c 10.1,20.2,30.3
|
||||
-M, --cmargin <cmargin> Char margin. Chars closer than cmargin are
|
||||
grouped together to form a word. [default: 2.0]
|
||||
-L, --lmargin <lmargin> Line margin. Lines closer than lmargin are
|
||||
grouped together to form a textbox. [default: 0.5]
|
||||
-W, --wmargin <wmargin> Word margin. Insert blank spaces between chars
|
||||
if distance between words is greater than word
|
||||
margin. [default: 0.1]
|
||||
-d, --debug Debug by visualizing textboxes.
|
||||
"""
|
||||
|
||||
pno = re.compile(r'\d+')
|
||||
|
||||
|
||||
def filesort(filepath):
|
||||
filename = os.path.basename(filepath)
|
||||
num = pno.findall(filename)
|
||||
if len(num) == 2:
|
||||
return (int(num[0]), int(num[1]))
|
||||
else:
|
||||
return (int(num[0]), 0)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
start_time = time.time()
|
||||
tmpdir = tempfile.mkdtemp()
|
||||
|
||||
args = docopt(doc, version='0.1', options_first=True)
|
||||
argv = [args['<method>']] + args['<args>']
|
||||
if args['<method>'] == 'lattice':
|
||||
args.update(docopt(lattice_doc, argv=argv))
|
||||
elif args['<method>'] == 'stream':
|
||||
args.update(docopt(stream_doc, argv=argv))
|
||||
|
||||
if args['--pages']:
|
||||
if args['--pages'] == ['all']:
|
||||
p = args['--pages']
|
||||
else:
|
||||
p = []
|
||||
for r in args['--pages'].split(','):
|
||||
if '-' in r:
|
||||
a, b = r.split('-')
|
||||
a, b = int(a), int(b)
|
||||
p.extend([str(i) for i in range(a, b + 1)])
|
||||
else:
|
||||
p.extend([str(r)])
|
||||
else:
|
||||
p = ['1']
|
||||
p = sorted(set(p))
|
||||
|
||||
fname = os.path.basename(args['<file>'])
|
||||
fname = secure_filename(fname)
|
||||
fdir = os.path.dirname(args['<file>'])
|
||||
froot, fext = os.path.splitext(fname)
|
||||
if fext.lower() != '.pdf':
|
||||
print "camelot can parse only pdfs right now"
|
||||
shutil.rmtree(tmpdir)
|
||||
sys.exit()
|
||||
|
||||
logfname = os.path.join(tmpdir, froot + '.log')
|
||||
logging.basicConfig(filename=logfname, filemode='w', level=logging.DEBUG)
|
||||
|
||||
shutil.copy(args['<file>'], os.path.join(tmpdir, fname))
|
||||
print "separating pdf into pages"
|
||||
print
|
||||
if p == ['all']:
|
||||
infile = PdfFileReader(open(os.path.join(tmpdir, fname), 'rb'))
|
||||
for i in range(infile.getNumPages()):
|
||||
p = infile.getPage(i)
|
||||
outfile = PdfFileWriter()
|
||||
outfile.addPage(p)
|
||||
with open(os.path.join(tmpdir, 'pg-%d.pdf' % (i + 1)), 'wb') as f:
|
||||
outfile.write(f)
|
||||
else:
|
||||
for page in p:
|
||||
infile = PdfFileReader(open(os.path.join(tmpdir, fname), 'rb'))
|
||||
p = infile.getPage(int(page) - 1)
|
||||
outfile = PdfFileWriter()
|
||||
outfile.addPage(p)
|
||||
with open(os.path.join(tmpdir, 'pg-%s.pdf' % page), 'wb') as f:
|
||||
outfile.write(f)
|
||||
|
||||
glob_pdf = sorted(glob.glob(os.path.join(tmpdir, 'pg-*.pdf')))
|
||||
if args['<method>'] == 'lattice':
|
||||
print "using the lattice method"
|
||||
for g in glob_pdf:
|
||||
g_fname = os.path.basename(g)
|
||||
print "working on", g_fname
|
||||
g_froot, __ = os.path.splitext(g)
|
||||
try:
|
||||
data = lattice(g, f=args['--fill'], s=int(args['--scale']),
|
||||
jtol=int(args['--jtol']), mtol=int(args['--mtol']),
|
||||
invert=args['--invert'], debug=args['--debug'])
|
||||
if data is None:
|
||||
print
|
||||
continue
|
||||
for k in sorted(data.keys()):
|
||||
csvfile = g_froot + '_%s.csv' % k
|
||||
with open(csvfile, 'w') as outfile:
|
||||
writer = csv.writer(outfile)
|
||||
for d in data[k]:
|
||||
writer.writerow([c.encode('utf-8') for c in d])
|
||||
print "saved as", os.path.basename(csvfile)
|
||||
print
|
||||
except Exception:
|
||||
logging.exception("")
|
||||
print "couldn't parse", g_fname, "see log for more info"
|
||||
print
|
||||
elif args['<method>'] == 'stream':
|
||||
print "using the stream method"
|
||||
for g in glob_pdf:
|
||||
g_fname = os.path.basename(g)
|
||||
print "working on", g_fname
|
||||
g_froot, __ = os.path.splitext(g)
|
||||
try:
|
||||
data = stream(g, ncolumns=int(args['--ncols']), columns=args['--columns'],
|
||||
char_margin=float(args['--cmargin']),
|
||||
line_margin=float(args['--lmargin']),
|
||||
word_margin=float(args['--wmargin']),
|
||||
debug=args['--debug'])
|
||||
if data is None:
|
||||
print
|
||||
continue
|
||||
csvfile = g_froot + '.csv'
|
||||
with open(csvfile, 'w') as outfile:
|
||||
writer = csv.writer(outfile)
|
||||
for d in data:
|
||||
writer.writerow([c.encode('utf-8') for c in d])
|
||||
print "saved as", os.path.basename(csvfile)
|
||||
print
|
||||
except Exception:
|
||||
logging.exception("")
|
||||
print "couldn't parse", g_fname, "see log for more info"
|
||||
print
|
||||
|
||||
if args['--log']:
|
||||
if args['--output']:
|
||||
shutil.copy(logfname, args['--output'])
|
||||
else:
|
||||
shutil.copy(logfname, fdir)
|
||||
|
||||
if args['--debug'] not in [None, False]:
|
||||
print "See 'camelot <method> -h' for various parameters you can tweak."
|
||||
shutil.rmtree(tmpdir)
|
||||
sys.exit()
|
||||
|
||||
glob_csv = sorted(glob.glob(os.path.join(tmpdir, '*.csv')), key=filesort)
|
||||
if args['--format'] == 'csv':
|
||||
if len(glob_csv) == 1:
|
||||
if args['--output']:
|
||||
shutil.copy(glob_csv[0], args['--output'])
|
||||
else:
|
||||
shutil.copy(glob_csv[0], fdir)
|
||||
else:
|
||||
zipname = froot + '.zip'
|
||||
zippath = os.path.join(tmpdir, zipname)
|
||||
print "zipping 'em up"
|
||||
with zipfile.ZipFile(zippath, 'a', zipfile.ZIP_DEFLATED) as myzip:
|
||||
for g in glob_csv:
|
||||
myzip.write(g, os.path.join(froot, os.path.basename(g)))
|
||||
if args['--output']:
|
||||
shutil.copy(zippath, args['--output'])
|
||||
else:
|
||||
shutil.copy(zippath, fdir)
|
||||
print
|
||||
elif args['--format'] == 'xlsx':
|
||||
from pyexcel_xlsx import save_data
|
||||
from collections import OrderedDict
|
||||
data = OrderedDict()
|
||||
for c in glob_csv:
|
||||
c_fname = os.path.basename(c)
|
||||
c_froot, __ = os.path.splitext(c)
|
||||
print "adding", c_fname, "to excel file"
|
||||
with open(c, 'r') as csvfile:
|
||||
reader = csv.reader(csvfile)
|
||||
c_froot, __ = os.path.splitext(c_fname)
|
||||
data.update({c_froot: [row for row in reader]})
|
||||
xlsxname = froot + '.xlsx'
|
||||
xlsxpath = os.path.join(tmpdir, xlsxname)
|
||||
save_data(xlsxpath, data)
|
||||
if args['--output']:
|
||||
shutil.copy(xlsxpath, args['--output'])
|
||||
else:
|
||||
shutil.copy(xlsxpath, fdir)
|
||||
print
|
||||
print "saved as", xlsxname
|
||||
|
||||
print "cleaning up..."
|
||||
shutil.rmtree(tmpdir)
|
||||
|
||||
print "finished in", time.time() - start_time, "seconds"
|
||||
logging.info("Time taken for " + fname + ": " +
|
||||
str(time.time() - start_time) + " seconds")
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
from .pdf import Pdf
|
||||
from .lattice import Lattice
|
||||
from .stream import Stream
|
||||
|
||||
__version__ = '0.1'
|
||||
|
||||
__all__ = ['Pdf', 'Lattice', 'Stream']
|
||||
|
|
@ -37,8 +37,13 @@ class Cell:
|
|||
|
||||
spanning_v : bool
|
||||
"""
|
||||
|
||||
def __init__(self, x1, y1, x2, y2):
|
||||
|
||||
|
||||
self.x1 = x1
|
||||
self.y1 = y1
|
||||
self.x2 = x2
|
||||
self.y2 = y2
|
||||
self.lb = (x1, y1)
|
||||
self.lt = (x1, y2)
|
||||
self.rb = (x2, y1)
|
||||
|
|
@ -53,7 +58,7 @@ class Cell:
|
|||
self.spanning_v = False
|
||||
|
||||
def add_text(self, text):
|
||||
"""Add text to cell object.
|
||||
"""Adds text to cell object.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
@ -62,8 +67,8 @@ class Cell:
|
|||
self.text = ''.join([self.text, text])
|
||||
|
||||
def get_text(self):
|
||||
"""Get text from cell object.
|
||||
|
||||
"""Returns text from cell object.
|
||||
|
||||
Returns
|
||||
-------
|
||||
text : string
|
||||
|
|
@ -71,7 +76,7 @@ class Cell:
|
|||
return self.text
|
||||
|
||||
def get_bounded_edges(self):
|
||||
"""Get number of edges by which a cell is bounded.
|
||||
"""Returns number of edges by which a cell is bounded.
|
||||
|
||||
Returns
|
||||
-------
|
||||
|
|
@ -0,0 +1,354 @@
|
|||
import os
|
||||
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
from .table import Table
|
||||
from .utils import (transform, elements_bbox, detect_vertical, merge_close_values,
|
||||
get_row_index, get_column_index, reduce_index, outline,
|
||||
fill_spanning, remove_empty, encode_list)
|
||||
|
||||
|
||||
__all__ = ['Lattice']
|
||||
|
||||
|
||||
def _morph_transform(imagename, scale=15, invert=False):
|
||||
"""Morphological Transformation
|
||||
|
||||
Applies a series of morphological operations on the image
|
||||
to find table contours and line segments.
|
||||
http://answers.opencv.org/question/63847/how-to-extract-tables-from-an-image/
|
||||
|
||||
Empirical result for adaptiveThreshold's blockSize=5 and C=-0.2
|
||||
taken from http://pequan.lip6.fr/~bereziat/pima/2012/seuillage/sezgin04.pdf
|
||||
|
||||
Parameters
|
||||
----------
|
||||
imagename : Path to image.
|
||||
|
||||
scale : int
|
||||
Scaling factor. Large scaling factor leads to smaller lines
|
||||
being detected. (optional, default: 15)
|
||||
|
||||
invert : bool
|
||||
Invert pdf image to make sure that lines are in foreground.
|
||||
(optional, default: False)
|
||||
|
||||
Returns
|
||||
-------
|
||||
img : ndarray
|
||||
|
||||
tables : dict
|
||||
Dictionary with table bounding box as key and list of
|
||||
joints found in the table as value.
|
||||
|
||||
v_segments : list
|
||||
List of vertical line segments found in the image.
|
||||
|
||||
h_segments : list
|
||||
List of horizontal line segments found in the image.
|
||||
"""
|
||||
img = cv2.imread(imagename)
|
||||
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
|
||||
|
||||
if invert:
|
||||
threshold = cv2.adaptiveThreshold(
|
||||
gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,
|
||||
15, -0.2)
|
||||
else:
|
||||
threshold = cv2.adaptiveThreshold(
|
||||
np.invert(gray), 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
|
||||
cv2.THRESH_BINARY,
|
||||
15, -0.2)
|
||||
|
||||
vertical = threshold
|
||||
horizontal = threshold
|
||||
|
||||
verticalsize = vertical.shape[0] / scale
|
||||
horizontalsize = horizontal.shape[1] / scale
|
||||
|
||||
ver = cv2.getStructuringElement(cv2.MORPH_RECT, (1, verticalsize))
|
||||
hor = cv2.getStructuringElement(cv2.MORPH_RECT, (horizontalsize, 1))
|
||||
|
||||
vertical = cv2.erode(vertical, ver, (-1, -1))
|
||||
vertical = cv2.dilate(vertical, ver, (-1, -1))
|
||||
|
||||
horizontal = cv2.erode(horizontal, hor, (-1, -1))
|
||||
horizontal = cv2.dilate(horizontal, hor, (-1, -1))
|
||||
|
||||
mask = vertical + horizontal
|
||||
joints = np.bitwise_and(vertical, horizontal)
|
||||
__, contours, __ = cv2.findContours(
|
||||
mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
|
||||
contours = sorted(contours, key=cv2.contourArea, reverse=True)[:10]
|
||||
|
||||
tables = {}
|
||||
for c in contours:
|
||||
c_poly = cv2.approxPolyDP(c, 3, True)
|
||||
x, y, w, h = cv2.boundingRect(c_poly)
|
||||
roi = joints[y : y + h, x : x + w]
|
||||
__, jc, __ = cv2.findContours(
|
||||
roi, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE)
|
||||
if len(jc) <= 4: # remove contours with less than <=4 joints
|
||||
continue
|
||||
joint_coords = []
|
||||
for j in jc:
|
||||
jx, jy, jw, jh = cv2.boundingRect(j)
|
||||
c1, c2 = x + (2 * jx + jw) / 2, y + (2 * jy + jh) / 2
|
||||
joint_coords.append((c1, c2))
|
||||
tables[(x, y + h, x + w, y)] = joint_coords
|
||||
|
||||
v_segments, h_segments = [], []
|
||||
_, vcontours, _ = cv2.findContours(
|
||||
vertical, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
|
||||
for vc in vcontours:
|
||||
x, y, w, h = cv2.boundingRect(vc)
|
||||
x1, x2 = x, x + w
|
||||
y1, y2 = y, y + h
|
||||
v_segments.append(((x1 + x2) / 2, y2, (x1 + x2) / 2, y1))
|
||||
|
||||
_, hcontours, _ = cv2.findContours(
|
||||
horizontal, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
|
||||
for hc in hcontours:
|
||||
x, y, w, h = cv2.boundingRect(hc)
|
||||
x1, x2 = x, x + w
|
||||
y1, y2 = y, y + h
|
||||
h_segments.append((x1, (y1 + y2) / 2, x2, (y1 + y2) / 2))
|
||||
|
||||
return img, tables, v_segments, h_segments
|
||||
|
||||
|
||||
class Lattice:
|
||||
"""Lattice algorithm
|
||||
|
||||
Makes use of pdf geometry by processing its image, to make a table
|
||||
and fills text objects in table cells.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
pdfobject : camelot.pdf.Pdf
|
||||
|
||||
fill : None, 'h', 'v', 'hv'
|
||||
Fill data in horizontal and/or vertical spanning
|
||||
cells. (optional)
|
||||
|
||||
scale : int
|
||||
Scaling factor. Large scaling factor leads to smaller lines
|
||||
being detected. (optional, default: 15)
|
||||
|
||||
jtol : int
|
||||
Tolerance to account for when comparing joint and line
|
||||
coordinates. (optional, default: 2)
|
||||
|
||||
mtol : int
|
||||
Tolerance to account for when merging lines which are
|
||||
very close. (optional, default: 2)
|
||||
|
||||
invert : bool
|
||||
Invert pdf image to make sure that lines are in foreground.
|
||||
(optional, default: False)
|
||||
|
||||
debug : 'contour', 'line', 'joint', 'table'
|
||||
Debug by visualizing pdf geometry.
|
||||
|
||||
Attributes
|
||||
----------
|
||||
tables : dict
|
||||
Dictionary with page number as key and list of tables on that
|
||||
page as value.
|
||||
"""
|
||||
|
||||
def __init__(self, pdfobject, fill=None, scale=15, jtol=2, mtol=2,
|
||||
invert=False, debug=None):
|
||||
|
||||
self.pdfobject = pdfobject
|
||||
self.fill = fill
|
||||
self.scale = scale
|
||||
self.jtol = jtol
|
||||
self.mtol = mtol
|
||||
self.invert = invert
|
||||
self.debug = debug
|
||||
self.tables = {}
|
||||
if self.debug is not None:
|
||||
self.debug_images = {}
|
||||
self.debug_segments = {}
|
||||
self.debug_tables = {}
|
||||
|
||||
def get_tables(self):
|
||||
"""Returns all tables found in given pdf.
|
||||
|
||||
Returns
|
||||
-------
|
||||
tables : dict
|
||||
Dictionary with page number as key and list of tables on that
|
||||
page as value.
|
||||
"""
|
||||
self.pdfobject.split()
|
||||
self.pdfobject.convert()
|
||||
for page in self.pdfobject.extract():
|
||||
p, text, __, width, height = page
|
||||
pkey = 'pg-{0}'.format(p)
|
||||
imagename = os.path.join(
|
||||
self.pdfobject.temp, '{}.png'.format(pkey))
|
||||
pdf_x = width
|
||||
pdf_y = height
|
||||
img, table_bbox, v_segments, h_segments = _morph_transform(
|
||||
imagename, scale=self.scale, invert=self.invert)
|
||||
img_x = img.shape[1]
|
||||
img_y = img.shape[0]
|
||||
scaling_factor_x = pdf_x / float(img_x)
|
||||
scaling_factor_y = pdf_y / float(img_y)
|
||||
|
||||
if self.debug is not None:
|
||||
self.debug_images[pkey] = (img, table_bbox)
|
||||
|
||||
factors = (scaling_factor_x, scaling_factor_y, img_y)
|
||||
table_bbox, v_segments, h_segments = transform(table_bbox, v_segments,
|
||||
h_segments, factors)
|
||||
|
||||
if self.debug is not None:
|
||||
self.debug_segments[pkey] = (v_segments, h_segments)
|
||||
|
||||
if self.debug is not None:
|
||||
debug_page_tables = []
|
||||
page_tables = []
|
||||
# sort tables based on y-coord
|
||||
for k in sorted(table_bbox.keys(), key=lambda x: x[1], reverse=True):
|
||||
# select edges which lie within table_bbox
|
||||
text_bbox, v_s, h_s = elements_bbox(k, text, v_segments,
|
||||
h_segments)
|
||||
rotated = detect_vertical(text_bbox)
|
||||
cols, rows = zip(*table_bbox[k])
|
||||
cols, rows = list(cols), list(rows)
|
||||
cols.extend([k[0], k[2]])
|
||||
rows.extend([k[1], k[3]])
|
||||
# sort horizontal and vertical segments
|
||||
cols = merge_close_values(sorted(cols), mtol=self.mtol)
|
||||
rows = merge_close_values(
|
||||
sorted(rows, reverse=True), mtol=self.mtol)
|
||||
# make grid using x and y coord of shortlisted rows and cols
|
||||
cols = [(cols[i], cols[i + 1])
|
||||
for i in range(0, len(cols) - 1)]
|
||||
rows = [(rows[i], rows[i + 1])
|
||||
for i in range(0, len(rows) - 1)]
|
||||
table = Table(cols, rows)
|
||||
# set table edges to True using ver+hor lines
|
||||
table = table.set_edges(v_s, h_s, jtol=self.jtol)
|
||||
# set spanning cells to True
|
||||
table = table.set_spanning()
|
||||
# set table border edges to True
|
||||
table = outline(table)
|
||||
|
||||
if self.debug is not None:
|
||||
debug_page_tables.append(table)
|
||||
|
||||
# fill text after sorting it
|
||||
if rotated == '':
|
||||
text_bbox.sort(key=lambda x: (-x.y0, x.x0))
|
||||
elif rotated == 'left':
|
||||
text_bbox.sort(key=lambda x: (x.x0, x.y0))
|
||||
elif rotated == 'right':
|
||||
text_bbox.sort(key=lambda x: (-x.x0, -x.y0))
|
||||
for t in text_bbox:
|
||||
r_idx = get_row_index(t, rows)
|
||||
c_idx = get_column_index(t, cols)
|
||||
if None in [r_idx, c_idx]:
|
||||
# couldn't assign LTChar to any cell
|
||||
pass
|
||||
else:
|
||||
r_idx, c_idx = reduce_index(
|
||||
table, rotated, r_idx, c_idx)
|
||||
table.cells[r_idx][c_idx].add_text(
|
||||
t.get_text().strip('\n'))
|
||||
|
||||
if self.fill is not None:
|
||||
table = fill_spanning(table, fill=self.fill)
|
||||
ar = table.get_list()
|
||||
if rotated == 'left':
|
||||
ar = zip(*ar[::-1])
|
||||
elif rotated == 'right':
|
||||
ar = zip(*ar[::1])
|
||||
ar.reverse()
|
||||
ar = remove_empty(ar)
|
||||
ar = [list(o) for o in ar]
|
||||
page_tables.append(encode_list(ar))
|
||||
print pkey # verbose
|
||||
self.tables[pkey] = page_tables
|
||||
|
||||
if self.debug is not None:
|
||||
self.debug_tables[pkey] = debug_page_tables
|
||||
|
||||
if self.pdfobject.clean:
|
||||
self.pdfobject.remove_tempdir()
|
||||
|
||||
if self.debug is not None:
|
||||
return None
|
||||
|
||||
return self.tables
|
||||
|
||||
def plot_geometry(self, geometry):
|
||||
"""Plots various pdf geometries that are detected so user can choose
|
||||
tweak scale, jtol, mtol parameters.
|
||||
"""
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
if geometry == 'contour':
|
||||
for pkey in self.debug_images.keys():
|
||||
img, table_bbox = self.debug_images[pkey]
|
||||
for t in table_bbox.keys():
|
||||
cv2.rectangle(img, (t[0], t[1]),
|
||||
(t[2], t[3]), (255, 0, 0), 3)
|
||||
plt.imshow(img)
|
||||
plt.axis('off')
|
||||
plt.show()
|
||||
elif geometry == 'joint':
|
||||
x_coord = []
|
||||
y_coord = []
|
||||
for pkey in self.debug_images.keys():
|
||||
img, table_bbox = self.debug_images[pkey]
|
||||
for k in table_bbox.keys():
|
||||
for coord in table_bbox[k]:
|
||||
x_coord.append(coord[0])
|
||||
y_coord.append(coord[1])
|
||||
max_x, max_y = max(x_coord), max(y_coord)
|
||||
plt.plot(x_coord, y_coord, 'ro')
|
||||
plt.axis([0, max_x + 100, max_y + 100, 0])
|
||||
plt.imshow(img)
|
||||
plt.axis('off')
|
||||
plt.show()
|
||||
elif geometry == 'line':
|
||||
for pkey in self.debug_segments.keys():
|
||||
v_s, h_s = self.debug_segments[pkey]
|
||||
for v in v_s:
|
||||
plt.plot([v[0], v[2]], [v[1], v[3]])
|
||||
for h in h_s:
|
||||
plt.plot([h[0], h[2]], [h[1], h[3]])
|
||||
plt.axis('off')
|
||||
plt.show()
|
||||
elif geometry == 'table':
|
||||
for pkey in self.debug_tables.keys():
|
||||
for table in self.debug_tables[pkey]:
|
||||
for i in range(len(table.cells)):
|
||||
for j in range(len(table.cells[i])):
|
||||
if table.cells[i][j].left:
|
||||
plt.plot([table.cells[i][j].lb[0],
|
||||
table.cells[i][j].lt[0]],
|
||||
[table.cells[i][j].lb[1],
|
||||
table.cells[i][j].lt[1]])
|
||||
if table.cells[i][j].right:
|
||||
plt.plot([table.cells[i][j].rb[0],
|
||||
table.cells[i][j].rt[0]],
|
||||
[table.cells[i][j].rb[1],
|
||||
table.cells[i][j].rt[1]])
|
||||
if table.cells[i][j].top:
|
||||
plt.plot([table.cells[i][j].lt[0],
|
||||
table.cells[i][j].rt[0]],
|
||||
[table.cells[i][j].lt[1],
|
||||
table.cells[i][j].rt[1]])
|
||||
if table.cells[i][j].bottom:
|
||||
plt.plot([table.cells[i][j].lb[0],
|
||||
table.cells[i][j].rb[0]],
|
||||
[table.cells[i][j].lb[1],
|
||||
table.cells[i][j].rb[1]])
|
||||
plt.axis('off')
|
||||
plt.show()
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
|
||||
from PyPDF2 import PdfFileReader, PdfFileWriter
|
||||
from pdfminer.pdfparser import PDFParser
|
||||
from pdfminer.pdfdocument import PDFDocument
|
||||
from pdfminer.pdfpage import PDFPage
|
||||
from pdfminer.pdfpage import PDFTextExtractionNotAllowed
|
||||
from pdfminer.pdfinterp import PDFResourceManager
|
||||
from pdfminer.pdfinterp import PDFPageInterpreter
|
||||
from pdfminer.pdfdevice import PDFDevice
|
||||
from pdfminer.converter import PDFPageAggregator
|
||||
from pdfminer.layout import LAParams, LTChar, LTTextLineHorizontal
|
||||
from wand.image import Image
|
||||
|
||||
|
||||
__all__ = ['Pdf']
|
||||
|
||||
|
||||
def _parse_page_numbers(pagenos):
|
||||
"""Converts list of page ranges to a list of page numbers.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
pagenos : list
|
||||
List of dicts containing page ranges.
|
||||
|
||||
Returns
|
||||
-------
|
||||
page_numbers : list
|
||||
List of page numbers.
|
||||
"""
|
||||
page_numbers = []
|
||||
for p in pagenos:
|
||||
page_numbers.extend(range(p['start'], p['end'] + 1))
|
||||
page_numbers = sorted(set(page_numbers))
|
||||
return page_numbers
|
||||
|
||||
|
||||
def _extract_text_objects(layout, LTObject, t=None):
|
||||
"""Recursively parses pdf layout to get a list of
|
||||
text objects.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
layout : object
|
||||
Layout object.
|
||||
|
||||
LTObject : object
|
||||
Text object, either LTChar or LTTextLineHorizontal.
|
||||
|
||||
t : list
|
||||
|
||||
Returns
|
||||
-------
|
||||
t : list
|
||||
List of text objects.
|
||||
"""
|
||||
if t is None:
|
||||
t = []
|
||||
try:
|
||||
for obj in layout._objs:
|
||||
if isinstance(obj, LTObject):
|
||||
t.append(obj)
|
||||
else:
|
||||
t += _extract_text_objects(obj, LTObject)
|
||||
except AttributeError:
|
||||
pass
|
||||
return t
|
||||
|
||||
|
||||
class Pdf:
|
||||
"""Handles all pdf operations which include:
|
||||
|
||||
1. Split pdf into single page pdfs using given page numbers
|
||||
2. Convert single page pdfs into images
|
||||
3. Extract text from single page pdfs
|
||||
|
||||
Parameters
|
||||
----------
|
||||
pdfname : string
|
||||
Path to pdf.
|
||||
|
||||
pagenos : list
|
||||
List of dicts which specify pdf page ranges.
|
||||
|
||||
char_margin : float
|
||||
Chars closer than char_margin are grouped together to form a
|
||||
word. (optional, default: 2.0)
|
||||
|
||||
line_margin : float
|
||||
Lines closer than line_margin are grouped together to form a
|
||||
textbox. (optional, default: 0.5)
|
||||
|
||||
word_margin : float
|
||||
Insert blank spaces between chars if distance between words
|
||||
is greater than word_margin. (optional, default: 0.1)
|
||||
|
||||
Attributes
|
||||
----------
|
||||
temp : string
|
||||
Path to temporary directory.
|
||||
|
||||
lattice_objects : dict
|
||||
List of text objects.
|
||||
|
||||
stream_objects : dict
|
||||
List of text objects.
|
||||
|
||||
width : dict
|
||||
List of dicts with width of each pdf page.
|
||||
|
||||
height : dict
|
||||
List of dicts with height of each pdf page.
|
||||
"""
|
||||
|
||||
def __init__(self, pdfname, pagenos=[{'start': 1, 'end': 1}],
|
||||
char_margin=2.0, line_margin=0.5, word_margin=0.1,
|
||||
clean=False):
|
||||
|
||||
self.pdfname = pdfname
|
||||
self.pagenos = _parse_page_numbers(pagenos)
|
||||
self.char_margin = char_margin
|
||||
self.line_margin = line_margin
|
||||
self.word_margin = word_margin
|
||||
self.clean = clean
|
||||
self.temp = tempfile.mkdtemp()
|
||||
|
||||
def split(self):
|
||||
"""Splits pdf into single page pdfs.
|
||||
"""
|
||||
infile = PdfFileReader(open(self.pdfname, 'rb'), strict=False)
|
||||
for p in self.pagenos:
|
||||
page = infile.getPage(p - 1)
|
||||
outfile = PdfFileWriter()
|
||||
outfile.addPage(page)
|
||||
with open(os.path.join(self.temp, 'pg-{0}.pdf'.format(p)), 'wb') as f:
|
||||
outfile.write(f)
|
||||
|
||||
def extract(self):
|
||||
"""Extracts text objects, width, height from a pdf.
|
||||
"""
|
||||
for p in self.pagenos:
|
||||
pkey = 'pg-{0}'.format(p)
|
||||
pname = os.path.join(self.temp, '{}.pdf'.format(pkey))
|
||||
with open(pname, 'r') as f:
|
||||
parser = PDFParser(f)
|
||||
document = PDFDocument(parser)
|
||||
if not document.is_extractable:
|
||||
raise PDFTextExtractionNotAllowed
|
||||
laparams = LAParams(char_margin=self.char_margin,
|
||||
line_margin=self.line_margin,
|
||||
word_margin=self.word_margin)
|
||||
rsrcmgr = PDFResourceManager()
|
||||
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
|
||||
interpreter = PDFPageInterpreter(rsrcmgr, device)
|
||||
for page in PDFPage.create_pages(document):
|
||||
interpreter.process_page(page)
|
||||
layout = device.get_result()
|
||||
lattice_objects = _extract_text_objects(layout, LTChar)
|
||||
stream_objects = _extract_text_objects(
|
||||
layout, LTTextLineHorizontal)
|
||||
width = layout.bbox[2]
|
||||
height = layout.bbox[3]
|
||||
yield p, lattice_objects, stream_objects, width, height
|
||||
|
||||
def convert(self):
|
||||
"""Converts single page pdfs to images.
|
||||
"""
|
||||
for p in self.pagenos:
|
||||
pdfname = os.path.join(self.temp, 'pg-{0}.pdf'.format(p))
|
||||
imagename = os.path.join(self.temp, 'pg-{0}.png'.format(p))
|
||||
with Image(filename=pdfname, depth=8, resolution=300) as png:
|
||||
png.save(filename=imagename)
|
||||
|
||||
def remove_tempdir(self):
|
||||
shutil.rmtree(self.temp)
|
||||
|
|
@ -0,0 +1,210 @@
|
|||
import os
|
||||
|
||||
import numpy as np
|
||||
|
||||
from .utils import get_column_index, encode_list
|
||||
|
||||
|
||||
__all__ = ['Stream']
|
||||
|
||||
|
||||
def _group_rows(text, ytol=2):
|
||||
"""Groups text objects into rows using ytol.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
text : list
|
||||
List of text objects.
|
||||
|
||||
ytol : int
|
||||
Tolerance to account for when grouping rows
|
||||
together. (default: 2, optional)
|
||||
|
||||
Returns
|
||||
-------
|
||||
rows : list
|
||||
List of grouped text rows.
|
||||
"""
|
||||
row_y = 0
|
||||
rows = []
|
||||
temp = []
|
||||
for t in text:
|
||||
# is checking for upright necessary?
|
||||
# if t.get_text().strip() and all([obj.upright for obj in t._objs if
|
||||
# type(obj) is LTChar]):
|
||||
if t.get_text().strip():
|
||||
if not np.isclose(row_y, t.y0, atol=ytol):
|
||||
row_y = t.y0
|
||||
rows.append(temp)
|
||||
temp = []
|
||||
temp.append(t)
|
||||
return rows
|
||||
|
||||
|
||||
def _merge_columns(l):
|
||||
"""Merges overlapping columns and returns list with updated
|
||||
columns boundaries.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
l : list
|
||||
List of column x-coordinates.
|
||||
|
||||
Returns
|
||||
-------
|
||||
merged : list
|
||||
List of merged column x-coordinates.
|
||||
"""
|
||||
merged = []
|
||||
for higher in l:
|
||||
if not merged:
|
||||
merged.append(higher)
|
||||
else:
|
||||
lower = merged[-1]
|
||||
if higher[0] <= lower[1]:
|
||||
upper_bound = max(lower[1], higher[1])
|
||||
lower_bound = min(lower[0], higher[0])
|
||||
merged[-1] = (lower_bound, upper_bound)
|
||||
else:
|
||||
merged.append(higher)
|
||||
return merged
|
||||
|
||||
|
||||
class Stream:
|
||||
"""Stream algorithm
|
||||
|
||||
Groups text objects into rows and guesses number of columns
|
||||
using mode of the number of text objects in each row.
|
||||
|
||||
The number of columns can be passed explicitly or specified by a
|
||||
list of column x-coordinates.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
pdfobject : camelot.pdf.Pdf
|
||||
|
||||
ncolumns : int
|
||||
Number of columns. (optional, default: 0)
|
||||
|
||||
columns : string
|
||||
Comma-separated list of column x-coordinates.
|
||||
(optional, default: None)
|
||||
|
||||
ytol : int
|
||||
Tolerance to account for when grouping rows
|
||||
together. (optional, default: 2)
|
||||
|
||||
debug : bool
|
||||
Debug by visualizing textboxes. (optional, default: False)
|
||||
|
||||
Attributes
|
||||
----------
|
||||
tables : dict
|
||||
Dictionary with page number as key and list of tables on that
|
||||
page as value.
|
||||
"""
|
||||
|
||||
def __init__(self, pdfobject, ncolumns=0, columns=None, ytol=2,
|
||||
debug=False):
|
||||
|
||||
self.pdfobject = pdfobject
|
||||
self.ncolumns = ncolumns
|
||||
self.columns = columns
|
||||
self.ytol = ytol
|
||||
self.debug = debug
|
||||
self.tables = {}
|
||||
if self.debug:
|
||||
self.debug_text = {}
|
||||
|
||||
def get_tables(self):
|
||||
"""Returns all tables found in given pdf.
|
||||
|
||||
Returns
|
||||
-------
|
||||
tables : dict
|
||||
Dictionary with page number as key and list of tables on that
|
||||
page as value.
|
||||
"""
|
||||
self.pdfobject.split()
|
||||
for page in self.pdfobject.extract():
|
||||
p, __, text, __, __ = page
|
||||
pkey = 'pg-{0}'.format(p)
|
||||
text.sort(key=lambda x: (-x.y0, x.x0))
|
||||
|
||||
if self.debug:
|
||||
self.debug_text[pkey] = text
|
||||
|
||||
rows = _group_rows(text, ytol=self.ytol)
|
||||
elements = [len(r) for r in rows]
|
||||
# a table can't have just 1 column, can it?
|
||||
elements = filter(lambda x: x != 1, elements)
|
||||
|
||||
guess = False
|
||||
if self.columns:
|
||||
cols = self.columns.split(',')
|
||||
cols = [(float(cols[i]), float(cols[i + 1]))
|
||||
for i in range(0, len(cols) - 1)]
|
||||
else:
|
||||
guess = True
|
||||
ncols = self.ncolumns if self.ncolumns else max(
|
||||
set(elements), key=elements.count)
|
||||
if ncols == 0:
|
||||
# no tables detected
|
||||
continue
|
||||
cols = [(t.x0, t.x1)
|
||||
for r in rows for t in r if len(r) == ncols]
|
||||
cols = _merge_columns(sorted(cols))
|
||||
cols = [(c[0] + c[1]) / 2.0 for c in cols]
|
||||
|
||||
ar = [['' for c in cols] for r in rows]
|
||||
for r_idx, r in enumerate(rows):
|
||||
for t in r:
|
||||
if guess:
|
||||
cog = (t.x0 + t.x1) / 2.0
|
||||
diff = [abs(cog - c) for c in cols]
|
||||
c_idx = diff.index(min(diff))
|
||||
else:
|
||||
c_idx = get_column_index(t, cols)
|
||||
if None in [r_idx, c_idx]: # couldn't assign LTTextLH to any cell
|
||||
continue
|
||||
if ar[r_idx][c_idx]:
|
||||
ar[r_idx][c_idx] = ' '.join(
|
||||
[ar[r_idx][c_idx], t.get_text().strip()])
|
||||
else:
|
||||
ar[r_idx][c_idx] = t.get_text().strip()
|
||||
print pkey # verbose
|
||||
self.tables[pkey] = [encode_list(ar)]
|
||||
|
||||
if self.pdfobject.clean:
|
||||
self.pdfobject.remove_tempdir()
|
||||
|
||||
if self.debug:
|
||||
return None
|
||||
|
||||
return self.tables
|
||||
|
||||
def plot_text(self):
|
||||
"""Plots all text objects so user can choose number of columns
|
||||
or columns x-coordinates using the matplotlib interface.
|
||||
"""
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.patches as patches
|
||||
|
||||
for pkey in sorted(self.debug_text.keys()):
|
||||
fig = plt.figure()
|
||||
ax = fig.add_subplot(111, aspect='equal')
|
||||
xs, ys = [], []
|
||||
for t in self.debug_text[pkey]:
|
||||
xs.extend([t.x0, t.x1])
|
||||
ys.extend([t.y0, t.y1])
|
||||
ax.add_patch(
|
||||
patches.Rectangle(
|
||||
(t.x0, t.y0),
|
||||
t.x1 - t.x0,
|
||||
t.y1 - t.y0
|
||||
)
|
||||
)
|
||||
ax.set_xlim(min(xs) - 10, max(xs) + 10)
|
||||
ax.set_ylim(min(ys) - 10, max(ys) + 10)
|
||||
plt.axis('off')
|
||||
plt.show()
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
import numpy as np
|
||||
|
||||
from cell import Cell
|
||||
from .cell import Cell
|
||||
|
||||
|
||||
class Table:
|
||||
"""Table
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
columns : list
|
||||
cols : list
|
||||
List of column x-coordinates.
|
||||
|
||||
rows : list
|
||||
|
|
@ -18,22 +18,17 @@ class Table:
|
|||
----------
|
||||
cells : list
|
||||
2-D list of cell objects.
|
||||
|
||||
columns : list
|
||||
List of column x-coordinates.
|
||||
|
||||
rows : list
|
||||
List of row y-coordinates.
|
||||
"""
|
||||
def __init__(self, columns, rows):
|
||||
|
||||
self.cells = [[Cell(c[0], r[1], c[1], r[0])
|
||||
for c in columns] for r in rows]
|
||||
self.columns = columns
|
||||
def __init__(self, cols, rows):
|
||||
|
||||
self.cols = cols
|
||||
self.rows = rows
|
||||
self.cells = [[Cell(c[0], r[1], c[1], r[0])
|
||||
for c in cols] for r in rows]
|
||||
|
||||
def set_edges(self, vertical, horizontal, jtol=2):
|
||||
"""Set cell edges to True if corresponding line segments
|
||||
"""Sets cell edges to True if corresponding line segments
|
||||
are detected in the pdf image.
|
||||
|
||||
Parameters
|
||||
|
|
@ -47,16 +42,11 @@ class Table:
|
|||
jtol : int, default: 2, optional
|
||||
Tolerance to account for when comparing joint and line
|
||||
coordinates.
|
||||
|
||||
Returns
|
||||
-------
|
||||
self : object
|
||||
Returns self.
|
||||
"""
|
||||
for v in vertical:
|
||||
# find closest x coord
|
||||
# iterate over y coords and find closest points
|
||||
i = [i for i, t in enumerate(self.columns)
|
||||
i = [i for i, t in enumerate(self.cols)
|
||||
if np.isclose(v[0], t[0], atol=jtol)]
|
||||
j = [j for j, t in enumerate(self.rows)
|
||||
if np.isclose(v[3], t[0], atol=jtol)]
|
||||
|
|
@ -78,7 +68,7 @@ class Table:
|
|||
self.cells[J][I].left = True
|
||||
J += 1
|
||||
elif i == []: # only right edge
|
||||
I = len(self.columns) - 1
|
||||
I = len(self.cols) - 1
|
||||
if k:
|
||||
K = k[0]
|
||||
while J < K:
|
||||
|
|
@ -109,9 +99,9 @@ class Table:
|
|||
# iterate over x coords and find closest points
|
||||
i = [i for i, t in enumerate(self.rows)
|
||||
if np.isclose(h[1], t[0], atol=jtol)]
|
||||
j = [j for j, t in enumerate(self.columns)
|
||||
j = [j for j, t in enumerate(self.cols)
|
||||
if np.isclose(h[0], t[0], atol=jtol)]
|
||||
k = [k for k, t in enumerate(self.columns)
|
||||
k = [k for k, t in enumerate(self.cols)
|
||||
if np.isclose(h[2], t[0], atol=jtol)]
|
||||
if not j:
|
||||
continue
|
||||
|
|
@ -124,7 +114,7 @@ class Table:
|
|||
self.cells[I][J].top = True
|
||||
J += 1
|
||||
else:
|
||||
K = len(self.columns)
|
||||
K = len(self.cols)
|
||||
while J < K:
|
||||
self.cells[I][J].top = True
|
||||
J += 1
|
||||
|
|
@ -136,7 +126,7 @@ class Table:
|
|||
self.cells[I][J].bottom = True
|
||||
J += 1
|
||||
else:
|
||||
K = len(self.columns)
|
||||
K = len(self.cols)
|
||||
while J < K:
|
||||
self.cells[I][J].bottom = True
|
||||
J += 1
|
||||
|
|
@ -149,7 +139,7 @@ class Table:
|
|||
self.cells[I - 1][J].bottom = True
|
||||
J += 1
|
||||
else:
|
||||
K = len(self.columns)
|
||||
K = len(self.cols)
|
||||
while J < K:
|
||||
self.cells[I][J].top = True
|
||||
self.cells[I - 1][J].bottom = True
|
||||
|
|
@ -158,13 +148,8 @@ class Table:
|
|||
return self
|
||||
|
||||
def set_spanning(self):
|
||||
"""Set spanning values of a cell to True if it isn't
|
||||
"""Sets spanning values of a cell to True if it isn't
|
||||
bounded by four edges.
|
||||
|
||||
Returns
|
||||
-------
|
||||
self : object
|
||||
Returns self.
|
||||
"""
|
||||
for i in range(len(self.cells)):
|
||||
for j in range(len(self.cells[i])):
|
||||
|
|
@ -175,7 +160,7 @@ class Table:
|
|||
elif bound == 3:
|
||||
if not self.cells[i][j].left:
|
||||
if (self.cells[i][j].right and
|
||||
self.cells[i][j].top and
|
||||
self.cells[i][j].top and
|
||||
self.cells[i][j].bottom):
|
||||
self.cells[i][j].spanning_h = True
|
||||
|
||||
|
|
@ -209,3 +194,16 @@ class Table:
|
|||
self.cells[i][j].spanning_h = True
|
||||
|
||||
return self
|
||||
|
||||
def get_list(self):
|
||||
"""Returns text from all cells as list of lists.
|
||||
|
||||
Returns
|
||||
-------
|
||||
ar : list
|
||||
"""
|
||||
ar = []
|
||||
for i in range(len(self.cells)):
|
||||
ar.append([self.cells[i][j].get_text().strip()
|
||||
for j in range(len(self.cells[i]))])
|
||||
return ar
|
||||
|
|
@ -2,7 +2,7 @@ import numpy as np
|
|||
|
||||
|
||||
def translate(x1, x2):
|
||||
"""Translate coordinate x2 by x1.
|
||||
"""Translates x2 by x1.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
@ -19,7 +19,7 @@ def translate(x1, x2):
|
|||
|
||||
|
||||
def scale(x, s):
|
||||
"""Scale coordinate x by scaling factor s.
|
||||
"""Scales x by scaling factor s.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
@ -36,7 +36,7 @@ def scale(x, s):
|
|||
|
||||
|
||||
def rotate(x1, y1, x2, y2, angle):
|
||||
"""Rotate point x2, y2 about point x1, y1 by angle.
|
||||
"""Rotates point x2, y2 about point x1, y1 by angle.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
@ -68,15 +68,126 @@ def rotate(x1, y1, x2, y2, angle):
|
|||
return xnew, ynew
|
||||
|
||||
|
||||
def transform(tables, v_segments, h_segments, factors):
|
||||
"""Translates and scales OpenCV coordinates to PDFMiner coordinate
|
||||
space.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
tables : dict
|
||||
|
||||
v_segments : list
|
||||
|
||||
h_segments : list
|
||||
|
||||
factors : tuple
|
||||
|
||||
Returns
|
||||
-------
|
||||
tables_new : dict
|
||||
|
||||
v_segments_new : dict
|
||||
|
||||
h_segments_new : dict
|
||||
"""
|
||||
scaling_factor_x, scaling_factor_y, img_y = factors
|
||||
tables_new = {}
|
||||
for k in tables.keys():
|
||||
x1, y1, x2, y2 = k
|
||||
x1 = scale(x1, scaling_factor_x)
|
||||
y1 = scale(abs(translate(-img_y, y1)), scaling_factor_y)
|
||||
x2 = scale(x2, scaling_factor_x)
|
||||
y2 = scale(abs(translate(-img_y, y2)), scaling_factor_y)
|
||||
j_x, j_y = zip(*tables[k])
|
||||
j_x = [scale(j, scaling_factor_x) for j in j_x]
|
||||
j_y = [scale(abs(translate(-img_y, j)), scaling_factor_y) for j in j_y]
|
||||
joints = zip(j_x, j_y)
|
||||
tables_new[(x1, y1, x2, y2)] = joints
|
||||
|
||||
v_segments_new = []
|
||||
for v in v_segments:
|
||||
x1, x2 = scale(v[0], scaling_factor_x), scale(v[2], scaling_factor_x)
|
||||
y1, y2 = scale(abs(translate(-img_y, v[1])), scaling_factor_y), scale(
|
||||
abs(translate(-img_y, v[3])), scaling_factor_y)
|
||||
v_segments_new.append((x1, y1, x2, y2))
|
||||
|
||||
h_segments_new = []
|
||||
for h in h_segments:
|
||||
x1, x2 = scale(h[0], scaling_factor_x), scale(h[2], scaling_factor_x)
|
||||
y1, y2 = scale(abs(translate(-img_y, h[1])), scaling_factor_y), scale(
|
||||
abs(translate(-img_y, h[3])), scaling_factor_y)
|
||||
h_segments_new.append((x1, y1, x2, y2))
|
||||
|
||||
return tables_new, v_segments_new, h_segments_new
|
||||
|
||||
|
||||
def detect_vertical(text):
|
||||
"""Detects if text in table is vertical or not and returns
|
||||
its orientation.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
text : list
|
||||
|
||||
Returns
|
||||
-------
|
||||
rotated : string
|
||||
"""
|
||||
num_v = [t for t in text if (not t.upright) and t.get_text().strip()]
|
||||
num_h = [t for t in text if t.upright and t.get_text().strip()]
|
||||
vger = len(num_v) / float(len(num_v) + len(num_h))
|
||||
rotated = ''
|
||||
if vger > 0.8:
|
||||
clockwise = sum(t.matrix[1] < 0 and t.matrix[2] > 0 for t in text)
|
||||
anticlockwise = sum(t.matrix[1] > 0 and t.matrix[2] < 0 for t in text)
|
||||
rotated = 'left' if clockwise < anticlockwise else 'right'
|
||||
return rotated
|
||||
|
||||
|
||||
def elements_bbox(bbox, text, v_segments, h_segments):
|
||||
"""Returns all text objects and line segments present inside a
|
||||
table's bounding box.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
bbox : tuple
|
||||
|
||||
text : list
|
||||
|
||||
v_segments : list
|
||||
|
||||
h_segments : list
|
||||
|
||||
Returns
|
||||
-------
|
||||
text_bbox : list
|
||||
|
||||
v_s : list
|
||||
|
||||
h_s : list
|
||||
"""
|
||||
lb = (bbox[0], bbox[1])
|
||||
rt = (bbox[2], bbox[3])
|
||||
text_bbox = [t for t in text if lb[0] - 2 <= (t.x0 + t.x1) / 2.0
|
||||
<= rt[0] + 2 and lb[1] - 2 <= (t.y0 + t.y1) / 2.0
|
||||
<= rt[1] + 2]
|
||||
v_s = [v for v in v_segments if v[1] > lb[1] - 2 and
|
||||
v[3] < rt[1] + 2 and lb[0] - 2 <= v[0] <= rt[0] + 2]
|
||||
h_s = [h for h in h_segments if h[0] > lb[0] - 2 and
|
||||
h[2] < rt[0] + 2 and lb[1] - 2 <= h[1] <= rt[1] + 2]
|
||||
return text_bbox, v_s, h_s
|
||||
|
||||
|
||||
def remove_close_values(ar, mtol=2):
|
||||
"""Remove values which are within a tolerance of mtol of another value
|
||||
"""Removes values which are within a tolerance of mtol of another value
|
||||
present in list.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
ar : list
|
||||
|
||||
mtol : int, default: 2, optional
|
||||
mtol : int
|
||||
(optional, default: 2)
|
||||
|
||||
Returns
|
||||
-------
|
||||
|
|
@ -96,14 +207,15 @@ def remove_close_values(ar, mtol=2):
|
|||
|
||||
|
||||
def merge_close_values(ar, mtol=2):
|
||||
"""Merge values which are within a tolerance of mtol by calculating
|
||||
"""Merges values which are within a tolerance of mtol by calculating
|
||||
a moving mean.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
ar : list
|
||||
|
||||
mtol : int, default: 2, optional
|
||||
mtol : int
|
||||
(optional, default: 2)
|
||||
|
||||
Returns
|
||||
-------
|
||||
|
|
@ -123,8 +235,8 @@ def merge_close_values(ar, mtol=2):
|
|||
return ret
|
||||
|
||||
|
||||
def get_row_idx(t, rows):
|
||||
"""Get index of the row in which the given object falls by
|
||||
def get_row_index(t, rows):
|
||||
"""Gets index of the row in which the given object falls by
|
||||
comparing their co-ordinates.
|
||||
|
||||
Parameters
|
||||
|
|
@ -142,8 +254,8 @@ def get_row_idx(t, rows):
|
|||
return r
|
||||
|
||||
|
||||
def get_column_idx(t, columns):
|
||||
"""Get index of the column in which the given object falls by
|
||||
def get_column_index(t, columns):
|
||||
"""Gets index of the column in which the given object falls by
|
||||
comparing their co-ordinates.
|
||||
|
||||
Parameters
|
||||
|
|
@ -162,8 +274,8 @@ def get_column_idx(t, columns):
|
|||
|
||||
|
||||
def reduce_index(t, rotated, r_idx, c_idx):
|
||||
"""Shift a text object if it lies within a spanning cell taking
|
||||
in account table rotation.
|
||||
"""Reduces index of a text object if it lies within a spanning
|
||||
cell taking in account table rotation.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
@ -206,7 +318,7 @@ def reduce_index(t, rotated, r_idx, c_idx):
|
|||
|
||||
|
||||
def outline(t):
|
||||
"""Light up table boundary.
|
||||
"""Sets table border edges to True.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
@ -225,32 +337,33 @@ def outline(t):
|
|||
return t
|
||||
|
||||
|
||||
def fill(t, f=None):
|
||||
"""Fill spanning cells.
|
||||
def fill_spanning(t, fill=None):
|
||||
"""Fills spanning cells.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
t : object
|
||||
|
||||
f : string, default: None, optional
|
||||
f : string
|
||||
(optional, default: None)
|
||||
|
||||
Returns
|
||||
-------
|
||||
t : object
|
||||
"""
|
||||
if f == "h":
|
||||
if fill == "h":
|
||||
for i in range(len(t.cells)):
|
||||
for j in range(len(t.cells[i])):
|
||||
if t.cells[i][j].get_text().strip() == '':
|
||||
if t.cells[i][j].spanning_h:
|
||||
t.cells[i][j].add_text(t.cells[i][j - 1].get_text())
|
||||
elif f == "v":
|
||||
elif fill == "v":
|
||||
for i in range(len(t.cells)):
|
||||
for j in range(len(t.cells[i])):
|
||||
if t.cells[i][j].get_text().strip() == '':
|
||||
if t.cells[i][j].spanning_v:
|
||||
t.cells[i][j].add_text(t.cells[i - 1][j].get_text())
|
||||
elif f == "hv":
|
||||
elif fill == "hv":
|
||||
for i in range(len(t.cells)):
|
||||
for j in range(len(t.cells[i])):
|
||||
if t.cells[i][j].get_text().strip() == '':
|
||||
|
|
@ -262,7 +375,7 @@ def fill(t, f=None):
|
|||
|
||||
|
||||
def remove_empty(d):
|
||||
"""Remove empty rows and columns.
|
||||
"""Removes empty rows and columns from list of lists.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
@ -279,3 +392,8 @@ def remove_empty(d):
|
|||
d = [list(row) for row in d if any(row)]
|
||||
d = zip(*d)
|
||||
return d
|
||||
|
||||
|
||||
def encode_list(ar):
|
||||
ar = [[r.encode('utf-8') for r in row] for row in ar]
|
||||
return ar
|
||||
|
|
@ -0,0 +1,225 @@
|
|||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = _build
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " applehelp to make an Apple Help Book"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " epub3 to make an epub3"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " xml to make Docutils-native XML files"
|
||||
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
@echo " coverage to run coverage check of the documentation (if enabled)"
|
||||
@echo " dummy to check syntax errors of document sources"
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(BUILDDIR)/*
|
||||
|
||||
.PHONY: html
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
.PHONY: dirhtml
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
.PHONY: singlehtml
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
.PHONY: pickle
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
.PHONY: json
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
.PHONY: htmlhelp
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
.PHONY: qthelp
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/camelot.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/camelot.qhc"
|
||||
|
||||
.PHONY: applehelp
|
||||
applehelp:
|
||||
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
|
||||
@echo
|
||||
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
|
||||
@echo "N.B. You won't be able to view it unless you put it in" \
|
||||
"~/Library/Documentation/Help or install it in your application" \
|
||||
"bundle."
|
||||
|
||||
.PHONY: devhelp
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/camelot"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/camelot"
|
||||
@echo "# devhelp"
|
||||
|
||||
.PHONY: epub
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
.PHONY: epub3
|
||||
epub3:
|
||||
$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
|
||||
@echo
|
||||
@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
|
||||
|
||||
.PHONY: latex
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
.PHONY: latexpdf
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
.PHONY: latexpdfja
|
||||
latexpdfja:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through platex and dvipdfmx..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
.PHONY: text
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||
|
||||
.PHONY: man
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
.PHONY: texinfo
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
.PHONY: info
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
.PHONY: gettext
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
.PHONY: changes
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
.PHONY: linkcheck
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
.PHONY: doctest
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
|
||||
.PHONY: coverage
|
||||
coverage:
|
||||
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
|
||||
@echo "Testing of coverage in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/coverage/python.txt."
|
||||
|
||||
.PHONY: xml
|
||||
xml:
|
||||
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
||||
@echo
|
||||
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
||||
|
||||
.PHONY: pseudoxml
|
||||
pseudoxml:
|
||||
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
||||
@echo
|
||||
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|
||||
|
||||
.PHONY: dummy
|
||||
dummy:
|
||||
$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
|
||||
@echo
|
||||
@echo "Build finished. Dummy builder generates no files."
|
||||
|
|
@ -0,0 +1,352 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# camelot documentation build configuration file, created by
|
||||
# sphinx-quickstart on Tue Jul 19 13:44:18 2016.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its
|
||||
# containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#
|
||||
import os
|
||||
import sys
|
||||
sys.path.insert(0, os.path.abspath('..'))
|
||||
|
||||
# -- General configuration ------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#
|
||||
# needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = [
|
||||
'sphinx.ext.autodoc',
|
||||
'sphinx.ext.napoleon',
|
||||
'sphinx.ext.doctest',
|
||||
'sphinx.ext.intersphinx',
|
||||
'sphinx.ext.todo',
|
||||
'sphinx.ext.coverage',
|
||||
'sphinx.ext.viewcode',
|
||||
'sphinx.ext.githubpages',
|
||||
]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix(es) of source filenames.
|
||||
# You can specify multiple suffix as a list of string:
|
||||
#
|
||||
# source_suffix = ['.rst', '.md']
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#
|
||||
# source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'camelot'
|
||||
copyright = u'2016, SocialCops'
|
||||
author = u'Vinayak Mehta'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
|
||||
import camelot
|
||||
# The short X.Y version.
|
||||
version = camelot.__version__
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = camelot.__version__
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#
|
||||
# This is also used if you do content translation via gettext catalogs.
|
||||
# Usually you set "language" from the command line for these cases.
|
||||
language = None
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#
|
||||
# today = ''
|
||||
#
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
#
|
||||
# today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
# This patterns also effect to html_static_path and html_extra_path
|
||||
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all
|
||||
# documents.
|
||||
#
|
||||
# default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#
|
||||
# add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#
|
||||
# add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#
|
||||
# show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
# modindex_common_prefix = []
|
||||
|
||||
# If true, keep warnings as "system message" paragraphs in the built documents.
|
||||
# keep_warnings = False
|
||||
|
||||
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
||||
todo_include_todos = True
|
||||
|
||||
|
||||
# -- Options for HTML output ----------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
#
|
||||
html_theme = 'alabaster'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#
|
||||
# html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
# html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents.
|
||||
# "<project> v<release> documentation" by default.
|
||||
#
|
||||
# html_title = u'camelot v0.1'
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#
|
||||
# html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#
|
||||
# html_logo = None
|
||||
|
||||
# The name of an image file (relative to this directory) to use as a favicon of
|
||||
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#
|
||||
# html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
# Add any extra paths that contain custom files (such as robots.txt or
|
||||
# .htaccess) here, relative to this directory. These files are copied
|
||||
# directly to the root of the documentation.
|
||||
#
|
||||
# html_extra_path = []
|
||||
|
||||
# If not None, a 'Last updated on:' timestamp is inserted at every page
|
||||
# bottom, using the given strftime format.
|
||||
# The empty string is equivalent to '%b %d, %Y'.
|
||||
#
|
||||
# html_last_updated_fmt = None
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#
|
||||
# html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#
|
||||
# html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#
|
||||
# html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#
|
||||
# html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#
|
||||
# html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#
|
||||
# html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#
|
||||
# html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#
|
||||
# html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#
|
||||
# html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#
|
||||
# html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
# html_file_suffix = None
|
||||
|
||||
# Language to be used for generating the HTML full-text search index.
|
||||
# Sphinx supports the following languages:
|
||||
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
|
||||
# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh'
|
||||
#
|
||||
# html_search_language = 'en'
|
||||
|
||||
# A dictionary with options for the search language support, empty by default.
|
||||
# 'ja' uses this config value.
|
||||
# 'zh' user can custom change `jieba` dictionary path.
|
||||
#
|
||||
# html_search_options = {'type': 'default'}
|
||||
|
||||
# The name of a javascript file (relative to the configuration directory) that
|
||||
# implements a search results scorer. If empty, the default will be used.
|
||||
#
|
||||
# html_search_scorer = 'scorer.js'
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'camelotdoc'
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#
|
||||
# 'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#
|
||||
# 'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#
|
||||
# 'preamble': '',
|
||||
|
||||
# Latex figure (float) alignment
|
||||
#
|
||||
# 'figure_align': 'htbp',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title,
|
||||
# author, documentclass [howto, manual, or own class]).
|
||||
latex_documents = [
|
||||
(master_doc, 'camelot.tex', u'camelot Documentation',
|
||||
u'Vinayak Mehta', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#
|
||||
# latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#
|
||||
# latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#
|
||||
# latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#
|
||||
# latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#
|
||||
# latex_appendices = []
|
||||
|
||||
# It false, will not define \strong, \code, itleref, \crossref ... but only
|
||||
# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added
|
||||
# packages.
|
||||
#
|
||||
# latex_keep_old_macro_names = True
|
||||
|
||||
# If false, no module index is generated.
|
||||
#
|
||||
# latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output ---------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, 'camelot', u'camelot Documentation',
|
||||
[author], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#
|
||||
# man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output -------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(master_doc, 'camelot', u'camelot Documentation',
|
||||
author, 'camelot', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#
|
||||
# texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#
|
||||
# texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#
|
||||
# texinfo_show_urls = 'footnote'
|
||||
|
||||
# If true, do not generate a @detailmenu in the "Top" node's menu.
|
||||
#
|
||||
# texinfo_no_detailmenu = False
|
||||
|
||||
|
||||
# Example configuration for intersphinx: refer to the Python standard library.
|
||||
intersphinx_mapping = {'https://docs.python.org/2': None}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
.. camelot documentation master file, created by
|
||||
sphinx-quickstart on Tue Jul 19 13:44:18 2016.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
camelot: Parse tables from PDFs!
|
||||
================================
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
|
||||
|
|
@ -0,0 +1,281 @@
|
|||
@ECHO OFF
|
||||
|
||||
REM Command file for Sphinx documentation
|
||||
|
||||
if "%SPHINXBUILD%" == "" (
|
||||
set SPHINXBUILD=sphinx-build
|
||||
)
|
||||
set BUILDDIR=_build
|
||||
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
|
||||
set I18NSPHINXOPTS=%SPHINXOPTS% .
|
||||
if NOT "%PAPER%" == "" (
|
||||
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
|
||||
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
|
||||
)
|
||||
|
||||
if "%1" == "" goto help
|
||||
|
||||
if "%1" == "help" (
|
||||
:help
|
||||
echo.Please use `make ^<target^>` where ^<target^> is one of
|
||||
echo. html to make standalone HTML files
|
||||
echo. dirhtml to make HTML files named index.html in directories
|
||||
echo. singlehtml to make a single large HTML file
|
||||
echo. pickle to make pickle files
|
||||
echo. json to make JSON files
|
||||
echo. htmlhelp to make HTML files and a HTML help project
|
||||
echo. qthelp to make HTML files and a qthelp project
|
||||
echo. devhelp to make HTML files and a Devhelp project
|
||||
echo. epub to make an epub
|
||||
echo. epub3 to make an epub3
|
||||
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
|
||||
echo. text to make text files
|
||||
echo. man to make manual pages
|
||||
echo. texinfo to make Texinfo files
|
||||
echo. gettext to make PO message catalogs
|
||||
echo. changes to make an overview over all changed/added/deprecated items
|
||||
echo. xml to make Docutils-native XML files
|
||||
echo. pseudoxml to make pseudoxml-XML files for display purposes
|
||||
echo. linkcheck to check all external links for integrity
|
||||
echo. doctest to run all doctests embedded in the documentation if enabled
|
||||
echo. coverage to run coverage check of the documentation if enabled
|
||||
echo. dummy to check syntax errors of document sources
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "clean" (
|
||||
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
|
||||
del /q /s %BUILDDIR%\*
|
||||
goto end
|
||||
)
|
||||
|
||||
|
||||
REM Check if sphinx-build is available and fallback to Python version if any
|
||||
%SPHINXBUILD% 1>NUL 2>NUL
|
||||
if errorlevel 9009 goto sphinx_python
|
||||
goto sphinx_ok
|
||||
|
||||
:sphinx_python
|
||||
|
||||
set SPHINXBUILD=python -m sphinx.__init__
|
||||
%SPHINXBUILD% 2> nul
|
||||
if errorlevel 9009 (
|
||||
echo.
|
||||
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||
echo.installed, then set the SPHINXBUILD environment variable to point
|
||||
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||
echo.may add the Sphinx directory to PATH.
|
||||
echo.
|
||||
echo.If you don't have Sphinx installed, grab it from
|
||||
echo.http://sphinx-doc.org/
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:sphinx_ok
|
||||
|
||||
|
||||
if "%1" == "html" (
|
||||
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "dirhtml" (
|
||||
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "singlehtml" (
|
||||
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "pickle" (
|
||||
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can process the pickle files.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "json" (
|
||||
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can process the JSON files.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "htmlhelp" (
|
||||
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can run HTML Help Workshop with the ^
|
||||
.hhp project file in %BUILDDIR%/htmlhelp.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "qthelp" (
|
||||
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can run "qcollectiongenerator" with the ^
|
||||
.qhcp project file in %BUILDDIR%/qthelp, like this:
|
||||
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\camelot.qhcp
|
||||
echo.To view the help file:
|
||||
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\camelot.ghc
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "devhelp" (
|
||||
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "epub" (
|
||||
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The epub file is in %BUILDDIR%/epub.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "epub3" (
|
||||
%SPHINXBUILD% -b epub3 %ALLSPHINXOPTS% %BUILDDIR%/epub3
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The epub3 file is in %BUILDDIR%/epub3.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "latex" (
|
||||
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "latexpdf" (
|
||||
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
|
||||
cd %BUILDDIR%/latex
|
||||
make all-pdf
|
||||
cd %~dp0
|
||||
echo.
|
||||
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "latexpdfja" (
|
||||
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
|
||||
cd %BUILDDIR%/latex
|
||||
make all-pdf-ja
|
||||
cd %~dp0
|
||||
echo.
|
||||
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "text" (
|
||||
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The text files are in %BUILDDIR%/text.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "man" (
|
||||
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The manual pages are in %BUILDDIR%/man.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "texinfo" (
|
||||
%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "gettext" (
|
||||
%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "changes" (
|
||||
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.The overview file is in %BUILDDIR%/changes.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "linkcheck" (
|
||||
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Link check complete; look for any errors in the above output ^
|
||||
or in %BUILDDIR%/linkcheck/output.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "doctest" (
|
||||
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Testing of doctests in the sources finished, look at the ^
|
||||
results in %BUILDDIR%/doctest/output.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "coverage" (
|
||||
%SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Testing of coverage in the sources finished, look at the ^
|
||||
results in %BUILDDIR%/coverage/python.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "xml" (
|
||||
%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The XML files are in %BUILDDIR%/xml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "pseudoxml" (
|
||||
%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "dummy" (
|
||||
%SPHINXBUILD% -b dummy %ALLSPHINXOPTS% %BUILDDIR%/dummy
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. Dummy builder generates no files.
|
||||
goto end
|
||||
)
|
||||
|
||||
:end
|
||||
313
lattice.py
313
lattice.py
|
|
@ -1,313 +0,0 @@
|
|||
import os
|
||||
import cv2
|
||||
import glob
|
||||
import numpy as np
|
||||
from wand.image import Image
|
||||
|
||||
from table import Table
|
||||
from pdf import get_pdf_info
|
||||
from utils import (translate, scale, merge_close_values, get_row_idx,
|
||||
get_column_idx, reduce_index, outline, fill, remove_empty)
|
||||
|
||||
|
||||
def morph_transform(img, s=15, invert=False):
|
||||
"""Morphological Transformation
|
||||
|
||||
Applies a series of morphological operations on the image
|
||||
to find table contours and line segments.
|
||||
http://answers.opencv.org/question/63847/how-to-extract-tables-from-an-image/
|
||||
|
||||
Empirical result for adaptiveThreshold's blockSize=5 and C=-0.2
|
||||
taken from http://pequan.lip6.fr/~bereziat/pima/2012/seuillage/sezgin04.pdf
|
||||
|
||||
Parameters
|
||||
----------
|
||||
img : ndarray
|
||||
|
||||
s : int, default: 15, optional
|
||||
Scaling factor. Large scaling factor leads to smaller lines
|
||||
being detected.
|
||||
|
||||
invert : bool, default: False, optional
|
||||
Invert pdf image to make sure that lines are in foreground.
|
||||
|
||||
Returns
|
||||
-------
|
||||
tables : dict
|
||||
Dictionary with table bounding box as key and list of
|
||||
joints found in the table as value.
|
||||
|
||||
v_segments : list
|
||||
List of vertical line segments found in the image.
|
||||
|
||||
h_segments : list
|
||||
List of horizontal line segments found in the image.
|
||||
"""
|
||||
img_x, img_y = img.shape[1], img.shape[0]
|
||||
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
|
||||
|
||||
if invert:
|
||||
threshold = cv2.adaptiveThreshold(
|
||||
gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 15, -0.2)
|
||||
else:
|
||||
threshold = cv2.adaptiveThreshold(np.invert(
|
||||
gray), 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 15, -0.2)
|
||||
vertical = threshold
|
||||
horizontal = threshold
|
||||
|
||||
scale = s
|
||||
verticalsize = vertical.shape[0] / scale
|
||||
horizontalsize = horizontal.shape[1] / scale
|
||||
|
||||
ver = cv2.getStructuringElement(cv2.MORPH_RECT, (1, verticalsize))
|
||||
hor = cv2.getStructuringElement(cv2.MORPH_RECT, (horizontalsize, 1))
|
||||
|
||||
vertical = cv2.erode(vertical, ver, (-1, -1))
|
||||
vertical = cv2.dilate(vertical, ver, (-1, -1))
|
||||
|
||||
horizontal = cv2.erode(horizontal, hor, (-1, -1))
|
||||
horizontal = cv2.dilate(horizontal, hor, (-1, -1))
|
||||
|
||||
mask = vertical + horizontal
|
||||
joints = np.bitwise_and(vertical, horizontal)
|
||||
__, contours, __ = cv2.findContours(
|
||||
mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
|
||||
contours = sorted(contours, key=cv2.contourArea, reverse=True)[:10]
|
||||
|
||||
tables = {}
|
||||
for c in contours:
|
||||
c_poly = cv2.approxPolyDP(c, 3, True)
|
||||
x, y, w, h = cv2.boundingRect(c_poly)
|
||||
# find number of non-zero values in joints using what boundingRect
|
||||
# returns
|
||||
roi = joints[y : y + h, x : x + w]
|
||||
__, jc, __ = cv2.findContours(
|
||||
roi, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE)
|
||||
if len(jc) <= 4: # remove contours with less than <=4 joints
|
||||
continue
|
||||
joint_coords = []
|
||||
for j in jc:
|
||||
jx, jy, jw, jh = cv2.boundingRect(j)
|
||||
c1, c2 = x + (2 * jx + jw) / 2, y + (2 * jy + jh) / 2
|
||||
joint_coords.append((c1, c2))
|
||||
tables[(x, y + h, x + w, y)] = joint_coords
|
||||
|
||||
v_segments, h_segments = [], []
|
||||
_, vcontours, _ = cv2.findContours(
|
||||
vertical, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
|
||||
for vc in vcontours:
|
||||
x, y, w, h = cv2.boundingRect(vc)
|
||||
x1, x2 = x, x + w
|
||||
y1, y2 = y, y + h
|
||||
v_segments.append(((x1 + x2) / 2, y2, (x1 + x2) / 2, y1))
|
||||
|
||||
_, hcontours, _ = cv2.findContours(
|
||||
horizontal, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
|
||||
for hc in hcontours:
|
||||
x, y, w, h = cv2.boundingRect(hc)
|
||||
x1, x2 = x, x + w
|
||||
y1, y2 = y, y + h
|
||||
h_segments.append((x1, (y1 + y2) / 2, x2, (y1 + y2) / 2))
|
||||
|
||||
return tables, v_segments, h_segments
|
||||
|
||||
|
||||
def lattice(filepath, f=None, s=15, jtol=2, mtol=2, invert=False, debug=None):
|
||||
"""Lattice algorithm
|
||||
|
||||
Makes table using pdf geometry information returned by
|
||||
morph_transform and fills data returned by PDFMiner in table cells.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
filepath : string
|
||||
|
||||
f : string, default: None, optional
|
||||
Fill data in horizontal and/or vertical spanning
|
||||
cells. ('h', 'v', 'hv')
|
||||
|
||||
s : int, default: 15, optional
|
||||
Scaling factor. Large scaling factor leads to smaller lines
|
||||
being detected.
|
||||
|
||||
jtol : int, default: 2, optional
|
||||
Tolerance to account for when comparing joint and line
|
||||
coordinates.
|
||||
|
||||
mtol : int, default: 2, optional
|
||||
Tolerance to account for when merging lines which are
|
||||
very close.
|
||||
|
||||
invert : bool, default: False, optional
|
||||
Invert pdf image to make sure that lines are in foreground.
|
||||
|
||||
debug : string
|
||||
Debug by visualizing pdf geometry.
|
||||
('contour', 'line', 'joint', 'table')
|
||||
Returns
|
||||
-------
|
||||
output : dict
|
||||
Dictionary with table number as key and list of data as value.
|
||||
"""
|
||||
if debug:
|
||||
import matplotlib.pyplot as plt
|
||||
fileroot, __ = os.path.splitext(filepath)
|
||||
imagename = fileroot + '.png'
|
||||
with Image(filename=filepath, depth=8, resolution=300) as png:
|
||||
png.save(filename=imagename)
|
||||
img = cv2.imread(imagename)
|
||||
img_x, img_y = img.shape[1], img.shape[0]
|
||||
text, pdf_x, pdf_y = get_pdf_info(filepath, method='lattice')
|
||||
scaling_factor_x = pdf_x / float(img_x)
|
||||
scaling_factor_y = pdf_y / float(img_y)
|
||||
tables, v_segments, h_segments = morph_transform(img, s=s, invert=invert)
|
||||
|
||||
if debug == "contour":
|
||||
for t in tables.keys():
|
||||
cv2.rectangle(img, (t[0], t[1]), (t[2], t[3]), (255, 0, 0), 3)
|
||||
plt.imshow(img)
|
||||
plt.show()
|
||||
return None
|
||||
if debug == "joint":
|
||||
x_coord = []
|
||||
y_coord = []
|
||||
for k in tables.keys():
|
||||
for coord in tables[k]:
|
||||
x_coord.append(coord[0])
|
||||
y_coord.append(coord[1])
|
||||
max_x, max_y = max(x_coord), max(y_coord)
|
||||
plt.plot(x_coord, y_coord, 'ro')
|
||||
plt.axis([0, max_x + 100, max_y + 100, 0])
|
||||
plt.imshow(img)
|
||||
plt.show()
|
||||
return None
|
||||
|
||||
# detect if vertical
|
||||
num_v = [t for t in text if (not t.upright) and t.get_text().strip()]
|
||||
num_h = [t for t in text if t.upright and t.get_text().strip()]
|
||||
vger = len(num_v) / float(len(num_v) + len(num_h))
|
||||
rotated = ''
|
||||
if vger > 0.8:
|
||||
clockwise = sum(t.matrix[1] < 0 and t.matrix[2] > 0 for t in text)
|
||||
anticlockwise = sum(t.matrix[1] > 0 and t.matrix[2] < 0 for t in text)
|
||||
rotated = 'left' if clockwise < anticlockwise else 'right'
|
||||
|
||||
tables_new = {}
|
||||
for k in tables.keys():
|
||||
x1, y1, x2, y2 = k
|
||||
x1 = scale(x1, scaling_factor_x)
|
||||
y1 = scale(abs(translate(-img_y, y1)), scaling_factor_y)
|
||||
x2 = scale(x2, scaling_factor_x)
|
||||
y2 = scale(abs(translate(-img_y, y2)), scaling_factor_y)
|
||||
j_x, j_y = zip(*tables[k])
|
||||
j_x = [scale(j, scaling_factor_x) for j in j_x]
|
||||
j_y = [scale(abs(translate(-img_y, j)), scaling_factor_y) for j in j_y]
|
||||
joints = zip(j_x, j_y)
|
||||
tables_new[(x1, y1, x2, y2)] = joints
|
||||
|
||||
v_segments_new = []
|
||||
for v in v_segments:
|
||||
x1, x2 = scale(v[0], scaling_factor_x), scale(v[2], scaling_factor_x)
|
||||
y1, y2 = scale(abs(translate(-img_y, v[1])), scaling_factor_y), scale(
|
||||
abs(translate(-img_y, v[3])), scaling_factor_y)
|
||||
v_segments_new.append((x1, y1, x2, y2))
|
||||
|
||||
h_segments_new = []
|
||||
for h in h_segments:
|
||||
x1, x2 = scale(h[0], scaling_factor_x), scale(h[2], scaling_factor_x)
|
||||
y1, y2 = scale(abs(translate(-img_y, h[1])), scaling_factor_y), scale(
|
||||
abs(translate(-img_y, h[3])), scaling_factor_y)
|
||||
h_segments_new.append((x1, y1, x2, y2))
|
||||
|
||||
num_tables = 1
|
||||
output = {}
|
||||
# sort tables based on y-coord
|
||||
for k in sorted(tables_new.keys(), key=lambda x: x[1], reverse=True):
|
||||
# find rows and columns that lie in table
|
||||
lb = (k[0], k[1])
|
||||
rt = (k[2], k[3])
|
||||
v_s = [v for v in v_segments_new if v[1] > lb[1] - 2 and v[3]
|
||||
< rt[1] + 2 and lb[0] - 2 <= v[0] <= rt[0] + 2]
|
||||
h_s = [h for h in h_segments_new if h[0] > lb[0] - 2 and h[2]
|
||||
< rt[0] + 2 and lb[1] - 2 <= h[1] <= rt[1] + 2]
|
||||
|
||||
if debug == "line":
|
||||
for v in v_s:
|
||||
plt.plot([v[0], v[2]], [v[1], v[3]])
|
||||
for h in h_s:
|
||||
plt.plot([h[0], h[2]], [h[1], h[3]])
|
||||
|
||||
columns, rows = zip(*tables_new[k])
|
||||
columns, rows = list(columns), list(rows)
|
||||
columns.extend([lb[0], rt[0]])
|
||||
rows.extend([lb[1], rt[1]])
|
||||
# sort horizontal and vertical segments
|
||||
columns = merge_close_values(sorted(columns), mtol=mtol)
|
||||
rows = merge_close_values(sorted(rows, reverse=True), mtol=mtol)
|
||||
# make grid using x and y coord of shortlisted rows and columns
|
||||
columns = [(columns[i], columns[i + 1])
|
||||
for i in range(0, len(columns) - 1)]
|
||||
rows = [(rows[i], rows[i + 1]) for i in range(0, len(rows) - 1)]
|
||||
|
||||
table = Table(columns, rows)
|
||||
# light up cell edges
|
||||
table = table.set_edges(v_s, h_s, jtol=jtol)
|
||||
# table set span method
|
||||
table = table.set_spanning()
|
||||
# light up table border
|
||||
table = outline(table)
|
||||
|
||||
if debug == "table":
|
||||
for i in range(len(table.cells)):
|
||||
for j in range(len(table.cells[i])):
|
||||
if table.cells[i][j].left:
|
||||
plt.plot([table.cells[i][j].lb[0], table.cells[i][j].lt[0]],
|
||||
[table.cells[i][j].lb[1], table.cells[i][j].lt[1]])
|
||||
if table.cells[i][j].right:
|
||||
plt.plot([table.cells[i][j].rb[0], table.cells[i][j].rt[0]],
|
||||
[table.cells[i][j].rb[1], table.cells[i][j].rt[1]])
|
||||
if table.cells[i][j].top:
|
||||
plt.plot([table.cells[i][j].lt[0], table.cells[i][j].rt[0]],
|
||||
[table.cells[i][j].lt[1], table.cells[i][j].rt[1]])
|
||||
if table.cells[i][j].bottom:
|
||||
plt.plot([table.cells[i][j].lb[0], table.cells[i][j].rb[0]],
|
||||
[table.cells[i][j].lb[1], table.cells[i][j].rb[1]])
|
||||
|
||||
# fill text after sorting it
|
||||
if not rotated:
|
||||
text.sort(key=lambda x: (-x.y0, x.x0))
|
||||
elif rotated == 'left':
|
||||
text.sort(key=lambda x: (x.x0, x.y0))
|
||||
elif rotated == 'right':
|
||||
text.sort(key=lambda x: (-x.x0, -x.y0))
|
||||
|
||||
for t in text:
|
||||
r_idx = get_row_idx(t, rows)
|
||||
c_idx = get_column_idx(t, columns)
|
||||
if None in [r_idx, c_idx]:
|
||||
pass
|
||||
else:
|
||||
r_idx, c_idx = reduce_index(table, rotated, r_idx, c_idx)
|
||||
table.cells[r_idx][c_idx].add_text(t.get_text().strip('\n'))
|
||||
|
||||
if f is not None:
|
||||
table = fill(table, f=f)
|
||||
|
||||
data = []
|
||||
for i in range(len(table.cells)):
|
||||
data.append([table.cells[i][j].get_text().strip().encode('utf-8')
|
||||
for j in range(len(table.cells[i]))])
|
||||
if rotated == 'left':
|
||||
data = zip(*data[::-1])
|
||||
elif rotated == 'right':
|
||||
data = zip(*data[::1])
|
||||
data.reverse()
|
||||
data = remove_empty(data)
|
||||
output['table_%d' % num_tables] = data
|
||||
num_tables += 1
|
||||
|
||||
if debug in ['line', 'table']:
|
||||
plt.show()
|
||||
return None
|
||||
|
||||
return output
|
||||
111
pdf.py
111
pdf.py
|
|
@ -1,111 +0,0 @@
|
|||
from pdfminer.pdfparser import PDFParser
|
||||
from pdfminer.pdfdocument import PDFDocument
|
||||
from pdfminer.pdfpage import PDFPage
|
||||
from pdfminer.pdfpage import PDFTextExtractionNotAllowed
|
||||
from pdfminer.pdfinterp import PDFResourceManager
|
||||
from pdfminer.pdfinterp import PDFPageInterpreter
|
||||
from pdfminer.pdfdevice import PDFDevice
|
||||
from pdfminer.converter import PDFPageAggregator
|
||||
from pdfminer.layout import LAParams, LTChar, LTTextLineHorizontal
|
||||
|
||||
|
||||
def parse_text_stream(layout, t=None):
|
||||
"""Recursively parse pdf layout to get a list of
|
||||
LTTextHorizontal objects.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
layout : object
|
||||
|
||||
t : list
|
||||
|
||||
Returns
|
||||
-------
|
||||
t : list
|
||||
"""
|
||||
if t is None:
|
||||
t = []
|
||||
try:
|
||||
for obj in layout._objs:
|
||||
if isinstance(obj, LTTextLineHorizontal):
|
||||
t.append(obj)
|
||||
else:
|
||||
t += parse_text_stream(obj)
|
||||
except AttributeError:
|
||||
pass
|
||||
return t
|
||||
|
||||
|
||||
def parse_text_lattice(layout, t=None):
|
||||
"""Recursively parse pdf layout to get a list of
|
||||
LTChar objects.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
layout : object
|
||||
|
||||
t : list
|
||||
|
||||
Returns
|
||||
-------
|
||||
t : list
|
||||
"""
|
||||
if t is None:
|
||||
t = []
|
||||
try:
|
||||
for obj in layout._objs:
|
||||
if isinstance(obj, LTChar):
|
||||
t.append(obj)
|
||||
else:
|
||||
t += parse_text_lattice(obj)
|
||||
except AttributeError:
|
||||
pass
|
||||
return t
|
||||
|
||||
|
||||
def get_pdf_info(pdfname, method=None, char_margin=2.0, line_margin=0.5,
|
||||
word_margin=0.1):
|
||||
"""Get list of text objects along with pdf width and height.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
pdfname : string
|
||||
|
||||
method : string
|
||||
|
||||
char_margin : float
|
||||
|
||||
line_margin : float
|
||||
|
||||
word_margin : float
|
||||
|
||||
Returns
|
||||
-------
|
||||
text : list
|
||||
|
||||
pdf_x : int
|
||||
|
||||
pdf_y : int
|
||||
"""
|
||||
if not method:
|
||||
return None
|
||||
with open(pdfname, 'r') as f:
|
||||
parser = PDFParser(f)
|
||||
document = PDFDocument(parser)
|
||||
if not document.is_extractable:
|
||||
raise PDFTextExtractionNotAllowed
|
||||
laparams = LAParams(char_margin=char_margin,
|
||||
line_margin=line_margin,
|
||||
word_margin=word_margin)
|
||||
rsrcmgr = PDFResourceManager()
|
||||
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
|
||||
interpreter = PDFPageInterpreter(rsrcmgr, device)
|
||||
for page in PDFPage.create_pages(document):
|
||||
interpreter.process_page(page)
|
||||
layout = device.get_result()
|
||||
if method == 'stream':
|
||||
text = parse_text_stream(layout)
|
||||
elif method == 'lattice':
|
||||
text = parse_text_lattice(layout)
|
||||
pdf_x, pdf_y = layout.bbox[2], layout.bbox[3]
|
||||
return text, pdf_x, pdf_y
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
docopt
|
||||
matplotlib
|
||||
nose
|
||||
pdfminer
|
||||
pyexcel-xlsx
|
||||
PyPDF2
|
||||
Sphinx
|
||||
Wand
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
from pkg_resources import parse_version
|
||||
|
||||
import camelot
|
||||
|
||||
NAME = 'camelot'
|
||||
VERSION = camelot.__version__
|
||||
DESCRIPTION = 'camelot parses tables from PDFs!'
|
||||
with open('README.md') as f:
|
||||
LONG_DESCRIPTION = f.read()
|
||||
URL = 'https://github.com/socialcopsdev/camelot'
|
||||
AUTHOR = 'Vinayak Mehta'
|
||||
AUTHOR_EMAIL = 'vinayak@socialcops.com'
|
||||
LICENSE = 'BSD License'
|
||||
|
||||
opencv_min_version = '2.4.8'
|
||||
|
||||
|
||||
def get_opencv_status():
|
||||
"""
|
||||
Returns a dictionary containing a boolean specifying whether OpenCV
|
||||
is up-to-date, along with the version string (empty string if
|
||||
not installed).
|
||||
"""
|
||||
opencv_status = {}
|
||||
try:
|
||||
import cv2
|
||||
opencv_version = cv2.__version__
|
||||
opencv_status['up_to_date'] = parse_version(
|
||||
opencv_version) >= parse_version(opencv_min_version)
|
||||
opencv_status['version'] = opencv_version
|
||||
except ImportError:
|
||||
opencv_status['up_to_date'] = False
|
||||
opencv_status['version'] = ""
|
||||
return opencv_status
|
||||
|
||||
|
||||
def setup_package():
|
||||
reqs = []
|
||||
with open('requirements.txt', 'r') as f:
|
||||
for line in f:
|
||||
reqs.append(line.strip())
|
||||
|
||||
metadata = dict(name=NAME,
|
||||
version=VERSION,
|
||||
description=DESCRIPTION,
|
||||
long_description=LONG_DESCRIPTION,
|
||||
url=URL,
|
||||
author=AUTHOR,
|
||||
author_email=AUTHOR_EMAIL,
|
||||
license=LICENSE,
|
||||
keywords='parse scrape pdf table',
|
||||
packages=['camelot'],
|
||||
install_requires=reqs,
|
||||
scripts=['tools/camelot'])
|
||||
|
||||
try:
|
||||
from setuptools import setup
|
||||
except:
|
||||
from distutils.core import setup
|
||||
|
||||
opencv_status = get_opencv_status()
|
||||
opencv_req_str = "camelot requires OpenCV >= {0}.\n".format(opencv_min_version)
|
||||
instructions = ("Installation instructions are available in the README at "
|
||||
"https://github.com/socialcopsdev/camelot")
|
||||
|
||||
if opencv_status['up_to_date'] is False:
|
||||
if opencv_status['version']:
|
||||
raise ImportError("Your installation of OpenCV "
|
||||
"{0} is out-of-date.\n{1}{2}"
|
||||
.format(opencv_status['version'],
|
||||
opencv_req_str, instructions))
|
||||
else:
|
||||
raise ImportError("OpenCV is not installed.\n{0}{1}"
|
||||
.format(opencv_req_str, instructions))
|
||||
|
||||
setup(**metadata)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
setup_package()
|
||||
143
stream.py
143
stream.py
|
|
@ -1,143 +0,0 @@
|
|||
import os
|
||||
import numpy as np
|
||||
|
||||
from pdf import get_pdf_info
|
||||
|
||||
|
||||
def overlap(l):
|
||||
"""Groups overlapping columns and returns list with updated
|
||||
columns boundaries.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
l : list
|
||||
List of column x-coordinates.
|
||||
|
||||
Returns
|
||||
-------
|
||||
merged : list
|
||||
List of merged column x-coordinates.
|
||||
"""
|
||||
merged = []
|
||||
for higher in l:
|
||||
if not merged:
|
||||
merged.append(higher)
|
||||
else:
|
||||
lower = merged[-1]
|
||||
if higher[0] <= lower[1]:
|
||||
upper_bound = max(lower[1], higher[1])
|
||||
lower_bound = min(lower[0], higher[0])
|
||||
merged[-1] = (lower_bound, upper_bound)
|
||||
else:
|
||||
merged.append(higher)
|
||||
return merged
|
||||
|
||||
|
||||
def stream(filepath, ncolumns=0, columns=None, char_margin=2.0,
|
||||
line_margin=0.5, word_margin=0.1, debug=False):
|
||||
"""Stream algorithm
|
||||
|
||||
Groups data returned by PDFMiner into rows and finds mode of the
|
||||
number of elements in each row to guess number of columns.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
filepath : string
|
||||
|
||||
ncolumns : int, default: 0, optional
|
||||
Number of columns.
|
||||
|
||||
columns : string, default: None, optional
|
||||
Comma-separated list of column x-coordinates.
|
||||
|
||||
char_margin : float, default: 2.0, optional
|
||||
Char margin. Chars closer than cmargin are grouped together
|
||||
to form a word.
|
||||
|
||||
line_margin : float, default: 0.5, optional
|
||||
Line margin. Lines closer than lmargin are grouped together
|
||||
to form a textbox.
|
||||
|
||||
word_margin : float, default: 0.1, optional
|
||||
Word margin. Insert blank spaces between chars if distance
|
||||
between words is greater than word margin.
|
||||
|
||||
debug : bool, default: False, optional
|
||||
Debug by visualizing textboxes.
|
||||
|
||||
Returns
|
||||
-------
|
||||
output : list
|
||||
"""
|
||||
filename = os.path.basename(filepath)
|
||||
text, __, __ = get_pdf_info(filepath, method='stream', char_margin=char_margin,
|
||||
line_margin=line_margin, word_margin=word_margin)
|
||||
text.sort(key=lambda x: (-x.y0, x.x0))
|
||||
y_last = 0
|
||||
data = []
|
||||
temp = []
|
||||
elements = []
|
||||
for t in text:
|
||||
# is checking for upright necessary?
|
||||
# if t.get_text().strip() and all([obj.upright for obj in t._objs if
|
||||
# type(obj) is LTChar]):
|
||||
if t.get_text().strip():
|
||||
if not np.isclose(y_last, t.y0, atol=2):
|
||||
y_last = t.y0
|
||||
elements.append(len(temp))
|
||||
data.append(temp)
|
||||
temp = []
|
||||
temp.append(t)
|
||||
|
||||
if debug:
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.patches as patches
|
||||
|
||||
fig = plt.figure()
|
||||
ax = fig.add_subplot(111, aspect='equal')
|
||||
xs, ys = [], []
|
||||
for d in data:
|
||||
for t in d:
|
||||
xs.extend([t.x0, t.x1])
|
||||
ys.extend([t.y0, t.y1])
|
||||
ax.add_patch(
|
||||
patches.Rectangle(
|
||||
(t.x0, t.y0),
|
||||
t.x1 - t.x0,
|
||||
t.y1 - t.y0
|
||||
)
|
||||
)
|
||||
ax.set_xlim(min(xs) - 10, max(xs) + 10)
|
||||
ax.set_ylim(min(ys) - 10, max(ys) + 10)
|
||||
plt.show()
|
||||
return None
|
||||
|
||||
if columns:
|
||||
columns = columns.split(',')
|
||||
cols = [(float(columns[i]), float(columns[i + 1]))
|
||||
for i in range(0, len(columns) - 1)]
|
||||
cols = [(c[0] + c[1]) / 2.0 for c in cols]
|
||||
else:
|
||||
# a table can't have just 1 column, can it?
|
||||
elements = filter(lambda x: x != 1, elements)
|
||||
mode = ncolumns if ncolumns else max(set(elements), key=elements.count)
|
||||
cols = [(t.x0, t.x1) for d in data for t in d if len(d) == mode]
|
||||
cols = overlap(sorted(cols))
|
||||
cols = [(c[0] + c[1]) / 2.0 for c in cols]
|
||||
|
||||
output = [['' for c in cols] for d in data]
|
||||
for row, d in enumerate(data):
|
||||
for t in d:
|
||||
cog = (t.x0 + t.x1) / 2.0
|
||||
diff = [(i, abs(cog - c)) for i, c in enumerate(cols)]
|
||||
if diff:
|
||||
idx = min(diff, key=lambda x: x[1])
|
||||
else:
|
||||
print "couldn't find a table on this page"
|
||||
return None
|
||||
if output[row][idx[0]]:
|
||||
output[row][idx[0]] += ' ' + t.get_text().strip()
|
||||
else:
|
||||
output[row][idx[0]] = t.get_text().strip()
|
||||
|
||||
return output
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":7,"numCorrectlyDetectedTables":7,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,101 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-002-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='218'/>
|
||||
<instruction instr-id='248'/>
|
||||
<instruction instr-id='278'/>
|
||||
<instruction instr-id='308'/>
|
||||
<instruction instr-id='337'/>
|
||||
<instruction instr-id='337' subinstr-id='2'/>
|
||||
<instruction instr-id='337' subinstr-id='4'/>
|
||||
<instruction instr-id='337' subinstr-id='6'/>
|
||||
<instruction instr-id='337' subinstr-id='8'/>
|
||||
<instruction instr-id='415'/>
|
||||
<instruction instr-id='444'/>
|
||||
<instruction instr-id='444' subinstr-id='2'/>
|
||||
<instruction instr-id='444' subinstr-id='4'/>
|
||||
<instruction instr-id='471'/>
|
||||
<instruction instr-id='471' subinstr-id='2'/>
|
||||
<instruction instr-id='471' subinstr-id='4'/>
|
||||
<instruction instr-id='498'/>
|
||||
<instruction instr-id='498' subinstr-id='2'/>
|
||||
<instruction instr-id='498' subinstr-id='4'/>
|
||||
<instruction instr-id='525'/>
|
||||
<instruction instr-id='525' subinstr-id='2'/>
|
||||
<instruction instr-id='525' subinstr-id='4'/>
|
||||
<instruction instr-id='552'/>
|
||||
<instruction instr-id='552' subinstr-id='2'/>
|
||||
<instruction instr-id='552' subinstr-id='4'/>
|
||||
<instruction instr-id='552' subinstr-id='6'/>
|
||||
<instruction instr-id='624'/>
|
||||
<instruction instr-id='653'/>
|
||||
<instruction instr-id='653' subinstr-id='2'/>
|
||||
<instruction instr-id='653' subinstr-id='4'/>
|
||||
<instruction instr-id='680'/>
|
||||
<instruction instr-id='680' subinstr-id='2'/>
|
||||
<instruction instr-id='680' subinstr-id='4'/>
|
||||
<instruction instr-id='707'/>
|
||||
<instruction instr-id='707' subinstr-id='2'/>
|
||||
<instruction instr-id='707' subinstr-id='4'/>
|
||||
<instruction instr-id='734'/>
|
||||
<instruction instr-id='734' subinstr-id='2'/>
|
||||
<instruction instr-id='734' subinstr-id='4'/>
|
||||
<instruction instr-id='761'/>
|
||||
<instruction instr-id='761' subinstr-id='2'/>
|
||||
<instruction instr-id='761' subinstr-id='4'/>
|
||||
<instruction instr-id='761' subinstr-id='6'/>
|
||||
<instruction instr-id='833'/>
|
||||
<instruction instr-id='862'/>
|
||||
<instruction instr-id='862' subinstr-id='2'/>
|
||||
<instruction instr-id='862' subinstr-id='4'/>
|
||||
<instruction instr-id='889'/>
|
||||
<instruction instr-id='889' subinstr-id='2'/>
|
||||
<instruction instr-id='889' subinstr-id='4'/>
|
||||
<instruction instr-id='916'/>
|
||||
<instruction instr-id='916' subinstr-id='2'/>
|
||||
<instruction instr-id='916' subinstr-id='4'/>
|
||||
<instruction instr-id='943'/>
|
||||
<instruction instr-id='943' subinstr-id='2'/>
|
||||
<instruction instr-id='943' subinstr-id='4'/>
|
||||
<instruction instr-id='943' subinstr-id='6'/>
|
||||
<instruction instr-id='970'/>
|
||||
<instruction instr-id='970' subinstr-id='2'/>
|
||||
<instruction instr-id='970' subinstr-id='4'/>
|
||||
<instruction instr-id='970' subinstr-id='6'/>
|
||||
<instruction instr-id='1042'/>
|
||||
<instruction instr-id='1071'/>
|
||||
<instruction instr-id='1071' subinstr-id='2'/>
|
||||
<instruction instr-id='1071' subinstr-id='4'/>
|
||||
<instruction instr-id='1071' subinstr-id='6'/>
|
||||
<instruction instr-id='1098'/>
|
||||
<instruction instr-id='1098' subinstr-id='2'/>
|
||||
<instruction instr-id='1098' subinstr-id='4'/>
|
||||
<instruction instr-id='1098' subinstr-id='6'/>
|
||||
<instruction instr-id='1125'/>
|
||||
<instruction instr-id='1125' subinstr-id='2'/>
|
||||
<instruction instr-id='1125' subinstr-id='4'/>
|
||||
<instruction instr-id='1125' subinstr-id='6'/>
|
||||
<instruction instr-id='1152'/>
|
||||
<instruction instr-id='1152' subinstr-id='2'/>
|
||||
<instruction instr-id='1152' subinstr-id='4'/>
|
||||
<instruction instr-id='1152' subinstr-id='6'/>
|
||||
<instruction instr-id='1179'/>
|
||||
<instruction instr-id='1179' subinstr-id='2'/>
|
||||
<instruction instr-id='1179' subinstr-id='4'/>
|
||||
<instruction instr-id='1179' subinstr-id='6'/>
|
||||
<instruction instr-id='1251'/>
|
||||
<instruction instr-id='1280'/>
|
||||
<instruction instr-id='1280' subinstr-id='2'/>
|
||||
<instruction instr-id='1280' subinstr-id='4'/>
|
||||
<instruction instr-id='1280' subinstr-id='6'/>
|
||||
<instruction instr-id='1308'/>
|
||||
<instruction instr-id='1369'/>
|
||||
<instruction instr-id='1369' subinstr-id='2'/>
|
||||
<instruction instr-id='1369' subinstr-id='4'/>
|
||||
<instruction instr-id='1369' subinstr-id='6'/>
|
||||
<bounding-box x1='124' y1='499' x2='507' y2='630'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-002-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="200" x2="215" y1="619" y2="630"/>
|
||||
<content>Q1</content>
|
||||
<instruction instr-id="218" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="272" x2="287" y1="619" y2="630"/>
|
||||
<content>Q2</content>
|
||||
<instruction instr-id="248" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="0">
|
||||
<bounding-box x1="343" x2="358" y1="619" y2="630"/>
|
||||
<content>Q3</content>
|
||||
<instruction instr-id="278" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="0">
|
||||
<bounding-box x1="415" x2="429" y1="619" y2="630"/>
|
||||
<content>Q4</content>
|
||||
<instruction instr-id="308" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="0">
|
||||
<bounding-box x1="482" x2="505" y1="619" y2="630"/>
|
||||
<content>Total</content>
|
||||
<instruction instr-id="337" subinstr-id="0"/>
|
||||
<instruction instr-id="337" subinstr-id="2"/>
|
||||
<instruction instr-id="337" subinstr-id="4"/>
|
||||
<instruction instr-id="337" subinstr-id="6"/>
|
||||
<instruction instr-id="337" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="124" x2="149" y1="595" y2="606"/>
|
||||
<content>2004</content>
|
||||
<instruction instr-id="415" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="197" x2="218" y1="595" y2="606"/>
|
||||
<content>34.7</content>
|
||||
<instruction instr-id="444" subinstr-id="0"/>
|
||||
<instruction instr-id="444" subinstr-id="2"/>
|
||||
<instruction instr-id="444" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="269" x2="290" y1="595" y2="606"/>
|
||||
<content>36.2</content>
|
||||
<instruction instr-id="471" subinstr-id="0"/>
|
||||
<instruction instr-id="471" subinstr-id="2"/>
|
||||
<instruction instr-id="471" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="1">
|
||||
<bounding-box x1="340" x2="361" y1="595" y2="606"/>
|
||||
<content>44.5</content>
|
||||
<instruction instr-id="498" subinstr-id="0"/>
|
||||
<instruction instr-id="498" subinstr-id="2"/>
|
||||
<instruction instr-id="498" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="1">
|
||||
<bounding-box x1="412" x2="432" y1="595" y2="606"/>
|
||||
<content>51.3</content>
|
||||
<instruction instr-id="525" subinstr-id="0"/>
|
||||
<instruction instr-id="525" subinstr-id="2"/>
|
||||
<instruction instr-id="525" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="1">
|
||||
<bounding-box x1="480" x2="507" y1="595" y2="606"/>
|
||||
<content>166.7</content>
|
||||
<instruction instr-id="552" subinstr-id="0"/>
|
||||
<instruction instr-id="552" subinstr-id="2"/>
|
||||
<instruction instr-id="552" subinstr-id="4"/>
|
||||
<instruction instr-id="552" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="124" x2="149" y1="571" y2="582"/>
|
||||
<content>2005</content>
|
||||
<instruction instr-id="624" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="197" x2="218" y1="571" y2="582"/>
|
||||
<content>58.1</content>
|
||||
<instruction instr-id="653" subinstr-id="0"/>
|
||||
<instruction instr-id="653" subinstr-id="2"/>
|
||||
<instruction instr-id="653" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="269" x2="290" y1="571" y2="582"/>
|
||||
<content>63.4</content>
|
||||
<instruction instr-id="680" subinstr-id="0"/>
|
||||
<instruction instr-id="680" subinstr-id="2"/>
|
||||
<instruction instr-id="680" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="340" x2="361" y1="571" y2="582"/>
|
||||
<content>61.6</content>
|
||||
<instruction instr-id="707" subinstr-id="0"/>
|
||||
<instruction instr-id="707" subinstr-id="2"/>
|
||||
<instruction instr-id="707" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="2">
|
||||
<bounding-box x1="412" x2="432" y1="571" y2="582"/>
|
||||
<content>55.2</content>
|
||||
<instruction instr-id="734" subinstr-id="0"/>
|
||||
<instruction instr-id="734" subinstr-id="2"/>
|
||||
<instruction instr-id="734" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="2">
|
||||
<bounding-box x1="480" x2="507" y1="571" y2="582"/>
|
||||
<content>238.4</content>
|
||||
<instruction instr-id="761" subinstr-id="0"/>
|
||||
<instruction instr-id="761" subinstr-id="2"/>
|
||||
<instruction instr-id="761" subinstr-id="4"/>
|
||||
<instruction instr-id="761" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="124" x2="149" y1="547" y2="558"/>
|
||||
<content>2006</content>
|
||||
<instruction instr-id="833" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="197" x2="218" y1="547" y2="558"/>
|
||||
<content>74.7</content>
|
||||
<instruction instr-id="862" subinstr-id="0"/>
|
||||
<instruction instr-id="862" subinstr-id="2"/>
|
||||
<instruction instr-id="862" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="269" x2="290" y1="547" y2="558"/>
|
||||
<content>84.1</content>
|
||||
<instruction instr-id="889" subinstr-id="0"/>
|
||||
<instruction instr-id="889" subinstr-id="2"/>
|
||||
<instruction instr-id="889" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="340" x2="361" y1="547" y2="558"/>
|
||||
<content>96.5</content>
|
||||
<instruction instr-id="916" subinstr-id="0"/>
|
||||
<instruction instr-id="916" subinstr-id="2"/>
|
||||
<instruction instr-id="916" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="3">
|
||||
<bounding-box x1="409" x2="436" y1="547" y2="558"/>
|
||||
<content>111.8</content>
|
||||
<instruction instr-id="943" subinstr-id="0"/>
|
||||
<instruction instr-id="943" subinstr-id="2"/>
|
||||
<instruction instr-id="943" subinstr-id="4"/>
|
||||
<instruction instr-id="943" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="3">
|
||||
<bounding-box x1="480" x2="507" y1="547" y2="558"/>
|
||||
<content>367.1</content>
|
||||
<instruction instr-id="970" subinstr-id="0"/>
|
||||
<instruction instr-id="970" subinstr-id="2"/>
|
||||
<instruction instr-id="970" subinstr-id="4"/>
|
||||
<instruction instr-id="970" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="124" x2="149" y1="523" y2="534"/>
|
||||
<content>2007</content>
|
||||
<instruction instr-id="1042" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="194" x2="221" y1="523" y2="534"/>
|
||||
<content>148.8</content>
|
||||
<instruction instr-id="1071" subinstr-id="0"/>
|
||||
<instruction instr-id="1071" subinstr-id="2"/>
|
||||
<instruction instr-id="1071" subinstr-id="4"/>
|
||||
<instruction instr-id="1071" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="266" x2="293" y1="523" y2="534"/>
|
||||
<content>142.3</content>
|
||||
<instruction instr-id="1098" subinstr-id="0"/>
|
||||
<instruction instr-id="1098" subinstr-id="2"/>
|
||||
<instruction instr-id="1098" subinstr-id="4"/>
|
||||
<instruction instr-id="1098" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="4">
|
||||
<bounding-box x1="337" x2="364" y1="523" y2="534"/>
|
||||
<content>156.7</content>
|
||||
<instruction instr-id="1125" subinstr-id="0"/>
|
||||
<instruction instr-id="1125" subinstr-id="2"/>
|
||||
<instruction instr-id="1125" subinstr-id="4"/>
|
||||
<instruction instr-id="1125" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="4">
|
||||
<bounding-box x1="409" x2="436" y1="523" y2="534"/>
|
||||
<content>186.1</content>
|
||||
<instruction instr-id="1152" subinstr-id="0"/>
|
||||
<instruction instr-id="1152" subinstr-id="2"/>
|
||||
<instruction instr-id="1152" subinstr-id="4"/>
|
||||
<instruction instr-id="1152" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="4">
|
||||
<bounding-box x1="480" x2="507" y1="523" y2="534"/>
|
||||
<content>633.9</content>
|
||||
<instruction instr-id="1179" subinstr-id="0"/>
|
||||
<instruction instr-id="1179" subinstr-id="2"/>
|
||||
<instruction instr-id="1179" subinstr-id="4"/>
|
||||
<instruction instr-id="1179" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="124" x2="149" y1="499" y2="510"/>
|
||||
<content>2008</content>
|
||||
<instruction instr-id="1251" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="194" x2="221" y1="499" y2="510"/>
|
||||
<content>120.9</content>
|
||||
<instruction instr-id="1280" subinstr-id="0"/>
|
||||
<instruction instr-id="1280" subinstr-id="2"/>
|
||||
<instruction instr-id="1280" subinstr-id="4"/>
|
||||
<instruction instr-id="1280" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="270" x2="288" y1="499" y2="510"/>
|
||||
<content>106</content>
|
||||
<instruction instr-id="1308" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="5">
|
||||
<bounding-box x1="480" x2="507" y1="499" y2="510"/>
|
||||
<content>226.8</content>
|
||||
<instruction instr-id="1369" subinstr-id="0"/>
|
||||
<instruction instr-id="1369" subinstr-id="2"/>
|
||||
<instruction instr-id="1369" subinstr-id="4"/>
|
||||
<instruction instr-id="1369" subinstr-id="6"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":1,"numCorrectlyDetectedTables":1,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,253 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-003-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='92' subinstr-id='2'/>
|
||||
<instruction instr-id='100'/>
|
||||
<instruction instr-id='100' subinstr-id='2'/>
|
||||
<instruction instr-id='100' subinstr-id='4'/>
|
||||
<instruction instr-id='100' subinstr-id='6'/>
|
||||
<instruction instr-id='100' subinstr-id='8'/>
|
||||
<instruction instr-id='100' subinstr-id='10'/>
|
||||
<instruction instr-id='100' subinstr-id='12'/>
|
||||
<instruction instr-id='100' subinstr-id='14'/>
|
||||
<instruction instr-id='100' subinstr-id='16'/>
|
||||
<instruction instr-id='100' subinstr-id='18'/>
|
||||
<instruction instr-id='106'/>
|
||||
<instruction instr-id='127'/>
|
||||
<instruction instr-id='127' subinstr-id='2'/>
|
||||
<instruction instr-id='127' subinstr-id='4'/>
|
||||
<instruction instr-id='127' subinstr-id='6'/>
|
||||
<instruction instr-id='127' subinstr-id='8'/>
|
||||
<instruction instr-id='127' subinstr-id='10'/>
|
||||
<instruction instr-id='127' subinstr-id='12'/>
|
||||
<instruction instr-id='127' subinstr-id='14'/>
|
||||
<instruction instr-id='133'/>
|
||||
<instruction instr-id='133' subinstr-id='2'/>
|
||||
<instruction instr-id='133' subinstr-id='4'/>
|
||||
<instruction instr-id='137'/>
|
||||
<instruction instr-id='154'/>
|
||||
<instruction instr-id='154' subinstr-id='2'/>
|
||||
<instruction instr-id='154' subinstr-id='4'/>
|
||||
<instruction instr-id='154' subinstr-id='6'/>
|
||||
<instruction instr-id='154' subinstr-id='8'/>
|
||||
<instruction instr-id='154' subinstr-id='10'/>
|
||||
<instruction instr-id='154' subinstr-id='12'/>
|
||||
<instruction instr-id='154' subinstr-id='14'/>
|
||||
<instruction instr-id='160'/>
|
||||
<instruction instr-id='160' subinstr-id='4'/>
|
||||
<instruction instr-id='160' subinstr-id='6'/>
|
||||
<instruction instr-id='160' subinstr-id='8'/>
|
||||
<instruction instr-id='160' subinstr-id='10'/>
|
||||
<instruction instr-id='160' subinstr-id='14'/>
|
||||
<instruction instr-id='160' subinstr-id='16'/>
|
||||
<instruction instr-id='160' subinstr-id='20'/>
|
||||
<instruction instr-id='166'/>
|
||||
<instruction instr-id='171'/>
|
||||
<instruction instr-id='175'/>
|
||||
<bounding-box x1='92' y1='564' x2='519' y2='651'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='2'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='222'/>
|
||||
<instruction instr-id='222' subinstr-id='2'/>
|
||||
<instruction instr-id='222' subinstr-id='6'/>
|
||||
<instruction instr-id='226'/>
|
||||
<instruction instr-id='226' subinstr-id='2'/>
|
||||
<instruction instr-id='232'/>
|
||||
<instruction instr-id='232' subinstr-id='2'/>
|
||||
<instruction instr-id='236'/>
|
||||
<instruction instr-id='236' subinstr-id='2'/>
|
||||
<instruction instr-id='236' subinstr-id='4'/>
|
||||
<instruction instr-id='242'/>
|
||||
<instruction instr-id='242' subinstr-id='2'/>
|
||||
<instruction instr-id='242' subinstr-id='4'/>
|
||||
<instruction instr-id='247'/>
|
||||
<instruction instr-id='251'/>
|
||||
<instruction instr-id='251' subinstr-id='2'/>
|
||||
<instruction instr-id='251' subinstr-id='4'/>
|
||||
<instruction instr-id='257'/>
|
||||
<instruction instr-id='263'/>
|
||||
<instruction instr-id='263' subinstr-id='2'/>
|
||||
<instruction instr-id='268'/>
|
||||
<instruction instr-id='268' subinstr-id='2'/>
|
||||
<instruction instr-id='268' subinstr-id='4'/>
|
||||
<instruction instr-id='268' subinstr-id='6'/>
|
||||
<instruction instr-id='268' subinstr-id='8'/>
|
||||
<instruction instr-id='274'/>
|
||||
<instruction instr-id='278'/>
|
||||
<instruction instr-id='278' subinstr-id='4'/>
|
||||
<instruction instr-id='278' subinstr-id='6'/>
|
||||
<instruction instr-id='278' subinstr-id='8'/>
|
||||
<instruction instr-id='283'/>
|
||||
<instruction instr-id='283' subinstr-id='2'/>
|
||||
<instruction instr-id='283' subinstr-id='4'/>
|
||||
<instruction instr-id='288'/>
|
||||
<instruction instr-id='288' subinstr-id='2'/>
|
||||
<instruction instr-id='288' subinstr-id='4'/>
|
||||
<instruction instr-id='320'/>
|
||||
<instruction instr-id='320' subinstr-id='2'/>
|
||||
<instruction instr-id='320' subinstr-id='4'/>
|
||||
<instruction instr-id='320' subinstr-id='6'/>
|
||||
<instruction instr-id='320' subinstr-id='8'/>
|
||||
<instruction instr-id='320' subinstr-id='10'/>
|
||||
<instruction instr-id='320' subinstr-id='12'/>
|
||||
<instruction instr-id='348'/>
|
||||
<instruction instr-id='348' subinstr-id='2'/>
|
||||
<instruction instr-id='348' subinstr-id='4'/>
|
||||
<instruction instr-id='348' subinstr-id='6'/>
|
||||
<instruction instr-id='348' subinstr-id='8'/>
|
||||
<instruction instr-id='348' subinstr-id='10'/>
|
||||
<instruction instr-id='348' subinstr-id='12'/>
|
||||
<instruction instr-id='376'/>
|
||||
<instruction instr-id='376' subinstr-id='2'/>
|
||||
<instruction instr-id='376' subinstr-id='4'/>
|
||||
<instruction instr-id='376' subinstr-id='6'/>
|
||||
<instruction instr-id='376' subinstr-id='8'/>
|
||||
<instruction instr-id='376' subinstr-id='10'/>
|
||||
<instruction instr-id='376' subinstr-id='12'/>
|
||||
<instruction instr-id='404'/>
|
||||
<instruction instr-id='404' subinstr-id='2'/>
|
||||
<instruction instr-id='404' subinstr-id='4'/>
|
||||
<instruction instr-id='404' subinstr-id='6'/>
|
||||
<instruction instr-id='404' subinstr-id='8'/>
|
||||
<instruction instr-id='404' subinstr-id='10'/>
|
||||
<instruction instr-id='404' subinstr-id='12'/>
|
||||
<instruction instr-id='430'/>
|
||||
<instruction instr-id='430' subinstr-id='2'/>
|
||||
<instruction instr-id='430' subinstr-id='4'/>
|
||||
<instruction instr-id='430' subinstr-id='6'/>
|
||||
<instruction instr-id='430' subinstr-id='8'/>
|
||||
<instruction instr-id='430' subinstr-id='10'/>
|
||||
<instruction instr-id='430' subinstr-id='12'/>
|
||||
<instruction instr-id='457'/>
|
||||
<instruction instr-id='457' subinstr-id='4'/>
|
||||
<bounding-box x1='92' y1='407' x2='519' y2='529'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='3'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='519'/>
|
||||
<instruction instr-id='519' subinstr-id='2'/>
|
||||
<instruction instr-id='519' subinstr-id='4'/>
|
||||
<instruction instr-id='519' subinstr-id='6'/>
|
||||
<instruction instr-id='523'/>
|
||||
<instruction instr-id='523' subinstr-id='2'/>
|
||||
<instruction instr-id='529'/>
|
||||
<instruction instr-id='529' subinstr-id='2'/>
|
||||
<instruction instr-id='529' subinstr-id='4'/>
|
||||
<instruction instr-id='529' subinstr-id='6'/>
|
||||
<instruction instr-id='529' subinstr-id='8'/>
|
||||
<instruction instr-id='534'/>
|
||||
<instruction instr-id='534' subinstr-id='2'/>
|
||||
<instruction instr-id='534' subinstr-id='4'/>
|
||||
<instruction instr-id='539'/>
|
||||
<instruction instr-id='545'/>
|
||||
<instruction instr-id='553'/>
|
||||
<instruction instr-id='553' subinstr-id='2'/>
|
||||
<instruction instr-id='558'/>
|
||||
<instruction instr-id='558' subinstr-id='2'/>
|
||||
<instruction instr-id='558' subinstr-id='4'/>
|
||||
<instruction instr-id='563'/>
|
||||
<instruction instr-id='563' subinstr-id='2'/>
|
||||
<instruction instr-id='568'/>
|
||||
<instruction instr-id='573'/>
|
||||
<instruction instr-id='573' subinstr-id='2'/>
|
||||
<instruction instr-id='573' subinstr-id='4'/>
|
||||
<instruction instr-id='573' subinstr-id='6'/>
|
||||
<instruction instr-id='573' subinstr-id='8'/>
|
||||
<instruction instr-id='580'/>
|
||||
<instruction instr-id='585'/>
|
||||
<instruction instr-id='585' subinstr-id='2'/>
|
||||
<instruction instr-id='585' subinstr-id='4'/>
|
||||
<instruction instr-id='585' subinstr-id='6'/>
|
||||
<instruction instr-id='585' subinstr-id='8'/>
|
||||
<instruction instr-id='585' subinstr-id='12'/>
|
||||
<instruction instr-id='585' subinstr-id='14'/>
|
||||
<instruction instr-id='585' subinstr-id='16'/>
|
||||
<instruction instr-id='585' subinstr-id='18'/>
|
||||
<instruction instr-id='590'/>
|
||||
<instruction instr-id='590' subinstr-id='2'/>
|
||||
<instruction instr-id='595'/>
|
||||
<instruction instr-id='595' subinstr-id='2'/>
|
||||
<instruction instr-id='595' subinstr-id='4'/>
|
||||
<instruction instr-id='600'/>
|
||||
<instruction instr-id='600' subinstr-id='2'/>
|
||||
<instruction instr-id='600' subinstr-id='4'/>
|
||||
<instruction instr-id='606'/>
|
||||
<instruction instr-id='614'/>
|
||||
<instruction instr-id='614' subinstr-id='2'/>
|
||||
<instruction instr-id='614' subinstr-id='4'/>
|
||||
<instruction instr-id='614' subinstr-id='6'/>
|
||||
<instruction instr-id='619'/>
|
||||
<instruction instr-id='619' subinstr-id='2'/>
|
||||
<instruction instr-id='624'/>
|
||||
<instruction instr-id='624' subinstr-id='2'/>
|
||||
<instruction instr-id='624' subinstr-id='4'/>
|
||||
<instruction instr-id='624' subinstr-id='6'/>
|
||||
<instruction instr-id='624' subinstr-id='8'/>
|
||||
<instruction instr-id='629'/>
|
||||
<instruction instr-id='634'/>
|
||||
<instruction instr-id='639'/>
|
||||
<instruction instr-id='639' subinstr-id='2'/>
|
||||
<instruction instr-id='646'/>
|
||||
<instruction instr-id='646' subinstr-id='2'/>
|
||||
<instruction instr-id='646' subinstr-id='4'/>
|
||||
<instruction instr-id='646' subinstr-id='6'/>
|
||||
<instruction instr-id='673'/>
|
||||
<instruction instr-id='673' subinstr-id='2'/>
|
||||
<instruction instr-id='673' subinstr-id='4'/>
|
||||
<instruction instr-id='679'/>
|
||||
<instruction instr-id='683'/>
|
||||
<instruction instr-id='689'/>
|
||||
<instruction instr-id='695'/>
|
||||
<instruction instr-id='695' subinstr-id='2'/>
|
||||
<instruction instr-id='695' subinstr-id='4'/>
|
||||
<instruction instr-id='695' subinstr-id='6'/>
|
||||
<instruction instr-id='701'/>
|
||||
<instruction instr-id='705'/>
|
||||
<instruction instr-id='705' subinstr-id='2'/>
|
||||
<instruction instr-id='728'/>
|
||||
<instruction instr-id='728' subinstr-id='2'/>
|
||||
<instruction instr-id='728' subinstr-id='4'/>
|
||||
<instruction instr-id='728' subinstr-id='6'/>
|
||||
<instruction instr-id='734'/>
|
||||
<instruction instr-id='740'/>
|
||||
<instruction instr-id='746'/>
|
||||
<instruction instr-id='746' subinstr-id='2'/>
|
||||
<instruction instr-id='752'/>
|
||||
<instruction instr-id='752' subinstr-id='2'/>
|
||||
<instruction instr-id='752' subinstr-id='4'/>
|
||||
<instruction instr-id='758'/>
|
||||
<instruction instr-id='758' subinstr-id='2'/>
|
||||
<instruction instr-id='758' subinstr-id='4'/>
|
||||
<instruction instr-id='758' subinstr-id='6'/>
|
||||
<instruction instr-id='758' subinstr-id='8'/>
|
||||
<instruction instr-id='764'/>
|
||||
<instruction instr-id='764' subinstr-id='2'/>
|
||||
<instruction instr-id='764' subinstr-id='4'/>
|
||||
<instruction instr-id='764' subinstr-id='6'/>
|
||||
<instruction instr-id='768'/>
|
||||
<instruction instr-id='768' subinstr-id='2'/>
|
||||
<instruction instr-id='791'/>
|
||||
<instruction instr-id='791' subinstr-id='2'/>
|
||||
<instruction instr-id='791' subinstr-id='4'/>
|
||||
<instruction instr-id='797'/>
|
||||
<instruction instr-id='801'/>
|
||||
<instruction instr-id='807'/>
|
||||
<instruction instr-id='807' subinstr-id='2'/>
|
||||
<instruction instr-id='813'/>
|
||||
<instruction instr-id='813' subinstr-id='2'/>
|
||||
<instruction instr-id='818'/>
|
||||
<instruction instr-id='818' subinstr-id='2'/>
|
||||
<instruction instr-id='823'/>
|
||||
<instruction instr-id='823' subinstr-id='2'/>
|
||||
<instruction instr-id='826'/>
|
||||
<instruction instr-id='834'/>
|
||||
<instruction instr-id='834' subinstr-id='2'/>
|
||||
<bounding-box x1='92' y1='77' x2='489' y2='373'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,565 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-003-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="238" x2="337" y1="641" y2="651"/>
|
||||
<content>All companies analysed</content>
|
||||
<instruction instr-id="92" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="383" x2="519" y1="630" y2="651"/>
|
||||
<content>FTSE Eurotop 100 companies
|
||||
analysed</content>
|
||||
<instruction instr-id="100" subinstr-id="0"/>
|
||||
<instruction instr-id="100" subinstr-id="2"/>
|
||||
<instruction instr-id="100" subinstr-id="4"/>
|
||||
<instruction instr-id="100" subinstr-id="6"/>
|
||||
<instruction instr-id="100" subinstr-id="8"/>
|
||||
<instruction instr-id="100" subinstr-id="10"/>
|
||||
<instruction instr-id="100" subinstr-id="12"/>
|
||||
<instruction instr-id="100" subinstr-id="14"/>
|
||||
<instruction instr-id="100" subinstr-id="16"/>
|
||||
<instruction instr-id="100" subinstr-id="18"/>
|
||||
<instruction instr-id="106" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="92" x2="228" y1="608" y2="629"/>
|
||||
<content>Number of member states in
|
||||
the analysis</content>
|
||||
<instruction instr-id="127" subinstr-id="0"/>
|
||||
<instruction instr-id="127" subinstr-id="2"/>
|
||||
<instruction instr-id="127" subinstr-id="4"/>
|
||||
<instruction instr-id="127" subinstr-id="6"/>
|
||||
<instruction instr-id="127" subinstr-id="8"/>
|
||||
<instruction instr-id="127" subinstr-id="10"/>
|
||||
<instruction instr-id="127" subinstr-id="12"/>
|
||||
<instruction instr-id="127" subinstr-id="14"/>
|
||||
<instruction instr-id="133" subinstr-id="0"/>
|
||||
<instruction instr-id="133" subinstr-id="2"/>
|
||||
<instruction instr-id="133" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="238" x2="249" y1="619" y2="629"/>
|
||||
<content>21</content>
|
||||
<instruction instr-id="137" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="383" x2="389" y1="619" y2="629"/>
|
||||
<content>8</content>
|
||||
<instruction instr-id="137" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="92" x2="228" y1="564" y2="607"/>
|
||||
<content>Number of member states
|
||||
where one or more of the
|
||||
financial companies applied the
|
||||
amendment</content>
|
||||
<instruction instr-id="154" subinstr-id="0"/>
|
||||
<instruction instr-id="154" subinstr-id="2"/>
|
||||
<instruction instr-id="154" subinstr-id="4"/>
|
||||
<instruction instr-id="154" subinstr-id="6"/>
|
||||
<instruction instr-id="154" subinstr-id="8"/>
|
||||
<instruction instr-id="154" subinstr-id="10"/>
|
||||
<instruction instr-id="154" subinstr-id="12"/>
|
||||
<instruction instr-id="154" subinstr-id="14"/>
|
||||
<instruction instr-id="160" subinstr-id="0"/>
|
||||
<instruction instr-id="160" subinstr-id="4"/>
|
||||
<instruction instr-id="160" subinstr-id="6"/>
|
||||
<instruction instr-id="160" subinstr-id="8"/>
|
||||
<instruction instr-id="160" subinstr-id="10"/>
|
||||
<instruction instr-id="160" subinstr-id="14"/>
|
||||
<instruction instr-id="160" subinstr-id="16"/>
|
||||
<instruction instr-id="160" subinstr-id="20"/>
|
||||
<instruction instr-id="166" subinstr-id="-1"/>
|
||||
<instruction instr-id="171" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="238" x2="249" y1="596" y2="607"/>
|
||||
<content>11</content>
|
||||
<instruction instr-id="175" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="383" x2="389" y1="596" y2="607"/>
|
||||
<content>3</content>
|
||||
<instruction instr-id="175" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
<table id="2">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="209" x2="279" y1="497" y2="529"/>
|
||||
<content>Number of
|
||||
financial
|
||||
companies</content>
|
||||
<instruction instr-id="222" subinstr-id="0"/>
|
||||
<instruction instr-id="222" subinstr-id="2"/>
|
||||
<instruction instr-id="222" subinstr-id="6"/>
|
||||
<instruction instr-id="226" subinstr-id="0"/>
|
||||
<instruction instr-id="226" subinstr-id="2"/>
|
||||
<instruction instr-id="232" subinstr-id="0"/>
|
||||
<instruction instr-id="232" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="289" x2="359" y1="497" y2="529"/>
|
||||
<content>Pct of all
|
||||
companies
|
||||
analysed</content>
|
||||
<instruction instr-id="236" subinstr-id="0"/>
|
||||
<instruction instr-id="236" subinstr-id="2"/>
|
||||
<instruction instr-id="236" subinstr-id="4"/>
|
||||
<instruction instr-id="242" subinstr-id="0"/>
|
||||
<instruction instr-id="242" subinstr-id="2"/>
|
||||
<instruction instr-id="242" subinstr-id="4"/>
|
||||
<instruction instr-id="247" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="0">
|
||||
<bounding-box x1="369" x2="439" y1="475" y2="529"/>
|
||||
<content>Number of
|
||||
financial
|
||||
companies on
|
||||
FTSE Eurotop
|
||||
100</content>
|
||||
<instruction instr-id="251" subinstr-id="0"/>
|
||||
<instruction instr-id="251" subinstr-id="2"/>
|
||||
<instruction instr-id="251" subinstr-id="4"/>
|
||||
<instruction instr-id="257" subinstr-id="-1"/>
|
||||
<instruction instr-id="263" subinstr-id="0"/>
|
||||
<instruction instr-id="263" subinstr-id="2"/>
|
||||
<instruction instr-id="268" subinstr-id="0"/>
|
||||
<instruction instr-id="268" subinstr-id="2"/>
|
||||
<instruction instr-id="268" subinstr-id="4"/>
|
||||
<instruction instr-id="268" subinstr-id="6"/>
|
||||
<instruction instr-id="268" subinstr-id="8"/>
|
||||
<instruction instr-id="274" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="0">
|
||||
<bounding-box x1="449" x2="519" y1="497" y2="529"/>
|
||||
<content>Pct of FTSE
|
||||
Eurotop 100
|
||||
companies</content>
|
||||
<instruction instr-id="278" subinstr-id="0"/>
|
||||
<instruction instr-id="278" subinstr-id="4"/>
|
||||
<instruction instr-id="278" subinstr-id="6"/>
|
||||
<instruction instr-id="278" subinstr-id="8"/>
|
||||
<instruction instr-id="283" subinstr-id="0"/>
|
||||
<instruction instr-id="283" subinstr-id="2"/>
|
||||
<instruction instr-id="283" subinstr-id="4"/>
|
||||
<instruction instr-id="288" subinstr-id="0"/>
|
||||
<instruction instr-id="288" subinstr-id="2"/>
|
||||
<instruction instr-id="288" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="92" x2="168" y1="464" y2="474"/>
|
||||
<content>0 reclassifications</content>
|
||||
<instruction instr-id="320" subinstr-id="0"/>
|
||||
<instruction instr-id="320" subinstr-id="2"/>
|
||||
<instruction instr-id="320" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="209" x2="220" y1="464" y2="474"/>
|
||||
<content>52</content>
|
||||
<instruction instr-id="320" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="289" x2="308" y1="464" y2="474"/>
|
||||
<content>52%</content>
|
||||
<instruction instr-id="320" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="1">
|
||||
<bounding-box x1="369" x2="380" y1="464" y2="474"/>
|
||||
<content>14</content>
|
||||
<instruction instr-id="320" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="1">
|
||||
<bounding-box x1="449" x2="468" y1="464" y2="474"/>
|
||||
<content>64%</content>
|
||||
<instruction instr-id="320" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="92" x2="164" y1="452" y2="463"/>
|
||||
<content>1 reclassification</content>
|
||||
<instruction instr-id="348" subinstr-id="0"/>
|
||||
<instruction instr-id="348" subinstr-id="2"/>
|
||||
<instruction instr-id="348" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="209" x2="220" y1="452" y2="463"/>
|
||||
<content>28</content>
|
||||
<instruction instr-id="348" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="289" x2="308" y1="452" y2="463"/>
|
||||
<content>28%</content>
|
||||
<instruction instr-id="348" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="369" x2="375" y1="452" y2="463"/>
|
||||
<content>4</content>
|
||||
<instruction instr-id="348" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="2">
|
||||
<bounding-box x1="449" x2="468" y1="452" y2="463"/>
|
||||
<content>18%</content>
|
||||
<instruction instr-id="348" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="92" x2="168" y1="441" y2="451"/>
|
||||
<content>2 reclassifications</content>
|
||||
<instruction instr-id="376" subinstr-id="0"/>
|
||||
<instruction instr-id="376" subinstr-id="2"/>
|
||||
<instruction instr-id="376" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="209" x2="220" y1="441" y2="451"/>
|
||||
<content>11</content>
|
||||
<instruction instr-id="376" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="289" x2="308" y1="441" y2="451"/>
|
||||
<content>11%</content>
|
||||
<instruction instr-id="376" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="369" x2="375" y1="441" y2="451"/>
|
||||
<content>2</content>
|
||||
<instruction instr-id="376" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="3">
|
||||
<bounding-box x1="449" x2="462" y1="441" y2="451"/>
|
||||
<content>9%</content>
|
||||
<instruction instr-id="376" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="92" x2="168" y1="430" y2="440"/>
|
||||
<content>3 reclassifications</content>
|
||||
<instruction instr-id="404" subinstr-id="0"/>
|
||||
<instruction instr-id="404" subinstr-id="2"/>
|
||||
<instruction instr-id="404" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="209" x2="215" y1="430" y2="440"/>
|
||||
<content>8</content>
|
||||
<instruction instr-id="404" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="289" x2="302" y1="430" y2="440"/>
|
||||
<content>8%</content>
|
||||
<instruction instr-id="404" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="4">
|
||||
<bounding-box x1="369" x2="375" y1="430" y2="440"/>
|
||||
<content>2</content>
|
||||
<instruction instr-id="404" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="4">
|
||||
<bounding-box x1="449" x2="462" y1="430" y2="440"/>
|
||||
<content>9%</content>
|
||||
<instruction instr-id="404" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="92" x2="168" y1="418" y2="429"/>
|
||||
<content>4 reclassifications</content>
|
||||
<instruction instr-id="430" subinstr-id="0"/>
|
||||
<instruction instr-id="430" subinstr-id="2"/>
|
||||
<instruction instr-id="430" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="209" x2="215" y1="418" y2="429"/>
|
||||
<content>1</content>
|
||||
<instruction instr-id="430" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="289" x2="302" y1="418" y2="429"/>
|
||||
<content>1%</content>
|
||||
<instruction instr-id="430" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="5">
|
||||
<bounding-box x1="369" x2="375" y1="418" y2="429"/>
|
||||
<content>0</content>
|
||||
<instruction instr-id="430" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="5">
|
||||
<bounding-box x1="449" x2="462" y1="418" y2="429"/>
|
||||
<content>0%</content>
|
||||
<instruction instr-id="430" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="6">
|
||||
<bounding-box x1="92" x2="113" y1="407" y2="417"/>
|
||||
<content>Total</content>
|
||||
<instruction instr-id="457" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="6">
|
||||
<bounding-box x1="209" x2="226" y1="407" y2="417"/>
|
||||
<content>100</content>
|
||||
<instruction instr-id="457" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="6">
|
||||
<bounding-box x1="369" x2="380" y1="407" y2="417"/>
|
||||
<content>22</content>
|
||||
<instruction instr-id="457" subinstr-id="4"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
<table id="3">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="164" x2="229" y1="308" y2="373"/>
|
||||
<content>Reclassification
|
||||
from Fair value
|
||||
through profit
|
||||
and loss to
|
||||
loans and
|
||||
receivables</content>
|
||||
<instruction instr-id="519" subinstr-id="0"/>
|
||||
<instruction instr-id="519" subinstr-id="2"/>
|
||||
<instruction instr-id="519" subinstr-id="4"/>
|
||||
<instruction instr-id="519" subinstr-id="6"/>
|
||||
<instruction instr-id="523" subinstr-id="0"/>
|
||||
<instruction instr-id="523" subinstr-id="2"/>
|
||||
<instruction instr-id="529" subinstr-id="0"/>
|
||||
<instruction instr-id="529" subinstr-id="2"/>
|
||||
<instruction instr-id="529" subinstr-id="4"/>
|
||||
<instruction instr-id="529" subinstr-id="6"/>
|
||||
<instruction instr-id="529" subinstr-id="8"/>
|
||||
<instruction instr-id="534" subinstr-id="0"/>
|
||||
<instruction instr-id="534" subinstr-id="2"/>
|
||||
<instruction instr-id="534" subinstr-id="4"/>
|
||||
<instruction instr-id="539" subinstr-id="-1"/>
|
||||
<instruction instr-id="545" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="239" x2="304" y1="319" y2="373"/>
|
||||
<content>Reclassification
|
||||
from Available
|
||||
for Sale to
|
||||
loans and
|
||||
receivables</content>
|
||||
<instruction instr-id="553" subinstr-id="0"/>
|
||||
<instruction instr-id="553" subinstr-id="2"/>
|
||||
<instruction instr-id="558" subinstr-id="0"/>
|
||||
<instruction instr-id="558" subinstr-id="2"/>
|
||||
<instruction instr-id="558" subinstr-id="4"/>
|
||||
<instruction instr-id="563" subinstr-id="0"/>
|
||||
<instruction instr-id="563" subinstr-id="2"/>
|
||||
<instruction instr-id="568" subinstr-id="-1"/>
|
||||
<instruction instr-id="573" subinstr-id="0"/>
|
||||
<instruction instr-id="573" subinstr-id="2"/>
|
||||
<instruction instr-id="573" subinstr-id="4"/>
|
||||
<instruction instr-id="573" subinstr-id="6"/>
|
||||
<instruction instr-id="573" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="0">
|
||||
<bounding-box x1="314" x2="379" y1="308" y2="373"/>
|
||||
<content>Reclassification
|
||||
from Fair value
|
||||
through profit
|
||||
and loss to
|
||||
Available for
|
||||
sale</content>
|
||||
<instruction instr-id="580" subinstr-id="-1"/>
|
||||
<instruction instr-id="585" subinstr-id="0"/>
|
||||
<instruction instr-id="585" subinstr-id="2"/>
|
||||
<instruction instr-id="585" subinstr-id="4"/>
|
||||
<instruction instr-id="585" subinstr-id="6"/>
|
||||
<instruction instr-id="585" subinstr-id="8"/>
|
||||
<instruction instr-id="585" subinstr-id="12"/>
|
||||
<instruction instr-id="585" subinstr-id="14"/>
|
||||
<instruction instr-id="585" subinstr-id="16"/>
|
||||
<instruction instr-id="585" subinstr-id="18"/>
|
||||
<instruction instr-id="590" subinstr-id="0"/>
|
||||
<instruction instr-id="590" subinstr-id="2"/>
|
||||
<instruction instr-id="595" subinstr-id="0"/>
|
||||
<instruction instr-id="595" subinstr-id="2"/>
|
||||
<instruction instr-id="595" subinstr-id="4"/>
|
||||
<instruction instr-id="600" subinstr-id="0"/>
|
||||
<instruction instr-id="600" subinstr-id="2"/>
|
||||
<instruction instr-id="600" subinstr-id="4"/>
|
||||
<instruction instr-id="606" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="0">
|
||||
<bounding-box x1="389" x2="454" y1="308" y2="373"/>
|
||||
<content>Reclassification
|
||||
from Fair value
|
||||
through profit
|
||||
and loss to
|
||||
Held to
|
||||
Maturity</content>
|
||||
<instruction instr-id="614" subinstr-id="0"/>
|
||||
<instruction instr-id="614" subinstr-id="2"/>
|
||||
<instruction instr-id="614" subinstr-id="4"/>
|
||||
<instruction instr-id="614" subinstr-id="6"/>
|
||||
<instruction instr-id="619" subinstr-id="0"/>
|
||||
<instruction instr-id="619" subinstr-id="2"/>
|
||||
<instruction instr-id="624" subinstr-id="0"/>
|
||||
<instruction instr-id="624" subinstr-id="2"/>
|
||||
<instruction instr-id="624" subinstr-id="4"/>
|
||||
<instruction instr-id="624" subinstr-id="6"/>
|
||||
<instruction instr-id="624" subinstr-id="8"/>
|
||||
<instruction instr-id="629" subinstr-id="-1"/>
|
||||
<instruction instr-id="634" subinstr-id="0"/>
|
||||
<instruction instr-id="639" subinstr-id="0"/>
|
||||
<instruction instr-id="639" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="0">
|
||||
<bounding-box x1="464" x2="485" y1="362" y2="373"/>
|
||||
<content>Total</content>
|
||||
<instruction instr-id="646" subinstr-id="0"/>
|
||||
<instruction instr-id="646" subinstr-id="2"/>
|
||||
<instruction instr-id="646" subinstr-id="4"/>
|
||||
<instruction instr-id="646" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="92" x2="154" y1="231" y2="296"/>
|
||||
<content>Number of
|
||||
financial
|
||||
companies
|
||||
who applied
|
||||
the option for
|
||||
this category</content>
|
||||
<instruction instr-id="673" subinstr-id="0"/>
|
||||
<instruction instr-id="673" subinstr-id="2"/>
|
||||
<instruction instr-id="673" subinstr-id="4"/>
|
||||
<instruction instr-id="679" subinstr-id="-1"/>
|
||||
<instruction instr-id="683" subinstr-id="-1"/>
|
||||
<instruction instr-id="689" subinstr-id="0"/>
|
||||
<instruction instr-id="695" subinstr-id="0"/>
|
||||
<instruction instr-id="695" subinstr-id="2"/>
|
||||
<instruction instr-id="695" subinstr-id="4"/>
|
||||
<instruction instr-id="695" subinstr-id="6"/>
|
||||
<instruction instr-id="701" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="164" x2="175" y1="285" y2="296"/>
|
||||
<content>27</content>
|
||||
<instruction instr-id="705" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="239" x2="250" y1="285" y2="296"/>
|
||||
<content>16</content>
|
||||
<instruction instr-id="705" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="1">
|
||||
<bounding-box x1="314" x2="325" y1="285" y2="296"/>
|
||||
<content>23</content>
|
||||
<instruction instr-id="705" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="1">
|
||||
<bounding-box x1="389" x2="400" y1="285" y2="296"/>
|
||||
<content>15</content>
|
||||
<instruction instr-id="705" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="1">
|
||||
<bounding-box x1="464" x2="475" y1="285" y2="296"/>
|
||||
<content>81</content>
|
||||
<instruction instr-id="705" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="92" x2="154" y1="154" y2="230"/>
|
||||
<content>Percentage of
|
||||
all financial
|
||||
companies
|
||||
analysed who
|
||||
applied the
|
||||
option for this
|
||||
category</content>
|
||||
<instruction instr-id="728" subinstr-id="0"/>
|
||||
<instruction instr-id="728" subinstr-id="2"/>
|
||||
<instruction instr-id="728" subinstr-id="4"/>
|
||||
<instruction instr-id="728" subinstr-id="6"/>
|
||||
<instruction instr-id="734" subinstr-id="-1"/>
|
||||
<instruction instr-id="740" subinstr-id="-1"/>
|
||||
<instruction instr-id="746" subinstr-id="0"/>
|
||||
<instruction instr-id="746" subinstr-id="2"/>
|
||||
<instruction instr-id="752" subinstr-id="0"/>
|
||||
<instruction instr-id="752" subinstr-id="2"/>
|
||||
<instruction instr-id="752" subinstr-id="4"/>
|
||||
<instruction instr-id="758" subinstr-id="0"/>
|
||||
<instruction instr-id="758" subinstr-id="2"/>
|
||||
<instruction instr-id="758" subinstr-id="4"/>
|
||||
<instruction instr-id="758" subinstr-id="6"/>
|
||||
<instruction instr-id="758" subinstr-id="8"/>
|
||||
<instruction instr-id="764" subinstr-id="0"/>
|
||||
<instruction instr-id="764" subinstr-id="2"/>
|
||||
<instruction instr-id="764" subinstr-id="4"/>
|
||||
<instruction instr-id="764" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="164" x2="183" y1="219" y2="230"/>
|
||||
<content>33%</content>
|
||||
<instruction instr-id="768" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="239" x2="258" y1="219" y2="230"/>
|
||||
<content>20%</content>
|
||||
<instruction instr-id="768" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="314" x2="333" y1="219" y2="230"/>
|
||||
<content>28%</content>
|
||||
<instruction instr-id="768" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="2">
|
||||
<bounding-box x1="389" x2="408" y1="219" y2="230"/>
|
||||
<content>19%</content>
|
||||
<instruction instr-id="768" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="2">
|
||||
<bounding-box x1="464" x2="489" y1="219" y2="230"/>
|
||||
<content>100%</content>
|
||||
<instruction instr-id="768" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="92" x2="154" y1="77" y2="153"/>
|
||||
<content>Number of
|
||||
financial
|
||||
companies
|
||||
where the
|
||||
disclosure
|
||||
requirements
|
||||
were stricter</content>
|
||||
<instruction instr-id="791" subinstr-id="0"/>
|
||||
<instruction instr-id="791" subinstr-id="2"/>
|
||||
<instruction instr-id="791" subinstr-id="4"/>
|
||||
<instruction instr-id="797" subinstr-id="-1"/>
|
||||
<instruction instr-id="801" subinstr-id="-1"/>
|
||||
<instruction instr-id="807" subinstr-id="0"/>
|
||||
<instruction instr-id="807" subinstr-id="2"/>
|
||||
<instruction instr-id="813" subinstr-id="0"/>
|
||||
<instruction instr-id="813" subinstr-id="2"/>
|
||||
<instruction instr-id="818" subinstr-id="0"/>
|
||||
<instruction instr-id="818" subinstr-id="2"/>
|
||||
<instruction instr-id="823" subinstr-id="0"/>
|
||||
<instruction instr-id="823" subinstr-id="2"/>
|
||||
<instruction instr-id="826" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="164" x2="169" y1="142" y2="153"/>
|
||||
<content>8</content>
|
||||
<instruction instr-id="834" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="239" x2="245" y1="142" y2="153"/>
|
||||
<content>3</content>
|
||||
<instruction instr-id="834" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="314" x2="320" y1="142" y2="153"/>
|
||||
<content>6</content>
|
||||
<instruction instr-id="834" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="3">
|
||||
<bounding-box x1="389" x2="395" y1="142" y2="153"/>
|
||||
<content>2</content>
|
||||
<instruction instr-id="834" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="3">
|
||||
<bounding-box x1="464" x2="475" y1="142" y2="153"/>
|
||||
<content>19</content>
|
||||
<instruction instr-id="834" subinstr-id="2"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":3,"numCorrectlyDetectedTables":3,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":12,"numCorrectlyDetectedTables":12,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,350 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-005-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='2'>
|
||||
<instruction instr-id='23'/>
|
||||
<instruction instr-id='25'/>
|
||||
<instruction instr-id='57'/>
|
||||
<instruction instr-id='57' subinstr-id='2'/>
|
||||
<instruction instr-id='57' subinstr-id='4'/>
|
||||
<instruction instr-id='59'/>
|
||||
<instruction instr-id='59' subinstr-id='2'/>
|
||||
<instruction instr-id='61'/>
|
||||
<instruction instr-id='61' subinstr-id='2'/>
|
||||
<instruction instr-id='89'/>
|
||||
<instruction instr-id='89' subinstr-id='2'/>
|
||||
<instruction instr-id='89' subinstr-id='4'/>
|
||||
<instruction instr-id='89' subinstr-id='6'/>
|
||||
<instruction instr-id='89' subinstr-id='8'/>
|
||||
<instruction instr-id='89' subinstr-id='10'/>
|
||||
<instruction instr-id='89' subinstr-id='12'/>
|
||||
<instruction instr-id='91'/>
|
||||
<instruction instr-id='91' subinstr-id='2'/>
|
||||
<instruction instr-id='93'/>
|
||||
<instruction instr-id='93' subinstr-id='2'/>
|
||||
<instruction instr-id='121'/>
|
||||
<instruction instr-id='121' subinstr-id='2'/>
|
||||
<instruction instr-id='121' subinstr-id='4'/>
|
||||
<instruction instr-id='121' subinstr-id='6'/>
|
||||
<instruction instr-id='121' subinstr-id='8'/>
|
||||
<instruction instr-id='123'/>
|
||||
<instruction instr-id='123' subinstr-id='2'/>
|
||||
<instruction instr-id='125'/>
|
||||
<instruction instr-id='125' subinstr-id='2'/>
|
||||
<instruction instr-id='153'/>
|
||||
<instruction instr-id='153' subinstr-id='2'/>
|
||||
<instruction instr-id='153' subinstr-id='4'/>
|
||||
<instruction instr-id='153' subinstr-id='6'/>
|
||||
<instruction instr-id='155'/>
|
||||
<instruction instr-id='157'/>
|
||||
<instruction instr-id='185'/>
|
||||
<instruction instr-id='185' subinstr-id='2'/>
|
||||
<instruction instr-id='185' subinstr-id='4'/>
|
||||
<instruction instr-id='185' subinstr-id='6'/>
|
||||
<instruction instr-id='187'/>
|
||||
<instruction instr-id='187' subinstr-id='2'/>
|
||||
<instruction instr-id='189'/>
|
||||
<instruction instr-id='189' subinstr-id='2'/>
|
||||
<instruction instr-id='217'/>
|
||||
<instruction instr-id='217' subinstr-id='2'/>
|
||||
<instruction instr-id='217' subinstr-id='4'/>
|
||||
<instruction instr-id='217' subinstr-id='6'/>
|
||||
<instruction instr-id='217' subinstr-id='8'/>
|
||||
<instruction instr-id='217' subinstr-id='10'/>
|
||||
<instruction instr-id='219'/>
|
||||
<instruction instr-id='219' subinstr-id='2'/>
|
||||
<instruction instr-id='221'/>
|
||||
<instruction instr-id='221' subinstr-id='2'/>
|
||||
<instruction instr-id='249'/>
|
||||
<instruction instr-id='249' subinstr-id='2'/>
|
||||
<instruction instr-id='249' subinstr-id='4'/>
|
||||
<instruction instr-id='251'/>
|
||||
<instruction instr-id='251' subinstr-id='2'/>
|
||||
<instruction instr-id='253'/>
|
||||
<instruction instr-id='253' subinstr-id='2'/>
|
||||
<instruction instr-id='280'/>
|
||||
<instruction instr-id='280' subinstr-id='2'/>
|
||||
<instruction instr-id='280' subinstr-id='4'/>
|
||||
<instruction instr-id='280' subinstr-id='6'/>
|
||||
<instruction instr-id='282'/>
|
||||
<instruction instr-id='282' subinstr-id='2'/>
|
||||
<instruction instr-id='284'/>
|
||||
<instruction instr-id='284' subinstr-id='2'/>
|
||||
<instruction instr-id='312'/>
|
||||
<instruction instr-id='312' subinstr-id='2'/>
|
||||
<instruction instr-id='312' subinstr-id='4'/>
|
||||
<instruction instr-id='312' subinstr-id='6'/>
|
||||
<instruction instr-id='314'/>
|
||||
<instruction instr-id='314' subinstr-id='2'/>
|
||||
<instruction instr-id='316'/>
|
||||
<instruction instr-id='316' subinstr-id='2'/>
|
||||
<instruction instr-id='344'/>
|
||||
<instruction instr-id='344' subinstr-id='2'/>
|
||||
<instruction instr-id='344' subinstr-id='4'/>
|
||||
<instruction instr-id='344' subinstr-id='6'/>
|
||||
<instruction instr-id='344' subinstr-id='8'/>
|
||||
<instruction instr-id='344' subinstr-id='10'/>
|
||||
<instruction instr-id='344' subinstr-id='12'/>
|
||||
<instruction instr-id='346'/>
|
||||
<instruction instr-id='348'/>
|
||||
<instruction instr-id='376'/>
|
||||
<instruction instr-id='376' subinstr-id='2'/>
|
||||
<instruction instr-id='376' subinstr-id='4'/>
|
||||
<instruction instr-id='376' subinstr-id='6'/>
|
||||
<instruction instr-id='378'/>
|
||||
<instruction instr-id='378' subinstr-id='2'/>
|
||||
<instruction instr-id='380'/>
|
||||
<instruction instr-id='380' subinstr-id='2'/>
|
||||
<instruction instr-id='408'/>
|
||||
<instruction instr-id='408' subinstr-id='2'/>
|
||||
<instruction instr-id='408' subinstr-id='4'/>
|
||||
<instruction instr-id='410'/>
|
||||
<instruction instr-id='412'/>
|
||||
<instruction instr-id='440'/>
|
||||
<instruction instr-id='440' subinstr-id='2'/>
|
||||
<instruction instr-id='440' subinstr-id='4'/>
|
||||
<instruction instr-id='440' subinstr-id='6'/>
|
||||
<instruction instr-id='442'/>
|
||||
<instruction instr-id='442' subinstr-id='2'/>
|
||||
<instruction instr-id='444'/>
|
||||
<instruction instr-id='444' subinstr-id='2'/>
|
||||
<instruction instr-id='472'/>
|
||||
<instruction instr-id='474'/>
|
||||
<instruction instr-id='476'/>
|
||||
<bounding-box x1='121' y1='502' x2='418' y2='703'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='2'>
|
||||
<region id='1' page='2'>
|
||||
<instruction instr-id='519'/>
|
||||
<instruction instr-id='519' subinstr-id='2'/>
|
||||
<instruction instr-id='519' subinstr-id='4'/>
|
||||
<instruction instr-id='519' subinstr-id='6'/>
|
||||
<instruction instr-id='519' subinstr-id='8'/>
|
||||
<instruction instr-id='519' subinstr-id='10'/>
|
||||
<instruction instr-id='522'/>
|
||||
<instruction instr-id='525'/>
|
||||
<instruction instr-id='528'/>
|
||||
<instruction instr-id='531'/>
|
||||
<instruction instr-id='534'/>
|
||||
<instruction instr-id='537'/>
|
||||
<instruction instr-id='540'/>
|
||||
<instruction instr-id='543'/>
|
||||
<instruction instr-id='543' subinstr-id='2'/>
|
||||
<instruction instr-id='546'/>
|
||||
<instruction instr-id='550'/>
|
||||
<instruction instr-id='550' subinstr-id='2'/>
|
||||
<instruction instr-id='550' subinstr-id='4'/>
|
||||
<instruction instr-id='550' subinstr-id='6'/>
|
||||
<instruction instr-id='550' subinstr-id='8'/>
|
||||
<instruction instr-id='550' subinstr-id='10'/>
|
||||
<instruction instr-id='550' subinstr-id='12'/>
|
||||
<instruction instr-id='550' subinstr-id='14'/>
|
||||
<instruction instr-id='550' subinstr-id='16'/>
|
||||
<instruction instr-id='554'/>
|
||||
<instruction instr-id='554' subinstr-id='2'/>
|
||||
<instruction instr-id='554' subinstr-id='4'/>
|
||||
<instruction instr-id='554' subinstr-id='6'/>
|
||||
<instruction instr-id='554' subinstr-id='8'/>
|
||||
<instruction instr-id='554' subinstr-id='10'/>
|
||||
<instruction instr-id='554' subinstr-id='12'/>
|
||||
<instruction instr-id='622'/>
|
||||
<instruction instr-id='622' subinstr-id='2'/>
|
||||
<instruction instr-id='622' subinstr-id='4'/>
|
||||
<instruction instr-id='622' subinstr-id='6'/>
|
||||
<instruction instr-id='622' subinstr-id='8'/>
|
||||
<instruction instr-id='622' subinstr-id='10'/>
|
||||
<instruction instr-id='622' subinstr-id='12'/>
|
||||
<instruction instr-id='622' subinstr-id='14'/>
|
||||
<instruction instr-id='622' subinstr-id='16'/>
|
||||
<instruction instr-id='622' subinstr-id='18'/>
|
||||
<instruction instr-id='622' subinstr-id='20'/>
|
||||
<instruction instr-id='622' subinstr-id='22'/>
|
||||
<instruction instr-id='622' subinstr-id='24'/>
|
||||
<instruction instr-id='622' subinstr-id='26'/>
|
||||
<instruction instr-id='622' subinstr-id='28'/>
|
||||
<instruction instr-id='622' subinstr-id='30'/>
|
||||
<instruction instr-id='622' subinstr-id='32'/>
|
||||
<instruction instr-id='624'/>
|
||||
<instruction instr-id='624' subinstr-id='2'/>
|
||||
<instruction instr-id='624' subinstr-id='4'/>
|
||||
<instruction instr-id='624' subinstr-id='6'/>
|
||||
<instruction instr-id='688'/>
|
||||
<instruction instr-id='688' subinstr-id='2'/>
|
||||
<instruction instr-id='688' subinstr-id='4'/>
|
||||
<instruction instr-id='688' subinstr-id='6'/>
|
||||
<instruction instr-id='688' subinstr-id='8'/>
|
||||
<instruction instr-id='688' subinstr-id='10'/>
|
||||
<instruction instr-id='688' subinstr-id='12'/>
|
||||
<instruction instr-id='688' subinstr-id='14'/>
|
||||
<instruction instr-id='688' subinstr-id='16'/>
|
||||
<instruction instr-id='688' subinstr-id='18'/>
|
||||
<instruction instr-id='688' subinstr-id='20'/>
|
||||
<instruction instr-id='688' subinstr-id='22'/>
|
||||
<instruction instr-id='688' subinstr-id='24'/>
|
||||
<instruction instr-id='688' subinstr-id='26'/>
|
||||
<instruction instr-id='690'/>
|
||||
<instruction instr-id='753'/>
|
||||
<instruction instr-id='753' subinstr-id='2'/>
|
||||
<instruction instr-id='753' subinstr-id='4'/>
|
||||
<instruction instr-id='753' subinstr-id='6'/>
|
||||
<instruction instr-id='753' subinstr-id='8'/>
|
||||
<instruction instr-id='753' subinstr-id='10'/>
|
||||
<instruction instr-id='755'/>
|
||||
<instruction instr-id='755' subinstr-id='2'/>
|
||||
<instruction instr-id='757'/>
|
||||
<instruction instr-id='757' subinstr-id='2'/>
|
||||
<instruction instr-id='759'/>
|
||||
<instruction instr-id='822'/>
|
||||
<instruction instr-id='822' subinstr-id='2'/>
|
||||
<instruction instr-id='822' subinstr-id='4'/>
|
||||
<instruction instr-id='822' subinstr-id='6'/>
|
||||
<instruction instr-id='822' subinstr-id='8'/>
|
||||
<instruction instr-id='822' subinstr-id='10'/>
|
||||
<instruction instr-id='822' subinstr-id='12'/>
|
||||
<instruction instr-id='822' subinstr-id='14'/>
|
||||
<instruction instr-id='822' subinstr-id='16'/>
|
||||
<instruction instr-id='822' subinstr-id='18'/>
|
||||
<instruction instr-id='824'/>
|
||||
<instruction instr-id='887'/>
|
||||
<instruction instr-id='887' subinstr-id='2'/>
|
||||
<instruction instr-id='887' subinstr-id='4'/>
|
||||
<instruction instr-id='887' subinstr-id='6'/>
|
||||
<instruction instr-id='887' subinstr-id='8'/>
|
||||
<instruction instr-id='889'/>
|
||||
<instruction instr-id='889' subinstr-id='2'/>
|
||||
<instruction instr-id='889' subinstr-id='4'/>
|
||||
<instruction instr-id='891'/>
|
||||
<instruction instr-id='891' subinstr-id='2'/>
|
||||
<instruction instr-id='891' subinstr-id='4'/>
|
||||
<instruction instr-id='891' subinstr-id='6'/>
|
||||
<instruction instr-id='893'/>
|
||||
<instruction instr-id='956'/>
|
||||
<instruction instr-id='956' subinstr-id='2'/>
|
||||
<instruction instr-id='956' subinstr-id='4'/>
|
||||
<instruction instr-id='956' subinstr-id='6'/>
|
||||
<instruction instr-id='956' subinstr-id='8'/>
|
||||
<instruction instr-id='956' subinstr-id='10'/>
|
||||
<instruction instr-id='956' subinstr-id='12'/>
|
||||
<instruction instr-id='956' subinstr-id='14'/>
|
||||
<instruction instr-id='956' subinstr-id='16'/>
|
||||
<instruction instr-id='956' subinstr-id='18'/>
|
||||
<instruction instr-id='956' subinstr-id='20'/>
|
||||
<instruction instr-id='956' subinstr-id='22'/>
|
||||
<instruction instr-id='958'/>
|
||||
<instruction instr-id='1022'/>
|
||||
<instruction instr-id='1022' subinstr-id='2'/>
|
||||
<instruction instr-id='1022' subinstr-id='4'/>
|
||||
<instruction instr-id='1024'/>
|
||||
<instruction instr-id='1024' subinstr-id='2'/>
|
||||
<instruction instr-id='1024' subinstr-id='4'/>
|
||||
<instruction instr-id='1024' subinstr-id='6'/>
|
||||
<instruction instr-id='1026'/>
|
||||
<instruction instr-id='1026' subinstr-id='2'/>
|
||||
<instruction instr-id='1026' subinstr-id='4'/>
|
||||
<instruction instr-id='1026' subinstr-id='6'/>
|
||||
<instruction instr-id='1028'/>
|
||||
<instruction instr-id='1028' subinstr-id='2'/>
|
||||
<instruction instr-id='1028' subinstr-id='4'/>
|
||||
<instruction instr-id='1028' subinstr-id='6'/>
|
||||
<instruction instr-id='1092'/>
|
||||
<instruction instr-id='1092' subinstr-id='2'/>
|
||||
<instruction instr-id='1092' subinstr-id='4'/>
|
||||
<instruction instr-id='1092' subinstr-id='6'/>
|
||||
<instruction instr-id='1092' subinstr-id='8'/>
|
||||
<instruction instr-id='1092' subinstr-id='10'/>
|
||||
<instruction instr-id='1092' subinstr-id='12'/>
|
||||
<instruction instr-id='1094'/>
|
||||
<instruction instr-id='1094' subinstr-id='2'/>
|
||||
<instruction instr-id='1094' subinstr-id='4'/>
|
||||
<instruction instr-id='1094' subinstr-id='6'/>
|
||||
<instruction instr-id='1096'/>
|
||||
<instruction instr-id='1159'/>
|
||||
<instruction instr-id='1159' subinstr-id='2'/>
|
||||
<instruction instr-id='1159' subinstr-id='4'/>
|
||||
<instruction instr-id='1159' subinstr-id='6'/>
|
||||
<instruction instr-id='1159' subinstr-id='8'/>
|
||||
<instruction instr-id='1161'/>
|
||||
<instruction instr-id='1161' subinstr-id='2'/>
|
||||
<instruction instr-id='1161' subinstr-id='4'/>
|
||||
<instruction instr-id='1161' subinstr-id='6'/>
|
||||
<instruction instr-id='1161' subinstr-id='8'/>
|
||||
<instruction instr-id='1163'/>
|
||||
<instruction instr-id='1163' subinstr-id='2'/>
|
||||
<instruction instr-id='1163' subinstr-id='4'/>
|
||||
<instruction instr-id='1163' subinstr-id='6'/>
|
||||
<instruction instr-id='1226'/>
|
||||
<instruction instr-id='1226' subinstr-id='2'/>
|
||||
<instruction instr-id='1226' subinstr-id='4'/>
|
||||
<instruction instr-id='1226' subinstr-id='6'/>
|
||||
<instruction instr-id='1226' subinstr-id='8'/>
|
||||
<instruction instr-id='1226' subinstr-id='10'/>
|
||||
<instruction instr-id='1226' subinstr-id='12'/>
|
||||
<instruction instr-id='1226' subinstr-id='14'/>
|
||||
<instruction instr-id='1226' subinstr-id='16'/>
|
||||
<instruction instr-id='1226' subinstr-id='18'/>
|
||||
<instruction instr-id='1226' subinstr-id='20'/>
|
||||
<instruction instr-id='1226' subinstr-id='22'/>
|
||||
<instruction instr-id='1226' subinstr-id='24'/>
|
||||
<instruction instr-id='1226' subinstr-id='26'/>
|
||||
<instruction instr-id='1226' subinstr-id='28'/>
|
||||
<instruction instr-id='1228'/>
|
||||
<instruction instr-id='1291'/>
|
||||
<instruction instr-id='1291' subinstr-id='2'/>
|
||||
<instruction instr-id='1291' subinstr-id='4'/>
|
||||
<instruction instr-id='1291' subinstr-id='6'/>
|
||||
<instruction instr-id='1291' subinstr-id='8'/>
|
||||
<instruction instr-id='1291' subinstr-id='10'/>
|
||||
<instruction instr-id='1291' subinstr-id='12'/>
|
||||
<instruction instr-id='1291' subinstr-id='14'/>
|
||||
<instruction instr-id='1291' subinstr-id='16'/>
|
||||
<instruction instr-id='1291' subinstr-id='18'/>
|
||||
<instruction instr-id='1291' subinstr-id='20'/>
|
||||
<instruction instr-id='1293'/>
|
||||
<instruction instr-id='1293' subinstr-id='2'/>
|
||||
<instruction instr-id='1293' subinstr-id='4'/>
|
||||
<instruction instr-id='1356'/>
|
||||
<instruction instr-id='1356' subinstr-id='2'/>
|
||||
<instruction instr-id='1356' subinstr-id='4'/>
|
||||
<instruction instr-id='1358'/>
|
||||
<instruction instr-id='1358' subinstr-id='2'/>
|
||||
<instruction instr-id='1358' subinstr-id='4'/>
|
||||
<instruction instr-id='1358' subinstr-id='6'/>
|
||||
<instruction instr-id='1360'/>
|
||||
<instruction instr-id='1360' subinstr-id='2'/>
|
||||
<instruction instr-id='1362'/>
|
||||
<instruction instr-id='1362' subinstr-id='2'/>
|
||||
<instruction instr-id='1425'/>
|
||||
<instruction instr-id='1425' subinstr-id='2'/>
|
||||
<instruction instr-id='1425' subinstr-id='4'/>
|
||||
<instruction instr-id='1425' subinstr-id='6'/>
|
||||
<instruction instr-id='1425' subinstr-id='8'/>
|
||||
<instruction instr-id='1425' subinstr-id='10'/>
|
||||
<instruction instr-id='1425' subinstr-id='12'/>
|
||||
<instruction instr-id='1425' subinstr-id='14'/>
|
||||
<instruction instr-id='1425' subinstr-id='16'/>
|
||||
<instruction instr-id='1425' subinstr-id='18'/>
|
||||
<instruction instr-id='1427'/>
|
||||
<instruction instr-id='1490'/>
|
||||
<instruction instr-id='1492'/>
|
||||
<instruction instr-id='1492' subinstr-id='2'/>
|
||||
<instruction instr-id='1492' subinstr-id='4'/>
|
||||
<instruction instr-id='1492' subinstr-id='6'/>
|
||||
<instruction instr-id='1494'/>
|
||||
<instruction instr-id='1494' subinstr-id='2'/>
|
||||
<instruction instr-id='1494' subinstr-id='4'/>
|
||||
<instruction instr-id='1494' subinstr-id='6'/>
|
||||
<instruction instr-id='1496'/>
|
||||
<instruction instr-id='1559'/>
|
||||
<instruction instr-id='1559' subinstr-id='2'/>
|
||||
<instruction instr-id='1559' subinstr-id='4'/>
|
||||
<instruction instr-id='1559' subinstr-id='6'/>
|
||||
<instruction instr-id='1559' subinstr-id='8'/>
|
||||
<instruction instr-id='1559' subinstr-id='10'/>
|
||||
<instruction instr-id='1559' subinstr-id='12'/>
|
||||
<instruction instr-id='1561'/>
|
||||
<bounding-box x1='73' y1='244' x2='522' y2='471'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,926 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-005-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="2" row-increment="0">
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="269" x2="291" y1="692" y2="703"/>
|
||||
<content>1996</content>
|
||||
<instruction instr-id="23" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="396" x2="418" y1="692" y2="703"/>
|
||||
<content>1993</content>
|
||||
<instruction instr-id="25" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="121" x2="153" y1="678" y2="689"/>
|
||||
<content>Austria</content>
|
||||
<instruction instr-id="57" subinstr-id="0"/>
|
||||
<instruction instr-id="57" subinstr-id="2"/>
|
||||
<instruction instr-id="57" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="275" x2="285" y1="678" y2="689"/>
|
||||
<content>59</content>
|
||||
<instruction instr-id="59" subinstr-id="0"/>
|
||||
<instruction instr-id="59" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="402" x2="413" y1="678" y2="689"/>
|
||||
<content>54</content>
|
||||
<instruction instr-id="61" subinstr-id="0"/>
|
||||
<instruction instr-id="61" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="121" x2="179" y1="665" y2="676"/>
|
||||
<content>Belgium/Lux</content>
|
||||
<instruction instr-id="89" subinstr-id="0"/>
|
||||
<instruction instr-id="89" subinstr-id="2"/>
|
||||
<instruction instr-id="89" subinstr-id="4"/>
|
||||
<instruction instr-id="89" subinstr-id="6"/>
|
||||
<instruction instr-id="89" subinstr-id="8"/>
|
||||
<instruction instr-id="89" subinstr-id="10"/>
|
||||
<instruction instr-id="89" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="274" x2="285" y1="665" y2="676"/>
|
||||
<content>62</content>
|
||||
<instruction instr-id="91" subinstr-id="0"/>
|
||||
<instruction instr-id="91" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="402" x2="413" y1="665" y2="676"/>
|
||||
<content>60</content>
|
||||
<instruction instr-id="93" subinstr-id="0"/>
|
||||
<instruction instr-id="93" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="121" x2="161" y1="651" y2="662"/>
|
||||
<content>Denmark</content>
|
||||
<instruction instr-id="121" subinstr-id="0"/>
|
||||
<instruction instr-id="121" subinstr-id="2"/>
|
||||
<instruction instr-id="121" subinstr-id="4"/>
|
||||
<instruction instr-id="121" subinstr-id="6"/>
|
||||
<instruction instr-id="121" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="275" x2="285" y1="651" y2="662"/>
|
||||
<content>59</content>
|
||||
<instruction instr-id="123" subinstr-id="0"/>
|
||||
<instruction instr-id="123" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="402" x2="413" y1="651" y2="662"/>
|
||||
<content>54</content>
|
||||
<instruction instr-id="125" subinstr-id="0"/>
|
||||
<instruction instr-id="125" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="121" x2="154" y1="638" y2="649"/>
|
||||
<content>Finland</content>
|
||||
<instruction instr-id="153" subinstr-id="0"/>
|
||||
<instruction instr-id="153" subinstr-id="2"/>
|
||||
<instruction instr-id="153" subinstr-id="4"/>
|
||||
<instruction instr-id="153" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="275" x2="285" y1="638" y2="649"/>
|
||||
<content>89</content>
|
||||
<instruction instr-id="155" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="402" x2="413" y1="638" y2="649"/>
|
||||
<content>94</content>
|
||||
<instruction instr-id="157" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="121" x2="150" y1="624" y2="635"/>
|
||||
<content>France</content>
|
||||
<instruction instr-id="185" subinstr-id="0"/>
|
||||
<instruction instr-id="185" subinstr-id="2"/>
|
||||
<instruction instr-id="185" subinstr-id="4"/>
|
||||
<instruction instr-id="185" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="275" x2="285" y1="624" y2="635"/>
|
||||
<content>51</content>
|
||||
<instruction instr-id="187" subinstr-id="0"/>
|
||||
<instruction instr-id="187" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="402" x2="413" y1="624" y2="635"/>
|
||||
<content>48</content>
|
||||
<instruction instr-id="189" subinstr-id="0"/>
|
||||
<instruction instr-id="189" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="6">
|
||||
<bounding-box x1="121" x2="161" y1="611" y2="622"/>
|
||||
<content>Germany</content>
|
||||
<instruction instr-id="217" subinstr-id="0"/>
|
||||
<instruction instr-id="217" subinstr-id="2"/>
|
||||
<instruction instr-id="217" subinstr-id="4"/>
|
||||
<instruction instr-id="217" subinstr-id="6"/>
|
||||
<instruction instr-id="217" subinstr-id="8"/>
|
||||
<instruction instr-id="217" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="6">
|
||||
<bounding-box x1="275" x2="285" y1="611" y2="622"/>
|
||||
<content>45</content>
|
||||
<instruction instr-id="219" subinstr-id="0"/>
|
||||
<instruction instr-id="219" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="6">
|
||||
<bounding-box x1="402" x2="413" y1="611" y2="622"/>
|
||||
<content>45</content>
|
||||
<instruction instr-id="221" subinstr-id="0"/>
|
||||
<instruction instr-id="221" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="7">
|
||||
<bounding-box x1="121" x2="152" y1="597" y2="608"/>
|
||||
<content>Greece</content>
|
||||
<instruction instr-id="249" subinstr-id="0"/>
|
||||
<instruction instr-id="249" subinstr-id="2"/>
|
||||
<instruction instr-id="249" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="7">
|
||||
<bounding-box x1="275" x2="285" y1="597" y2="608"/>
|
||||
<content>28</content>
|
||||
<instruction instr-id="251" subinstr-id="0"/>
|
||||
<instruction instr-id="251" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="7">
|
||||
<bounding-box x1="402" x2="413" y1="597" y2="608"/>
|
||||
<content>11</content>
|
||||
<instruction instr-id="253" subinstr-id="0"/>
|
||||
<instruction instr-id="253" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="8">
|
||||
<bounding-box x1="121" x2="151" y1="584" y2="594"/>
|
||||
<content>Ireland</content>
|
||||
<instruction instr-id="280" subinstr-id="0"/>
|
||||
<instruction instr-id="280" subinstr-id="2"/>
|
||||
<instruction instr-id="280" subinstr-id="4"/>
|
||||
<instruction instr-id="280" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="8">
|
||||
<bounding-box x1="275" x2="285" y1="584" y2="594"/>
|
||||
<content>64</content>
|
||||
<instruction instr-id="282" subinstr-id="0"/>
|
||||
<instruction instr-id="282" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="8">
|
||||
<bounding-box x1="402" x2="413" y1="584" y2="594"/>
|
||||
<content>62</content>
|
||||
<instruction instr-id="284" subinstr-id="0"/>
|
||||
<instruction instr-id="284" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="9">
|
||||
<bounding-box x1="121" x2="141" y1="570" y2="581"/>
|
||||
<content>Italy</content>
|
||||
<instruction instr-id="312" subinstr-id="0"/>
|
||||
<instruction instr-id="312" subinstr-id="2"/>
|
||||
<instruction instr-id="312" subinstr-id="4"/>
|
||||
<instruction instr-id="312" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="9">
|
||||
<bounding-box x1="275" x2="285" y1="570" y2="581"/>
|
||||
<content>12</content>
|
||||
<instruction instr-id="314" subinstr-id="0"/>
|
||||
<instruction instr-id="314" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="9">
|
||||
<bounding-box x1="402" x2="413" y1="570" y2="581"/>
|
||||
<content>11</content>
|
||||
<instruction instr-id="316" subinstr-id="0"/>
|
||||
<instruction instr-id="316" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="10">
|
||||
<bounding-box x1="121" x2="174" y1="556" y2="567"/>
|
||||
<content>Netherlands</content>
|
||||
<instruction instr-id="344" subinstr-id="0"/>
|
||||
<instruction instr-id="344" subinstr-id="2"/>
|
||||
<instruction instr-id="344" subinstr-id="4"/>
|
||||
<instruction instr-id="344" subinstr-id="6"/>
|
||||
<instruction instr-id="344" subinstr-id="8"/>
|
||||
<instruction instr-id="344" subinstr-id="10"/>
|
||||
<instruction instr-id="344" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="10">
|
||||
<bounding-box x1="275" x2="286" y1="556" y2="567"/>
|
||||
<content>50</content>
|
||||
<instruction instr-id="346" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="10">
|
||||
<bounding-box x1="402" x2="413" y1="556" y2="567"/>
|
||||
<content>52</content>
|
||||
<instruction instr-id="348" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="11">
|
||||
<bounding-box x1="121" x2="158" y1="543" y2="554"/>
|
||||
<content>Portugal</content>
|
||||
<instruction instr-id="376" subinstr-id="0"/>
|
||||
<instruction instr-id="376" subinstr-id="2"/>
|
||||
<instruction instr-id="376" subinstr-id="4"/>
|
||||
<instruction instr-id="376" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="11">
|
||||
<bounding-box x1="275" x2="285" y1="543" y2="554"/>
|
||||
<content>56</content>
|
||||
<instruction instr-id="378" subinstr-id="0"/>
|
||||
<instruction instr-id="378" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="11">
|
||||
<bounding-box x1="402" x2="413" y1="543" y2="554"/>
|
||||
<content>36</content>
|
||||
<instruction instr-id="380" subinstr-id="0"/>
|
||||
<instruction instr-id="380" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="12">
|
||||
<bounding-box x1="121" x2="146" y1="529" y2="540"/>
|
||||
<content>Spain</content>
|
||||
<instruction instr-id="408" subinstr-id="0"/>
|
||||
<instruction instr-id="408" subinstr-id="2"/>
|
||||
<instruction instr-id="408" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="12">
|
||||
<bounding-box x1="275" x2="285" y1="529" y2="540"/>
|
||||
<content>32</content>
|
||||
<instruction instr-id="410" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="12">
|
||||
<bounding-box x1="402" x2="413" y1="529" y2="540"/>
|
||||
<content>22</content>
|
||||
<instruction instr-id="412" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="13">
|
||||
<bounding-box x1="121" x2="155" y1="516" y2="527"/>
|
||||
<content>Sweden</content>
|
||||
<instruction instr-id="440" subinstr-id="0"/>
|
||||
<instruction instr-id="440" subinstr-id="2"/>
|
||||
<instruction instr-id="440" subinstr-id="4"/>
|
||||
<instruction instr-id="440" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="13">
|
||||
<bounding-box x1="275" x2="285" y1="516" y2="527"/>
|
||||
<content>78</content>
|
||||
<instruction instr-id="442" subinstr-id="0"/>
|
||||
<instruction instr-id="442" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="13">
|
||||
<bounding-box x1="402" x2="413" y1="516" y2="527"/>
|
||||
<content>79</content>
|
||||
<instruction instr-id="444" subinstr-id="0"/>
|
||||
<instruction instr-id="444" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="14">
|
||||
<bounding-box x1="121" x2="137" y1="502" y2="513"/>
|
||||
<content>UK</content>
|
||||
<instruction instr-id="472" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="14">
|
||||
<bounding-box x1="275" x2="285" y1="502" y2="513"/>
|
||||
<content>56</content>
|
||||
<instruction instr-id="474" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="14">
|
||||
<bounding-box x1="402" x2="413" y1="502" y2="513"/>
|
||||
<content>50</content>
|
||||
<instruction instr-id="476" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
<table id="2">
|
||||
<region col-increment="0" id="1" page="2" row-increment="0">
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="136" x2="202" y1="447" y2="471"/>
|
||||
<content>Our estimates
|
||||
1996</content>
|
||||
<instruction instr-id="519" subinstr-id="0"/>
|
||||
<instruction instr-id="519" subinstr-id="2"/>
|
||||
<instruction instr-id="519" subinstr-id="4"/>
|
||||
<instruction instr-id="519" subinstr-id="6"/>
|
||||
<instruction instr-id="519" subinstr-id="8"/>
|
||||
<instruction instr-id="519" subinstr-id="10"/>
|
||||
<instruction instr-id="522" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="214" x2="237" y1="447" y2="471"/>
|
||||
<content>LDA
|
||||
1997</content>
|
||||
<instruction instr-id="525" subinstr-id="-1"/>
|
||||
<instruction instr-id="528" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="0">
|
||||
<bounding-box x1="252" x2="283" y1="447" y2="471"/>
|
||||
<content>PBUK
|
||||
1996</content>
|
||||
<instruction instr-id="531" subinstr-id="-1"/>
|
||||
<instruction instr-id="534" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="0">
|
||||
<bounding-box x1="295" x2="317" y1="447" y2="471"/>
|
||||
<content>EH
|
||||
1996</content>
|
||||
<instruction instr-id="537" subinstr-id="-1"/>
|
||||
<instruction instr-id="540" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="0">
|
||||
<bounding-box x1="333" x2="355" y1="447" y2="471"/>
|
||||
<content>AIM
|
||||
1992</content>
|
||||
<instruction instr-id="543" subinstr-id="0"/>
|
||||
<instruction instr-id="543" subinstr-id="2"/>
|
||||
<instruction instr-id="546" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="6" start-row="0">
|
||||
<bounding-box x1="371" x2="393" y1="460" y2="471"/>
|
||||
<content>HBS</content>
|
||||
<instruction instr-id="550" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="7" start-row="0">
|
||||
<bounding-box x1="404" x2="443" y1="460" y2="471"/>
|
||||
<content>OXIRM</content>
|
||||
<instruction instr-id="550" subinstr-id="2"/>
|
||||
<instruction instr-id="550" subinstr-id="4"/>
|
||||
<instruction instr-id="550" subinstr-id="6"/>
|
||||
<instruction instr-id="550" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="0">
|
||||
<bounding-box x1="451" x2="522" y1="447" y2="471"/>
|
||||
<content>Average of
|
||||
other estimates</content>
|
||||
<instruction instr-id="550" subinstr-id="10"/>
|
||||
<instruction instr-id="550" subinstr-id="12"/>
|
||||
<instruction instr-id="550" subinstr-id="14"/>
|
||||
<instruction instr-id="550" subinstr-id="16"/>
|
||||
<instruction instr-id="554" subinstr-id="0"/>
|
||||
<instruction instr-id="554" subinstr-id="2"/>
|
||||
<instruction instr-id="554" subinstr-id="4"/>
|
||||
<instruction instr-id="554" subinstr-id="6"/>
|
||||
<instruction instr-id="554" subinstr-id="8"/>
|
||||
<instruction instr-id="554" subinstr-id="10"/>
|
||||
<instruction instr-id="554" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="73" x2="105" y1="434" y2="444"/>
|
||||
<content>Austria</content>
|
||||
<instruction instr-id="622" subinstr-id="0"/>
|
||||
<instruction instr-id="622" subinstr-id="2"/>
|
||||
<instruction instr-id="622" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="159" x2="179" y1="434" y2="444"/>
|
||||
<content>58.6</content>
|
||||
<instruction instr-id="622" subinstr-id="6"/>
|
||||
<instruction instr-id="622" subinstr-id="8"/>
|
||||
<instruction instr-id="622" subinstr-id="10"/>
|
||||
<instruction instr-id="622" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="220" x2="231" y1="434" y2="444"/>
|
||||
<content>79</content>
|
||||
<instruction instr-id="622" subinstr-id="14"/>
|
||||
<instruction instr-id="622" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="1">
|
||||
<bounding-box x1="258" x2="277" y1="434" y2="444"/>
|
||||
<content>67.9</content>
|
||||
<instruction instr-id="622" subinstr-id="18"/>
|
||||
<instruction instr-id="622" subinstr-id="20"/>
|
||||
<instruction instr-id="622" subinstr-id="22"/>
|
||||
<instruction instr-id="622" subinstr-id="24"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="1">
|
||||
<bounding-box x1="296" x2="315" y1="434" y2="444"/>
|
||||
<content>72.9</content>
|
||||
<instruction instr-id="622" subinstr-id="26"/>
|
||||
<instruction instr-id="622" subinstr-id="28"/>
|
||||
<instruction instr-id="622" subinstr-id="30"/>
|
||||
<instruction instr-id="622" subinstr-id="32"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="1">
|
||||
<bounding-box x1="477" x2="496" y1="434" y2="444"/>
|
||||
<content>73.3</content>
|
||||
<instruction instr-id="624" subinstr-id="0"/>
|
||||
<instruction instr-id="624" subinstr-id="2"/>
|
||||
<instruction instr-id="624" subinstr-id="4"/>
|
||||
<instruction instr-id="624" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="73" x2="109" y1="420" y2="431"/>
|
||||
<content>Bel/Lux</content>
|
||||
<instruction instr-id="688" subinstr-id="0"/>
|
||||
<instruction instr-id="688" subinstr-id="2"/>
|
||||
<instruction instr-id="688" subinstr-id="4"/>
|
||||
<instruction instr-id="688" subinstr-id="6"/>
|
||||
<instruction instr-id="688" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="159" x2="179" y1="420" y2="431"/>
|
||||
<content>61.6</content>
|
||||
<instruction instr-id="688" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="220" x2="231" y1="420" y2="431"/>
|
||||
<content>57</content>
|
||||
<instruction instr-id="688" subinstr-id="12"/>
|
||||
<instruction instr-id="688" subinstr-id="14"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="258" x2="277" y1="420" y2="431"/>
|
||||
<content>56.9</content>
|
||||
<instruction instr-id="688" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="2">
|
||||
<bounding-box x1="296" x2="315" y1="420" y2="431"/>
|
||||
<content>77.4</content>
|
||||
<instruction instr-id="688" subinstr-id="18"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="2">
|
||||
<bounding-box x1="338" x2="349" y1="420" y2="431"/>
|
||||
<content>53</content>
|
||||
<instruction instr-id="688" subinstr-id="20"/>
|
||||
<instruction instr-id="688" subinstr-id="22"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="6" start-row="2">
|
||||
<bounding-box x1="376" x2="387" y1="420" y2="431"/>
|
||||
<content>60</content>
|
||||
<instruction instr-id="688" subinstr-id="24"/>
|
||||
<instruction instr-id="688" subinstr-id="26"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="2">
|
||||
<bounding-box x1="477" x2="496" y1="420" y2="431"/>
|
||||
<content>60.9</content>
|
||||
<instruction instr-id="690" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="73" x2="114" y1="406" y2="417"/>
|
||||
<content>Denmark</content>
|
||||
<instruction instr-id="753" subinstr-id="0"/>
|
||||
<instruction instr-id="753" subinstr-id="2"/>
|
||||
<instruction instr-id="753" subinstr-id="4"/>
|
||||
<instruction instr-id="753" subinstr-id="6"/>
|
||||
<instruction instr-id="753" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="159" x2="179" y1="406" y2="417"/>
|
||||
<content>59.5</content>
|
||||
<instruction instr-id="753" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="262" x2="273" y1="406" y2="417"/>
|
||||
<content>48</content>
|
||||
<instruction instr-id="755" subinstr-id="0"/>
|
||||
<instruction instr-id="755" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="6" start-row="3">
|
||||
<bounding-box x1="376" x2="387" y1="406" y2="417"/>
|
||||
<content>78</content>
|
||||
<instruction instr-id="757" subinstr-id="0"/>
|
||||
<instruction instr-id="757" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="3">
|
||||
<bounding-box x1="477" x2="496" y1="406" y2="417"/>
|
||||
<content>63.0</content>
|
||||
<instruction instr-id="759" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="73" x2="106" y1="393" y2="404"/>
|
||||
<content>Finland</content>
|
||||
<instruction instr-id="822" subinstr-id="0"/>
|
||||
<instruction instr-id="822" subinstr-id="2"/>
|
||||
<instruction instr-id="822" subinstr-id="4"/>
|
||||
<instruction instr-id="822" subinstr-id="6"/>
|
||||
<instruction instr-id="822" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="159" x2="179" y1="393" y2="404"/>
|
||||
<content>89.1</content>
|
||||
<instruction instr-id="822" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="220" x2="231" y1="393" y2="404"/>
|
||||
<content>96</content>
|
||||
<instruction instr-id="822" subinstr-id="12"/>
|
||||
<instruction instr-id="822" subinstr-id="14"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="4">
|
||||
<bounding-box x1="258" x2="277" y1="393" y2="404"/>
|
||||
<content>95.4</content>
|
||||
<instruction instr-id="822" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="4">
|
||||
<bounding-box x1="296" x2="315" y1="393" y2="404"/>
|
||||
<content>97.5</content>
|
||||
<instruction instr-id="822" subinstr-id="18"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="4">
|
||||
<bounding-box x1="477" x2="496" y1="393" y2="404"/>
|
||||
<content>96.3</content>
|
||||
<instruction instr-id="824" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="73" x2="103" y1="379" y2="390"/>
|
||||
<content>France</content>
|
||||
<instruction instr-id="887" subinstr-id="0"/>
|
||||
<instruction instr-id="887" subinstr-id="2"/>
|
||||
<instruction instr-id="887" subinstr-id="4"/>
|
||||
<instruction instr-id="887" subinstr-id="6"/>
|
||||
<instruction instr-id="887" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="159" x2="179" y1="379" y2="390"/>
|
||||
<content>50.6</content>
|
||||
<instruction instr-id="889" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="215" x2="235" y1="379" y2="390"/>
|
||||
<content>67.2</content>
|
||||
<instruction instr-id="889" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="5">
|
||||
<bounding-box x1="258" x2="277" y1="379" y2="390"/>
|
||||
<content>60.1</content>
|
||||
<instruction instr-id="889" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="5">
|
||||
<bounding-box x1="338" x2="349" y1="379" y2="390"/>
|
||||
<content>49</content>
|
||||
<instruction instr-id="891" subinstr-id="0"/>
|
||||
<instruction instr-id="891" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="6" start-row="5">
|
||||
<bounding-box x1="376" x2="387" y1="379" y2="390"/>
|
||||
<content>65</content>
|
||||
<instruction instr-id="891" subinstr-id="4"/>
|
||||
<instruction instr-id="891" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="5">
|
||||
<bounding-box x1="477" x2="496" y1="379" y2="390"/>
|
||||
<content>60.3</content>
|
||||
<instruction instr-id="893" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="6">
|
||||
<bounding-box x1="73" x2="114" y1="366" y2="377"/>
|
||||
<content>Germany</content>
|
||||
<instruction instr-id="956" subinstr-id="0"/>
|
||||
<instruction instr-id="956" subinstr-id="2"/>
|
||||
<instruction instr-id="956" subinstr-id="4"/>
|
||||
<instruction instr-id="956" subinstr-id="6"/>
|
||||
<instruction instr-id="956" subinstr-id="8"/>
|
||||
<instruction instr-id="956" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="6">
|
||||
<bounding-box x1="159" x2="179" y1="366" y2="377"/>
|
||||
<content>45.4</content>
|
||||
<instruction instr-id="956" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="6">
|
||||
<bounding-box x1="215" x2="235" y1="366" y2="377"/>
|
||||
<content>75.2</content>
|
||||
<instruction instr-id="956" subinstr-id="14"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="6">
|
||||
<bounding-box x1="258" x2="277" y1="366" y2="377"/>
|
||||
<content>41.5</content>
|
||||
<instruction instr-id="956" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="6">
|
||||
<bounding-box x1="296" x2="315" y1="366" y2="377"/>
|
||||
<content>73.5</content>
|
||||
<instruction instr-id="956" subinstr-id="18"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="6">
|
||||
<bounding-box x1="338" x2="349" y1="366" y2="377"/>
|
||||
<content>37</content>
|
||||
<instruction instr-id="956" subinstr-id="20"/>
|
||||
<instruction instr-id="956" subinstr-id="22"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="6">
|
||||
<bounding-box x1="477" x2="496" y1="366" y2="377"/>
|
||||
<content>56.8</content>
|
||||
<instruction instr-id="958" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="7">
|
||||
<bounding-box x1="73" x2="104" y1="352" y2="363"/>
|
||||
<content>Greece</content>
|
||||
<instruction instr-id="1022" subinstr-id="0"/>
|
||||
<instruction instr-id="1022" subinstr-id="2"/>
|
||||
<instruction instr-id="1022" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="7">
|
||||
<bounding-box x1="159" x2="179" y1="352" y2="363"/>
|
||||
<content>28.0</content>
|
||||
<instruction instr-id="1024" subinstr-id="0"/>
|
||||
<instruction instr-id="1024" subinstr-id="2"/>
|
||||
<instruction instr-id="1024" subinstr-id="4"/>
|
||||
<instruction instr-id="1024" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col='3' start-row="7">
|
||||
<bounding-box x1="258" x2="277" y1="352" y2="363"/>
|
||||
<content>58.7</content>
|
||||
<instruction instr-id="1026" subinstr-id="0"/>
|
||||
<instruction instr-id="1026" subinstr-id="2"/>
|
||||
<instruction instr-id="1026" subinstr-id="4"/>
|
||||
<instruction instr-id="1026" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="7">
|
||||
<bounding-box x1="477" x2="496" y1="352" y2="363"/>
|
||||
<content>58.7</content>
|
||||
<instruction instr-id="1028" subinstr-id="0"/>
|
||||
<instruction instr-id="1028" subinstr-id="2"/>
|
||||
<instruction instr-id="1028" subinstr-id="4"/>
|
||||
<instruction instr-id="1028" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="8">
|
||||
<bounding-box x1="73" x2="104" y1="339" y2="350"/>
|
||||
<content>Ireland</content>
|
||||
<instruction instr-id="1092" subinstr-id="0"/>
|
||||
<instruction instr-id="1092" subinstr-id="2"/>
|
||||
<instruction instr-id="1092" subinstr-id="4"/>
|
||||
<instruction instr-id="1092" subinstr-id="6"/>
|
||||
<instruction instr-id="1092" subinstr-id="8"/>
|
||||
<instruction instr-id="1092" subinstr-id="10"/>
|
||||
<instruction instr-id="1092" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="8">
|
||||
<bounding-box x1="159" x2="179" y1="339" y2="350"/>
|
||||
<content>64.2</content>
|
||||
<instruction instr-id="1094" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="8">
|
||||
<bounding-box x1="220" x2="231" y1="339" y2="350"/>
|
||||
<content>50</content>
|
||||
<instruction instr-id="1094" subinstr-id="2"/>
|
||||
<instruction instr-id="1094" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="8">
|
||||
<bounding-box x1="258" x2="277" y1="339" y2="350"/>
|
||||
<content>50.4</content>
|
||||
<instruction instr-id="1094" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="8">
|
||||
<bounding-box x1="477" x2="496" y1="339" y2="350"/>
|
||||
<content>50.2</content>
|
||||
<instruction instr-id="1096" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="9">
|
||||
<bounding-box x1="73" x2="93" y1="325" y2="336"/>
|
||||
<content>Italy</content>
|
||||
<instruction instr-id="1159" subinstr-id="0"/>
|
||||
<instruction instr-id="1159" subinstr-id="2"/>
|
||||
<instruction instr-id="1159" subinstr-id="4"/>
|
||||
<instruction instr-id="1159" subinstr-id="6"/>
|
||||
<instruction instr-id="1159" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="9">
|
||||
<bounding-box x1="159" x2="179" y1="325" y2="336"/>
|
||||
<content>11.8</content>
|
||||
<instruction instr-id="1161" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="9">
|
||||
<bounding-box x1="220" x2="231" y1="325" y2="336"/>
|
||||
<content>30</content>
|
||||
<instruction instr-id="1161" subinstr-id="2"/>
|
||||
<instruction instr-id="1161" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="9">
|
||||
<bounding-box x1="262" x2="273" y1="325" y2="336"/>
|
||||
<content>35</content>
|
||||
<instruction instr-id="1161" subinstr-id="6"/>
|
||||
<instruction instr-id="1161" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="6" start-row="9">
|
||||
<bounding-box x1="376" x2="387" y1="325" y2="336"/>
|
||||
<content>21</content>
|
||||
<instruction instr-id="1163" subinstr-id="0"/>
|
||||
<instruction instr-id="1163" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="7" start-row="9">
|
||||
<bounding-box x1="414" x2="433" y1="325" y2="336"/>
|
||||
<content>58.5</content>
|
||||
<instruction instr-id="1163" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="9">
|
||||
<bounding-box x1="477" x2="496" y1="325" y2="336"/>
|
||||
<content>36.1</content>
|
||||
<instruction instr-id="1163" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="10">
|
||||
<bounding-box x1="73" x2="126" y1="312" y2="322"/>
|
||||
<content>Netherlands</content>
|
||||
<instruction instr-id="1226" subinstr-id="0"/>
|
||||
<instruction instr-id="1226" subinstr-id="2"/>
|
||||
<instruction instr-id="1226" subinstr-id="4"/>
|
||||
<instruction instr-id="1226" subinstr-id="6"/>
|
||||
<instruction instr-id="1226" subinstr-id="8"/>
|
||||
<instruction instr-id="1226" subinstr-id="10"/>
|
||||
<instruction instr-id="1226" subinstr-id="12"/>
|
||||
<instruction instr-id="1226" subinstr-id="14"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="10">
|
||||
<bounding-box x1="159" x2="179" y1="312" y2="322"/>
|
||||
<content>50.4</content>
|
||||
<instruction instr-id="1226" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="10">
|
||||
<bounding-box x1="220" x2="231" y1="312" y2="322"/>
|
||||
<content>79</content>
|
||||
<instruction instr-id="1226" subinstr-id="18"/>
|
||||
<instruction instr-id="1226" subinstr-id="20"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="10">
|
||||
<bounding-box x1="258" x2="277" y1="312" y2="322"/>
|
||||
<content>76.7</content>
|
||||
<instruction instr-id="1226" subinstr-id="22"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="10">
|
||||
<bounding-box x1="296" x2="315" y1="312" y2="322"/>
|
||||
<content>71.7</content>
|
||||
<instruction instr-id="1226" subinstr-id="24"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="10">
|
||||
<bounding-box x1="338" x2="349" y1="312" y2="322"/>
|
||||
<content>59</content>
|
||||
<instruction instr-id="1226" subinstr-id="26"/>
|
||||
<instruction instr-id="1226" subinstr-id="28"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="10">
|
||||
<bounding-box x1="477" x2="496" y1="312" y2="322"/>
|
||||
<content>71.6</content>
|
||||
<instruction instr-id="1228" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="11">
|
||||
<bounding-box x1="73" x2="110" y1="298" y2="309"/>
|
||||
<content>Portugal</content>
|
||||
<instruction instr-id="1291" subinstr-id="0"/>
|
||||
<instruction instr-id="1291" subinstr-id="2"/>
|
||||
<instruction instr-id="1291" subinstr-id="4"/>
|
||||
<instruction instr-id="1291" subinstr-id="6"/>
|
||||
<instruction instr-id="1291" subinstr-id="8"/>
|
||||
<instruction instr-id="1291" subinstr-id="10"/>
|
||||
<instruction instr-id="1291" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="11">
|
||||
<bounding-box x1="159" x2="179" y1="298" y2="309"/>
|
||||
<content>55.7</content>
|
||||
<instruction instr-id="1291" subinstr-id="14"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="11">
|
||||
<bounding-box x1="220" x2="231" y1="298" y2="309"/>
|
||||
<content>52</content>
|
||||
<instruction instr-id="1291" subinstr-id="16"/>
|
||||
<instruction instr-id="1291" subinstr-id="18"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="11">
|
||||
<bounding-box x1="258" x2="277" y1="298" y2="309"/>
|
||||
<content>52.9</content>
|
||||
<instruction instr-id="1291" subinstr-id="20"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="7" start-row="11">
|
||||
<bounding-box x1="418" x2="429" y1="298" y2="309"/>
|
||||
<content>55</content>
|
||||
<instruction instr-id="1293" subinstr-id="0"/>
|
||||
<instruction instr-id="1293" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="11">
|
||||
<bounding-box x1="477" x2="496" y1="298" y2="309"/>
|
||||
<content>53.3</content>
|
||||
<instruction instr-id="1293" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="12">
|
||||
<bounding-box x1="73" x2="98" y1="284" y2="295"/>
|
||||
<content>Spain</content>
|
||||
<instruction instr-id="1356" subinstr-id="0"/>
|
||||
<instruction instr-id="1356" subinstr-id="2"/>
|
||||
<instruction instr-id="1356" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="12">
|
||||
<bounding-box x1="159" x2="179" y1="284" y2="295"/>
|
||||
<content>32.1</content>
|
||||
<instruction instr-id="1358" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="12">
|
||||
<bounding-box x1="220" x2="231" y1="284" y2="295"/>
|
||||
<content>38</content>
|
||||
<instruction instr-id="1358" subinstr-id="2"/>
|
||||
<instruction instr-id="1358" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="12">
|
||||
<bounding-box x1="258" x2="277" y1="284" y2="295"/>
|
||||
<content>34.6</content>
|
||||
<instruction instr-id="1358" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="12">
|
||||
<bounding-box x1="338" x2="349" y1="284" y2="295"/>
|
||||
<content>23</content>
|
||||
<instruction instr-id="1360" subinstr-id="0"/>
|
||||
<instruction instr-id="1360" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="7" start-row="12">
|
||||
<bounding-box x1="414" x2="433" y1="284" y2="295"/>
|
||||
<content>47.7</content>
|
||||
<instruction instr-id="1362" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="12">
|
||||
<bounding-box x1="477" x2="496" y1="284" y2="295"/>
|
||||
<content>35.8</content>
|
||||
<instruction instr-id="1362" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="13">
|
||||
<bounding-box x1="73" x2="108" y1="271" y2="282"/>
|
||||
<content>Sweden</content>
|
||||
<instruction instr-id="1425" subinstr-id="0"/>
|
||||
<instruction instr-id="1425" subinstr-id="2"/>
|
||||
<instruction instr-id="1425" subinstr-id="4"/>
|
||||
<instruction instr-id="1425" subinstr-id="6"/>
|
||||
<instruction instr-id="1425" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="13">
|
||||
<bounding-box x1="159" x2="179" y1="271" y2="282"/>
|
||||
<content>77.9</content>
|
||||
<instruction instr-id="1425" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="13">
|
||||
<bounding-box x1="220" x2="231" y1="271" y2="282"/>
|
||||
<content>87</content>
|
||||
<instruction instr-id="1425" subinstr-id="12"/>
|
||||
<instruction instr-id="1425" subinstr-id="14"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="13">
|
||||
<bounding-box x1="258" x2="277" y1="271" y2="282"/>
|
||||
<content>70.5</content>
|
||||
<instruction instr-id="1425" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="13">
|
||||
<bounding-box x1="296" x2="315" y1="271" y2="282"/>
|
||||
<content>93.5</content>
|
||||
<instruction instr-id="1425" subinstr-id="18"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="13">
|
||||
<bounding-box x1="477" x2="496" y1="271" y2="282"/>
|
||||
<content>83.7</content>
|
||||
<instruction instr-id="1427" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="14">
|
||||
<bounding-box x1="73" x2="89" y1="257" y2="268"/>
|
||||
<content>UK</content>
|
||||
<instruction instr-id="1490" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="14">
|
||||
<bounding-box x1="159" x2="179" y1="257" y2="268"/>
|
||||
<content>56.2</content>
|
||||
<instruction instr-id="1492" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="14">
|
||||
<bounding-box x1="220" x2="231" y1="257" y2="268"/>
|
||||
<content>67</content>
|
||||
<instruction instr-id="1492" subinstr-id="2"/>
|
||||
<instruction instr-id="1492" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="14">
|
||||
<bounding-box x1="258" x2="277" y1="257" y2="268"/>
|
||||
<content>65.2</content>
|
||||
<instruction instr-id="1492" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="5" start-row="14">
|
||||
<bounding-box x1="338" x2="349" y1="257" y2="268"/>
|
||||
<content>60</content>
|
||||
<instruction instr-id="1494" subinstr-id="0"/>
|
||||
<instruction instr-id="1494" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="6" start-row="14">
|
||||
<bounding-box x1="376" x2="387" y1="257" y2="268"/>
|
||||
<content>63</content>
|
||||
<instruction instr-id="1494" subinstr-id="4"/>
|
||||
<instruction instr-id="1494" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="14">
|
||||
<bounding-box x1="477" x2="496" y1="257" y2="268"/>
|
||||
<content>63.8</content>
|
||||
<instruction instr-id="1496" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="15">
|
||||
<bounding-box x1="73" x2="110" y1="244" y2="255"/>
|
||||
<content>Average</content>
|
||||
<instruction instr-id="1559" subinstr-id="0"/>
|
||||
<instruction instr-id="1559" subinstr-id="2"/>
|
||||
<instruction instr-id="1559" subinstr-id="4"/>
|
||||
<instruction instr-id="1559" subinstr-id="6"/>
|
||||
<instruction instr-id="1559" subinstr-id="8"/>
|
||||
<instruction instr-id="1559" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="15">
|
||||
<bounding-box x1="159" x2="179" y1="244" y2="255"/>
|
||||
<content>52.9</content>
|
||||
<instruction instr-id="1559" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="8" start-row="15">
|
||||
<bounding-box x1="477" x2="496" y1="244" y2="255"/>
|
||||
<content>61.7</content>
|
||||
<instruction instr-id="1561" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":2,"numCorrectlyDetectedTables":2,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,321 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-006-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='14'/>
|
||||
<instruction instr-id='14' subinstr-id='2'/>
|
||||
<instruction instr-id='14' subinstr-id='4'/>
|
||||
<instruction instr-id='14' subinstr-id='6'/>
|
||||
<instruction instr-id='14' subinstr-id='8'/>
|
||||
<instruction instr-id='14' subinstr-id='10'/>
|
||||
<instruction instr-id='14' subinstr-id='12'/>
|
||||
<instruction instr-id='14' subinstr-id='14'/>
|
||||
<instruction instr-id='14' subinstr-id='16'/>
|
||||
<instruction instr-id='14' subinstr-id='18'/>
|
||||
<instruction instr-id='14' subinstr-id='20'/>
|
||||
<instruction instr-id='14' subinstr-id='22'/>
|
||||
<instruction instr-id='14' subinstr-id='24'/>
|
||||
<instruction instr-id='14' subinstr-id='26'/>
|
||||
<instruction instr-id='14' subinstr-id='28'/>
|
||||
<instruction instr-id='14' subinstr-id='30'/>
|
||||
<instruction instr-id='14' subinstr-id='32'/>
|
||||
<instruction instr-id='14' subinstr-id='34'/>
|
||||
<instruction instr-id='14' subinstr-id='36'/>
|
||||
<instruction instr-id='14' subinstr-id='38'/>
|
||||
<instruction instr-id='14' subinstr-id='40'/>
|
||||
<instruction instr-id='14' subinstr-id='42'/>
|
||||
<instruction instr-id='14' subinstr-id='44'/>
|
||||
<instruction instr-id='14' subinstr-id='46'/>
|
||||
<instruction instr-id='47'/>
|
||||
<instruction instr-id='47' subinstr-id='2'/>
|
||||
<instruction instr-id='47' subinstr-id='4'/>
|
||||
<instruction instr-id='47' subinstr-id='6'/>
|
||||
<instruction instr-id='47' subinstr-id='8'/>
|
||||
<instruction instr-id='49'/>
|
||||
<instruction instr-id='51'/>
|
||||
<instruction instr-id='51' subinstr-id='2'/>
|
||||
<instruction instr-id='79'/>
|
||||
<instruction instr-id='79' subinstr-id='2'/>
|
||||
<instruction instr-id='79' subinstr-id='4'/>
|
||||
<instruction instr-id='79' subinstr-id='6'/>
|
||||
<instruction instr-id='81'/>
|
||||
<instruction instr-id='83'/>
|
||||
<instruction instr-id='110'/>
|
||||
<instruction instr-id='110' subinstr-id='2'/>
|
||||
<instruction instr-id='110' subinstr-id='4'/>
|
||||
<instruction instr-id='110' subinstr-id='6'/>
|
||||
<instruction instr-id='110' subinstr-id='8'/>
|
||||
<instruction instr-id='110' subinstr-id='10'/>
|
||||
<instruction instr-id='110' subinstr-id='12'/>
|
||||
<instruction instr-id='110' subinstr-id='14'/>
|
||||
<instruction instr-id='110' subinstr-id='16'/>
|
||||
<instruction instr-id='112'/>
|
||||
<instruction instr-id='114'/>
|
||||
<instruction instr-id='141'/>
|
||||
<instruction instr-id='141' subinstr-id='2'/>
|
||||
<instruction instr-id='141' subinstr-id='4'/>
|
||||
<instruction instr-id='143'/>
|
||||
<instruction instr-id='145'/>
|
||||
<instruction instr-id='173'/>
|
||||
<instruction instr-id='173' subinstr-id='2'/>
|
||||
<instruction instr-id='173' subinstr-id='4'/>
|
||||
<instruction instr-id='173' subinstr-id='6'/>
|
||||
<instruction instr-id='173' subinstr-id='8'/>
|
||||
<instruction instr-id='173' subinstr-id='10'/>
|
||||
<instruction instr-id='173' subinstr-id='12'/>
|
||||
<instruction instr-id='175'/>
|
||||
<instruction instr-id='177'/>
|
||||
<instruction instr-id='204'/>
|
||||
<instruction instr-id='204' subinstr-id='2'/>
|
||||
<instruction instr-id='204' subinstr-id='4'/>
|
||||
<instruction instr-id='204' subinstr-id='6'/>
|
||||
<instruction instr-id='204' subinstr-id='8'/>
|
||||
<instruction instr-id='206'/>
|
||||
<instruction instr-id='208'/>
|
||||
<instruction instr-id='237'/>
|
||||
<instruction instr-id='237' subinstr-id='2'/>
|
||||
<instruction instr-id='237' subinstr-id='4'/>
|
||||
<instruction instr-id='239'/>
|
||||
<instruction instr-id='239' subinstr-id='2'/>
|
||||
<instruction instr-id='239' subinstr-id='4'/>
|
||||
<instruction instr-id='239' subinstr-id='6'/>
|
||||
<instruction instr-id='241'/>
|
||||
<instruction instr-id='241' subinstr-id='2'/>
|
||||
<instruction instr-id='241' subinstr-id='4'/>
|
||||
<instruction instr-id='269'/>
|
||||
<instruction instr-id='269' subinstr-id='2'/>
|
||||
<instruction instr-id='269' subinstr-id='4'/>
|
||||
<instruction instr-id='269' subinstr-id='6'/>
|
||||
<instruction instr-id='269' subinstr-id='8'/>
|
||||
<instruction instr-id='269' subinstr-id='10'/>
|
||||
<instruction instr-id='269' subinstr-id='12'/>
|
||||
<instruction instr-id='271'/>
|
||||
<instruction instr-id='273'/>
|
||||
<instruction instr-id='301'/>
|
||||
<instruction instr-id='301' subinstr-id='2'/>
|
||||
<instruction instr-id='301' subinstr-id='4'/>
|
||||
<instruction instr-id='303'/>
|
||||
<instruction instr-id='305'/>
|
||||
<instruction instr-id='332'/>
|
||||
<instruction instr-id='332' subinstr-id='2'/>
|
||||
<instruction instr-id='332' subinstr-id='4'/>
|
||||
<instruction instr-id='334'/>
|
||||
<instruction instr-id='336'/>
|
||||
<instruction instr-id='364'/>
|
||||
<instruction instr-id='364' subinstr-id='2'/>
|
||||
<instruction instr-id='364' subinstr-id='4'/>
|
||||
<instruction instr-id='364' subinstr-id='6'/>
|
||||
<instruction instr-id='366'/>
|
||||
<instruction instr-id='368'/>
|
||||
<instruction instr-id='396'/>
|
||||
<instruction instr-id='396' subinstr-id='2'/>
|
||||
<instruction instr-id='396' subinstr-id='4'/>
|
||||
<instruction instr-id='396' subinstr-id='6'/>
|
||||
<instruction instr-id='396' subinstr-id='8'/>
|
||||
<instruction instr-id='398'/>
|
||||
<instruction instr-id='400'/>
|
||||
<instruction instr-id='427'/>
|
||||
<instruction instr-id='427' subinstr-id='2'/>
|
||||
<instruction instr-id='427' subinstr-id='4'/>
|
||||
<instruction instr-id='427' subinstr-id='6'/>
|
||||
<instruction instr-id='427' subinstr-id='8'/>
|
||||
<instruction instr-id='427' subinstr-id='10'/>
|
||||
<instruction instr-id='427' subinstr-id='12'/>
|
||||
<instruction instr-id='429'/>
|
||||
<instruction instr-id='431'/>
|
||||
<instruction instr-id='459'/>
|
||||
<instruction instr-id='459' subinstr-id='2'/>
|
||||
<instruction instr-id='459' subinstr-id='4'/>
|
||||
<instruction instr-id='461'/>
|
||||
<instruction instr-id='463'/>
|
||||
<instruction instr-id='491'/>
|
||||
<instruction instr-id='491' subinstr-id='2'/>
|
||||
<instruction instr-id='491' subinstr-id='4'/>
|
||||
<instruction instr-id='491' subinstr-id='6'/>
|
||||
<instruction instr-id='491' subinstr-id='8'/>
|
||||
<instruction instr-id='493'/>
|
||||
<instruction instr-id='495'/>
|
||||
<bounding-box x1='113' y1='536' x2='460' y2='750'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='2'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='557'/>
|
||||
<instruction instr-id='557' subinstr-id='2'/>
|
||||
<instruction instr-id='557' subinstr-id='4'/>
|
||||
<instruction instr-id='557' subinstr-id='6'/>
|
||||
<instruction instr-id='602'/>
|
||||
<instruction instr-id='602' subinstr-id='2'/>
|
||||
<instruction instr-id='602' subinstr-id='4'/>
|
||||
<instruction instr-id='602' subinstr-id='6'/>
|
||||
<instruction instr-id='602' subinstr-id='8'/>
|
||||
<instruction instr-id='602' subinstr-id='10'/>
|
||||
<instruction instr-id='602' subinstr-id='12'/>
|
||||
<instruction instr-id='602' subinstr-id='14'/>
|
||||
<instruction instr-id='602' subinstr-id='16'/>
|
||||
<instruction instr-id='602' subinstr-id='18'/>
|
||||
<instruction instr-id='602' subinstr-id='20'/>
|
||||
<instruction instr-id='602' subinstr-id='22'/>
|
||||
<instruction instr-id='602' subinstr-id='24'/>
|
||||
<instruction instr-id='641'/>
|
||||
<instruction instr-id='641' subinstr-id='2'/>
|
||||
<instruction instr-id='641' subinstr-id='4'/>
|
||||
<instruction instr-id='641' subinstr-id='6'/>
|
||||
<instruction instr-id='643'/>
|
||||
<instruction instr-id='643' subinstr-id='2'/>
|
||||
<instruction instr-id='643' subinstr-id='4'/>
|
||||
<instruction instr-id='643' subinstr-id='6'/>
|
||||
<instruction instr-id='684'/>
|
||||
<instruction instr-id='684' subinstr-id='2'/>
|
||||
<instruction instr-id='684' subinstr-id='4'/>
|
||||
<instruction instr-id='684' subinstr-id='6'/>
|
||||
<instruction instr-id='684' subinstr-id='8'/>
|
||||
<instruction instr-id='684' subinstr-id='10'/>
|
||||
<instruction instr-id='686'/>
|
||||
<instruction instr-id='686' subinstr-id='2'/>
|
||||
<instruction instr-id='686' subinstr-id='4'/>
|
||||
<instruction instr-id='688'/>
|
||||
<instruction instr-id='688' subinstr-id='2'/>
|
||||
<instruction instr-id='688' subinstr-id='4'/>
|
||||
<instruction instr-id='688' subinstr-id='6'/>
|
||||
<instruction instr-id='688' subinstr-id='8'/>
|
||||
<instruction instr-id='688' subinstr-id='10'/>
|
||||
<bounding-box x1='112' y1='346' x2='461' y2='397'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='3'>
|
||||
<region id='2' page='2'>
|
||||
<instruction instr-id='18'/>
|
||||
<instruction instr-id='18' subinstr-id='2'/>
|
||||
<instruction instr-id='18' subinstr-id='4'/>
|
||||
<instruction instr-id='18' subinstr-id='6'/>
|
||||
<instruction instr-id='18' subinstr-id='8'/>
|
||||
<instruction instr-id='18' subinstr-id='10'/>
|
||||
<instruction instr-id='18' subinstr-id='12'/>
|
||||
<instruction instr-id='18' subinstr-id='14'/>
|
||||
<instruction instr-id='18' subinstr-id='16'/>
|
||||
<instruction instr-id='18' subinstr-id='18'/>
|
||||
<instruction instr-id='18' subinstr-id='20'/>
|
||||
<instruction instr-id='18' subinstr-id='22'/>
|
||||
<instruction instr-id='18' subinstr-id='24'/>
|
||||
<instruction instr-id='18' subinstr-id='26'/>
|
||||
<instruction instr-id='18' subinstr-id='28'/>
|
||||
<instruction instr-id='18' subinstr-id='30'/>
|
||||
<instruction instr-id='18' subinstr-id='32'/>
|
||||
<instruction instr-id='18' subinstr-id='34'/>
|
||||
<instruction instr-id='43'/>
|
||||
<instruction instr-id='43' subinstr-id='2'/>
|
||||
<instruction instr-id='43' subinstr-id='4'/>
|
||||
<instruction instr-id='43' subinstr-id='6'/>
|
||||
<instruction instr-id='43' subinstr-id='8'/>
|
||||
<instruction instr-id='45'/>
|
||||
<instruction instr-id='67'/>
|
||||
<instruction instr-id='67' subinstr-id='2'/>
|
||||
<instruction instr-id='67' subinstr-id='4'/>
|
||||
<instruction instr-id='67' subinstr-id='6'/>
|
||||
<instruction instr-id='69'/>
|
||||
<instruction instr-id='91'/>
|
||||
<instruction instr-id='91' subinstr-id='2'/>
|
||||
<instruction instr-id='91' subinstr-id='4'/>
|
||||
<instruction instr-id='91' subinstr-id='6'/>
|
||||
<instruction instr-id='91' subinstr-id='8'/>
|
||||
<instruction instr-id='93'/>
|
||||
<instruction instr-id='93' subinstr-id='2'/>
|
||||
<instruction instr-id='93' subinstr-id='4'/>
|
||||
<instruction instr-id='115'/>
|
||||
<instruction instr-id='115' subinstr-id='2'/>
|
||||
<instruction instr-id='115' subinstr-id='4'/>
|
||||
<instruction instr-id='115' subinstr-id='6'/>
|
||||
<instruction instr-id='115' subinstr-id='8'/>
|
||||
<instruction instr-id='115' subinstr-id='10'/>
|
||||
<instruction instr-id='137'/>
|
||||
<instruction instr-id='137' subinstr-id='2'/>
|
||||
<instruction instr-id='137' subinstr-id='4'/>
|
||||
<instruction instr-id='137' subinstr-id='6'/>
|
||||
<instruction instr-id='137' subinstr-id='8'/>
|
||||
<instruction instr-id='137' subinstr-id='10'/>
|
||||
<instruction instr-id='137' subinstr-id='12'/>
|
||||
<instruction instr-id='158'/>
|
||||
<instruction instr-id='160'/>
|
||||
<instruction instr-id='160' subinstr-id='2'/>
|
||||
<instruction instr-id='160' subinstr-id='4'/>
|
||||
<bounding-box x1='193' y1='619' x2='413' y2='711'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='4'>
|
||||
<region id='1' page='3'>
|
||||
<instruction instr-id='12'/>
|
||||
<instruction instr-id='12' subinstr-id='2'/>
|
||||
<instruction instr-id='12' subinstr-id='4'/>
|
||||
<instruction instr-id='12' subinstr-id='6'/>
|
||||
<instruction instr-id='12' subinstr-id='8'/>
|
||||
<instruction instr-id='12' subinstr-id='10'/>
|
||||
<instruction instr-id='12' subinstr-id='12'/>
|
||||
<instruction instr-id='12' subinstr-id='14'/>
|
||||
<instruction instr-id='12' subinstr-id='16'/>
|
||||
<instruction instr-id='12' subinstr-id='18'/>
|
||||
<instruction instr-id='12' subinstr-id='20'/>
|
||||
<instruction instr-id='12' subinstr-id='22'/>
|
||||
<instruction instr-id='12' subinstr-id='24'/>
|
||||
<instruction instr-id='12' subinstr-id='26'/>
|
||||
<instruction instr-id='12' subinstr-id='28'/>
|
||||
<instruction instr-id='12' subinstr-id='30'/>
|
||||
<instruction instr-id='12' subinstr-id='32'/>
|
||||
<instruction instr-id='12' subinstr-id='34'/>
|
||||
<instruction instr-id='12' subinstr-id='36'/>
|
||||
<instruction instr-id='12' subinstr-id='38'/>
|
||||
<instruction instr-id='29'/>
|
||||
<instruction instr-id='29' subinstr-id='2'/>
|
||||
<instruction instr-id='29' subinstr-id='4'/>
|
||||
<instruction instr-id='29' subinstr-id='6'/>
|
||||
<instruction instr-id='29' subinstr-id='8'/>
|
||||
<instruction instr-id='29' subinstr-id='10'/>
|
||||
<instruction instr-id='29' subinstr-id='12'/>
|
||||
<instruction instr-id='31'/>
|
||||
<instruction instr-id='33'/>
|
||||
<instruction instr-id='50'/>
|
||||
<instruction instr-id='50' subinstr-id='2'/>
|
||||
<instruction instr-id='50' subinstr-id='4'/>
|
||||
<instruction instr-id='50' subinstr-id='6'/>
|
||||
<instruction instr-id='50' subinstr-id='8'/>
|
||||
<instruction instr-id='50' subinstr-id='10'/>
|
||||
<instruction instr-id='50' subinstr-id='12'/>
|
||||
<instruction instr-id='52'/>
|
||||
<instruction instr-id='54'/>
|
||||
<instruction instr-id='56'/>
|
||||
<instruction instr-id='56' subinstr-id='2'/>
|
||||
<instruction instr-id='56' subinstr-id='4'/>
|
||||
<instruction instr-id='56' subinstr-id='6'/>
|
||||
<instruction instr-id='58'/>
|
||||
<instruction instr-id='60'/>
|
||||
<instruction instr-id='62'/>
|
||||
<instruction instr-id='62' subinstr-id='2'/>
|
||||
<instruction instr-id='62' subinstr-id='4'/>
|
||||
<instruction instr-id='64'/>
|
||||
<instruction instr-id='66'/>
|
||||
<instruction instr-id='68'/>
|
||||
<instruction instr-id='68' subinstr-id='2'/>
|
||||
<instruction instr-id='68' subinstr-id='4'/>
|
||||
<instruction instr-id='68' subinstr-id='6'/>
|
||||
<instruction instr-id='70'/>
|
||||
<instruction instr-id='72'/>
|
||||
<instruction instr-id='76'/>
|
||||
<instruction instr-id='76' subinstr-id='2'/>
|
||||
<instruction instr-id='76' subinstr-id='4'/>
|
||||
<instruction instr-id='76' subinstr-id='6'/>
|
||||
<instruction instr-id='76' subinstr-id='8'/>
|
||||
<instruction instr-id='76' subinstr-id='10'/>
|
||||
<instruction instr-id='76' subinstr-id='12'/>
|
||||
<instruction instr-id='76' subinstr-id='14'/>
|
||||
<instruction instr-id='78'/>
|
||||
<instruction instr-id='78' subinstr-id='2'/>
|
||||
<instruction instr-id='78' subinstr-id='4'/>
|
||||
<instruction instr-id='80'/>
|
||||
<instruction instr-id='80' subinstr-id='2'/>
|
||||
<instruction instr-id='80' subinstr-id='4'/>
|
||||
<instruction instr-id='80' subinstr-id='6'/>
|
||||
<bounding-box x1='107' y1='641' x2='486' y2='730'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,725 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-006-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell id="1" start-col="0" start-row="0">
|
||||
<bounding-box x1="113" x2="145" y1="739" y2="750"/>
|
||||
<content>Names</content>
|
||||
<instruction instr-id="14" subinstr-id="0"/>
|
||||
<instruction instr-id="14" subinstr-id="2"/>
|
||||
<instruction instr-id="14" subinstr-id="4"/>
|
||||
<instruction instr-id="14" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="237" x2="360" y1="739" y2="750"/>
|
||||
<content>Own brands market share</content>
|
||||
<instruction instr-id="14" subinstr-id="8"/>
|
||||
<instruction instr-id="14" subinstr-id="10"/>
|
||||
<instruction instr-id="14" subinstr-id="12"/>
|
||||
<instruction instr-id="14" subinstr-id="14"/>
|
||||
<instruction instr-id="14" subinstr-id="16"/>
|
||||
<instruction instr-id="14" subinstr-id="18"/>
|
||||
<instruction instr-id="14" subinstr-id="20"/>
|
||||
<instruction instr-id="14" subinstr-id="22"/>
|
||||
<instruction instr-id="14" subinstr-id="24"/>
|
||||
<instruction instr-id="14" subinstr-id="26"/>
|
||||
<instruction instr-id="14" subinstr-id="28"/>
|
||||
<instruction instr-id="14" subinstr-id="30"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="381" x2="460" y1="739" y2="750"/>
|
||||
<content>Number of items</content>
|
||||
<instruction instr-id="14" subinstr-id="32"/>
|
||||
<instruction instr-id="14" subinstr-id="34"/>
|
||||
<instruction instr-id="14" subinstr-id="36"/>
|
||||
<instruction instr-id="14" subinstr-id="38"/>
|
||||
<instruction instr-id="14" subinstr-id="40"/>
|
||||
<instruction instr-id="14" subinstr-id="42"/>
|
||||
<instruction instr-id="14" subinstr-id="44"/>
|
||||
<instruction instr-id="14" subinstr-id="46"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="113" x2="151" y1="726" y2="736"/>
|
||||
<content>Franprix</content>
|
||||
<instruction instr-id="47" subinstr-id="0"/>
|
||||
<instruction instr-id="47" subinstr-id="2"/>
|
||||
<instruction instr-id="47" subinstr-id="4"/>
|
||||
<instruction instr-id="47" subinstr-id="6"/>
|
||||
<instruction instr-id="47" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="291" x2="310" y1="726" y2="736"/>
|
||||
<content>28.0</content>
|
||||
<instruction instr-id="49" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="426" x2="442" y1="726" y2="736"/>
|
||||
<content>n.a.</content>
|
||||
<instruction instr-id="51" subinstr-id="0"/>
|
||||
<instruction instr-id="51" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="113" x2="144" y1="712" y2="723"/>
|
||||
<content>Casino</content>
|
||||
<instruction instr-id="79" subinstr-id="0"/>
|
||||
<instruction instr-id="79" subinstr-id="2"/>
|
||||
<instruction instr-id="79" subinstr-id="4"/>
|
||||
<instruction instr-id="79" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="291" x2="310" y1="712" y2="723"/>
|
||||
<content>24.8</content>
|
||||
<instruction instr-id="81" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="420" x2="442" y1="712" y2="723"/>
|
||||
<content>1800</content>
|
||||
<instruction instr-id="83" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="113" x2="166" y1="698" y2="709"/>
|
||||
<content>Intermarché</content>
|
||||
<instruction instr-id="110" subinstr-id="0"/>
|
||||
<instruction instr-id="110" subinstr-id="2"/>
|
||||
<instruction instr-id="110" subinstr-id="4"/>
|
||||
<instruction instr-id="110" subinstr-id="6"/>
|
||||
<instruction instr-id="110" subinstr-id="8"/>
|
||||
<instruction instr-id="110" subinstr-id="10"/>
|
||||
<instruction instr-id="110" subinstr-id="12"/>
|
||||
<instruction instr-id="110" subinstr-id="14"/>
|
||||
<instruction instr-id="110" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="291" x2="310" y1="698" y2="709"/>
|
||||
<content>24.7</content>
|
||||
<instruction instr-id="112" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="420" x2="442" y1="698" y2="709"/>
|
||||
<content>2500</content>
|
||||
<instruction instr-id="114" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="113" x2="140" y1="685" y2="696"/>
|
||||
<content>Géant</content>
|
||||
<instruction instr-id="141" subinstr-id="0"/>
|
||||
<instruction instr-id="141" subinstr-id="2"/>
|
||||
<instruction instr-id="141" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="291" x2="310" y1="685" y2="696"/>
|
||||
<content>20.0</content>
|
||||
<instruction instr-id="143" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="420" x2="442" y1="685" y2="696"/>
|
||||
<content>1800</content>
|
||||
<instruction instr-id="145" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="113" x2="156" y1="671" y2="682"/>
|
||||
<content>Carrefour</content>
|
||||
<instruction instr-id="173" subinstr-id="0"/>
|
||||
<instruction instr-id="173" subinstr-id="2"/>
|
||||
<instruction instr-id="173" subinstr-id="4"/>
|
||||
<instruction instr-id="173" subinstr-id="6"/>
|
||||
<instruction instr-id="173" subinstr-id="8"/>
|
||||
<instruction instr-id="173" subinstr-id="10"/>
|
||||
<instruction instr-id="173" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="291" x2="310" y1="671" y2="682"/>
|
||||
<content>18.9</content>
|
||||
<instruction instr-id="175" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="420" x2="442" y1="671" y2="682"/>
|
||||
<content>1642</content>
|
||||
<instruction instr-id="177" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="6">
|
||||
<bounding-box x1="113" x2="157" y1="658" y2="669"/>
|
||||
<content>Monoprix</content>
|
||||
<instruction instr-id="204" subinstr-id="0"/>
|
||||
<instruction instr-id="204" subinstr-id="2"/>
|
||||
<instruction instr-id="204" subinstr-id="4"/>
|
||||
<instruction instr-id="204" subinstr-id="6"/>
|
||||
<instruction instr-id="204" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="6">
|
||||
<bounding-box x1="291" x2="310" y1="658" y2="669"/>
|
||||
<content>18.7</content>
|
||||
<instruction instr-id="206" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="6">
|
||||
<bounding-box x1="420" x2="442" y1="658" y2="669"/>
|
||||
<content>1800</content>
|
||||
<instruction instr-id="208" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="7">
|
||||
<bounding-box x1="113" x2="161" y1="644" y2="655"/>
|
||||
<content>Système U</content>
|
||||
<instruction instr-id="237" subinstr-id="0"/>
|
||||
<instruction instr-id="237" subinstr-id="2"/>
|
||||
<instruction instr-id="237" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="7">
|
||||
<bounding-box x1="291" x2="310" y1="644" y2="655"/>
|
||||
<content>18.5</content>
|
||||
<instruction instr-id="239" subinstr-id="0"/>
|
||||
<instruction instr-id="239" subinstr-id="2"/>
|
||||
<instruction instr-id="239" subinstr-id="4"/>
|
||||
<instruction instr-id="239" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="7">
|
||||
<bounding-box x1="423" x2="439" y1="644" y2="655"/>
|
||||
<content>985</content>
|
||||
<instruction instr-id="241" subinstr-id="0"/>
|
||||
<instruction instr-id="241" subinstr-id="2"/>
|
||||
<instruction instr-id="241" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="8">
|
||||
<bounding-box x1="113" x2="157" y1="631" y2="642"/>
|
||||
<content>Continent</content>
|
||||
<instruction instr-id="269" subinstr-id="0"/>
|
||||
<instruction instr-id="269" subinstr-id="2"/>
|
||||
<instruction instr-id="269" subinstr-id="4"/>
|
||||
<instruction instr-id="269" subinstr-id="6"/>
|
||||
<instruction instr-id="269" subinstr-id="8"/>
|
||||
<instruction instr-id="269" subinstr-id="10"/>
|
||||
<instruction instr-id="269" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="8">
|
||||
<bounding-box x1="291" x2="310" y1="631" y2="642"/>
|
||||
<content>17.8</content>
|
||||
<instruction instr-id="271" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="8">
|
||||
<bounding-box x1="420" x2="442" y1="631" y2="642"/>
|
||||
<content>1440</content>
|
||||
<instruction instr-id="273" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="9">
|
||||
<bounding-box x1="113" x2="133" y1="617" y2="628"/>
|
||||
<content>Stoc</content>
|
||||
<instruction instr-id="301" subinstr-id="0"/>
|
||||
<instruction instr-id="301" subinstr-id="2"/>
|
||||
<instruction instr-id="301" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="9">
|
||||
<bounding-box x1="291" x2="310" y1="617" y2="628"/>
|
||||
<content>16.2</content>
|
||||
<instruction instr-id="303" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="9">
|
||||
<bounding-box x1="423" x2="439" y1="617" y2="628"/>
|
||||
<content>650</content>
|
||||
<instruction instr-id="305" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="10">
|
||||
<bounding-box x1="113" x2="148" y1="603" y2="614"/>
|
||||
<content>Auchan</content>
|
||||
<instruction instr-id="332" subinstr-id="0"/>
|
||||
<instruction instr-id="332" subinstr-id="2"/>
|
||||
<instruction instr-id="332" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="10">
|
||||
<bounding-box x1="291" x2="310" y1="603" y2="614"/>
|
||||
<content>15.7</content>
|
||||
<instruction instr-id="334" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="10">
|
||||
<bounding-box x1="420" x2="442" y1="603" y2="614"/>
|
||||
<content>1500</content>
|
||||
<instruction instr-id="336" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="11">
|
||||
<bounding-box x1="113" x2="141" y1="590" y2="601"/>
|
||||
<content>Match</content>
|
||||
<instruction instr-id="364" subinstr-id="0"/>
|
||||
<instruction instr-id="364" subinstr-id="2"/>
|
||||
<instruction instr-id="364" subinstr-id="4"/>
|
||||
<instruction instr-id="364" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="11">
|
||||
<bounding-box x1="291" x2="310" y1="590" y2="601"/>
|
||||
<content>15.4</content>
|
||||
<instruction instr-id="366" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="11">
|
||||
<bounding-box x1="420" x2="442" y1="590" y2="601"/>
|
||||
<content>1100</content>
|
||||
<instruction instr-id="368" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="12">
|
||||
<bounding-box x1="113" x2="159" y1="576" y2="587"/>
|
||||
<content>Champion</content>
|
||||
<instruction instr-id="396" subinstr-id="0"/>
|
||||
<instruction instr-id="396" subinstr-id="2"/>
|
||||
<instruction instr-id="396" subinstr-id="4"/>
|
||||
<instruction instr-id="396" subinstr-id="6"/>
|
||||
<instruction instr-id="396" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="12">
|
||||
<bounding-box x1="291" x2="310" y1="576" y2="587"/>
|
||||
<content>15.1</content>
|
||||
<instruction instr-id="398" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="12">
|
||||
<bounding-box x1="420" x2="442" y1="576" y2="587"/>
|
||||
<content>1240</content>
|
||||
<instruction instr-id="400" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="13">
|
||||
<bounding-box x1="113" x2="146" y1="563" y2="574"/>
|
||||
<content>Leclerc</content>
|
||||
<instruction instr-id="427" subinstr-id="0"/>
|
||||
<instruction instr-id="427" subinstr-id="2"/>
|
||||
<instruction instr-id="427" subinstr-id="4"/>
|
||||
<instruction instr-id="427" subinstr-id="6"/>
|
||||
<instruction instr-id="427" subinstr-id="8"/>
|
||||
<instruction instr-id="427" subinstr-id="10"/>
|
||||
<instruction instr-id="427" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="13">
|
||||
<bounding-box x1="291" x2="310" y1="563" y2="574"/>
|
||||
<content>14.8</content>
|
||||
<instruction instr-id="429" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="13">
|
||||
<bounding-box x1="423" x2="439" y1="563" y2="574"/>
|
||||
<content>500</content>
|
||||
<instruction instr-id="431" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="14">
|
||||
<bounding-box x1="113" x2="135" y1="549" y2="560"/>
|
||||
<content>Cora</content>
|
||||
<instruction instr-id="459" subinstr-id="0"/>
|
||||
<instruction instr-id="459" subinstr-id="2"/>
|
||||
<instruction instr-id="459" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="14">
|
||||
<bounding-box x1="291" x2="310" y1="549" y2="560"/>
|
||||
<content>12.2</content>
|
||||
<instruction instr-id="461" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="14">
|
||||
<bounding-box x1="420" x2="442" y1="549" y2="560"/>
|
||||
<content>1224</content>
|
||||
<instruction instr-id="463" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="15">
|
||||
<bounding-box x1="113" x2="149" y1="536" y2="547"/>
|
||||
<content>Prisunic</content>
|
||||
<instruction instr-id="491" subinstr-id="0"/>
|
||||
<instruction instr-id="491" subinstr-id="2"/>
|
||||
<instruction instr-id="491" subinstr-id="4"/>
|
||||
<instruction instr-id="491" subinstr-id="6"/>
|
||||
<instruction instr-id="491" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="15">
|
||||
<bounding-box x1="291" x2="310" y1="536" y2="547"/>
|
||||
<content>11.7</content>
|
||||
<instruction instr-id="493" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="15">
|
||||
<bounding-box x1="423" x2="439" y1="536" y2="547"/>
|
||||
<content>550</content>
|
||||
<instruction instr-id="495" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
<table id="2">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="227" x2="249" y1="386" y2="397"/>
|
||||
<content>1991</content>
|
||||
<instruction instr-id="557" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="301" x2="323" y1="386" y2="397"/>
|
||||
<content>1994</content>
|
||||
<instruction instr-id="557" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="0">
|
||||
<bounding-box x1="370" x2="392" y1="386" y2="397"/>
|
||||
<content>1995</content>
|
||||
<instruction instr-id="557" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="0">
|
||||
<bounding-box x1="439" x2="461" y1="386" y2="397"/>
|
||||
<content>1996</content>
|
||||
<instruction instr-id="557" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="112" x2="183" y1="373" y2="384"/>
|
||||
<content>National Brands</content>
|
||||
<instruction instr-id="602" subinstr-id="0"/>
|
||||
<instruction instr-id="602" subinstr-id="2"/>
|
||||
<instruction instr-id="602" subinstr-id="4"/>
|
||||
<instruction instr-id="602" subinstr-id="6"/>
|
||||
<instruction instr-id="602" subinstr-id="8"/>
|
||||
<instruction instr-id="602" subinstr-id="10"/>
|
||||
<instruction instr-id="602" subinstr-id="12"/>
|
||||
<instruction instr-id="602" subinstr-id="14"/>
|
||||
<instruction instr-id="602" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="227" x2="247" y1="373" y2="384"/>
|
||||
<content>80.6</content>
|
||||
<instruction instr-id="602" subinstr-id="18"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="301" x2="320" y1="373" y2="384"/>
|
||||
<content>75.0</content>
|
||||
<instruction instr-id="602" subinstr-id="20"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="1">
|
||||
<bounding-box x1="371" x2="390" y1="373" y2="384"/>
|
||||
<content>75.3</content>
|
||||
<instruction instr-id="602" subinstr-id="22"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="1">
|
||||
<bounding-box x1="439" x2="458" y1="373" y2="384"/>
|
||||
<content>76.0</content>
|
||||
<instruction instr-id="602" subinstr-id="24"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="112" x2="167" y1="359" y2="370"/>
|
||||
<content>Own Brands</content>
|
||||
<instruction instr-id="641" subinstr-id="0"/>
|
||||
<instruction instr-id="641" subinstr-id="2"/>
|
||||
<instruction instr-id="641" subinstr-id="4"/>
|
||||
<instruction instr-id="641" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="227" x2="247" y1="359" y2="370"/>
|
||||
<content>14.7</content>
|
||||
<instruction instr-id="643" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="301" x2="320" y1="359" y2="370"/>
|
||||
<content>17.1</content>
|
||||
<instruction instr-id="643" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="371" x2="390" y1="359" y2="370"/>
|
||||
<content>17.4</content>
|
||||
<instruction instr-id="643" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="2">
|
||||
<bounding-box x1="439" x2="458" y1="359" y2="370"/>
|
||||
<content>17.1</content>
|
||||
<instruction instr-id="643" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="112" x2="182" y1="346" y2="357"/>
|
||||
<content>Low price items</content>
|
||||
<instruction instr-id="684" subinstr-id="0"/>
|
||||
<instruction instr-id="684" subinstr-id="2"/>
|
||||
<instruction instr-id="684" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="233" x2="246" y1="346" y2="357"/>
|
||||
<content>4.7</content>
|
||||
<instruction instr-id="684" subinstr-id="6"/>
|
||||
<instruction instr-id="684" subinstr-id="8"/>
|
||||
<instruction instr-id="684" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="305" x2="318" y1="346" y2="357"/>
|
||||
<content>7.9</content>
|
||||
<instruction instr-id="686" subinstr-id="0"/>
|
||||
<instruction instr-id="686" subinstr-id="2"/>
|
||||
<instruction instr-id="686" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="376" x2="390" y1="346" y2="357"/>
|
||||
<content>7.3</content>
|
||||
<instruction instr-id="688" subinstr-id="0"/>
|
||||
<instruction instr-id="688" subinstr-id="2"/>
|
||||
<instruction instr-id="688" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="4" start-row="3">
|
||||
<bounding-box x1="444" x2="458" y1="346" y2="357"/>
|
||||
<content>6.9</content>
|
||||
<instruction instr-id="688" subinstr-id="6"/>
|
||||
<instruction instr-id="688" subinstr-id="8"/>
|
||||
<instruction instr-id="688" subinstr-id="10"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
<table id="3">
|
||||
<region col-increment="0" id="2" page="2" row-increment="0">
|
||||
<cell id="1" start-col="0" start-row="0">
|
||||
<bounding-box x1="193" x2="231" y1="700" y2="711"/>
|
||||
<content>Retailer</content>
|
||||
<instruction instr-id="18" subinstr-id="0"/>
|
||||
<instruction instr-id="18" subinstr-id="2"/>
|
||||
<instruction instr-id="18" subinstr-id="4"/>
|
||||
<instruction instr-id="18" subinstr-id="6"/>
|
||||
<instruction instr-id="18" subinstr-id="8"/>
|
||||
<instruction instr-id="18" subinstr-id="10"/>
|
||||
<instruction instr-id="18" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="281" x2="413" y1="700" y2="711"/>
|
||||
<content>Own Brands Market Shares</content>
|
||||
<instruction instr-id="18" subinstr-id="14"/>
|
||||
<instruction instr-id="18" subinstr-id="16"/>
|
||||
<instruction instr-id="18" subinstr-id="18"/>
|
||||
<instruction instr-id="18" subinstr-id="20"/>
|
||||
<instruction instr-id="18" subinstr-id="22"/>
|
||||
<instruction instr-id="18" subinstr-id="24"/>
|
||||
<instruction instr-id="18" subinstr-id="26"/>
|
||||
<instruction instr-id="18" subinstr-id="28"/>
|
||||
<instruction instr-id="18" subinstr-id="30"/>
|
||||
<instruction instr-id="18" subinstr-id="32"/>
|
||||
<instruction instr-id="18" subinstr-id="34"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="193" x2="237" y1="687" y2="698"/>
|
||||
<content>Monoprix</content>
|
||||
<instruction instr-id="43" subinstr-id="0"/>
|
||||
<instruction instr-id="43" subinstr-id="2"/>
|
||||
<instruction instr-id="43" subinstr-id="4"/>
|
||||
<instruction instr-id="43" subinstr-id="6"/>
|
||||
<instruction instr-id="43" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="338" x2="358" y1="687" y2="698"/>
|
||||
<content>28%</content>
|
||||
<instruction instr-id="45" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="193" x2="224" y1="673" y2="684"/>
|
||||
<content>Casino</content>
|
||||
<instruction instr-id="67" subinstr-id="0"/>
|
||||
<instruction instr-id="67" subinstr-id="2"/>
|
||||
<instruction instr-id="67" subinstr-id="4"/>
|
||||
<instruction instr-id="67" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="338" x2="358" y1="673" y2="684"/>
|
||||
<content>25%</content>
|
||||
<instruction instr-id="69" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="193" x2="246" y1="660" y2="671"/>
|
||||
<content>Intermarché</content>
|
||||
<instruction instr-id="91" subinstr-id="0"/>
|
||||
<instruction instr-id="91" subinstr-id="2"/>
|
||||
<instruction instr-id="91" subinstr-id="4"/>
|
||||
<instruction instr-id="91" subinstr-id="6"/>
|
||||
<instruction instr-id="91" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="338" x2="358" y1="660" y2="671"/>
|
||||
<content>23%</content>
|
||||
<instruction instr-id="93" subinstr-id="0"/>
|
||||
<instruction instr-id="93" subinstr-id="2"/>
|
||||
<instruction instr-id="93" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="193" x2="236" y1="646" y2="657"/>
|
||||
<content>Carrefour</content>
|
||||
<instruction instr-id="115" subinstr-id="0"/>
|
||||
<instruction instr-id="115" subinstr-id="2"/>
|
||||
<instruction instr-id="115" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="338" x2="358" y1="646" y2="657"/>
|
||||
<content>22%</content>
|
||||
<instruction instr-id="115" subinstr-id="6"/>
|
||||
<instruction instr-id="115" subinstr-id="8"/>
|
||||
<instruction instr-id="115" subinstr-id="10"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="193" x2="227" y1="633" y2="644"/>
|
||||
<content>Auchan</content>
|
||||
<instruction instr-id="137" subinstr-id="0"/>
|
||||
<instruction instr-id="137" subinstr-id="2"/>
|
||||
<instruction instr-id="137" subinstr-id="4"/>
|
||||
<instruction instr-id="137" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="338" x2="358" y1="633" y2="644"/>
|
||||
<content>19%</content>
|
||||
<instruction instr-id="137" subinstr-id="8"/>
|
||||
<instruction instr-id="137" subinstr-id="10"/>
|
||||
<instruction instr-id="137" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="6">
|
||||
<bounding-box x1="193" x2="226" y1="619" y2="630"/>
|
||||
<content>Leclerc</content>
|
||||
<instruction instr-id="158" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="6">
|
||||
<bounding-box x1="338" x2="358" y1="619" y2="630"/>
|
||||
<content>10%</content>
|
||||
<instruction instr-id="160" subinstr-id="0"/>
|
||||
<instruction instr-id="160" subinstr-id="2"/>
|
||||
<instruction instr-id="160" subinstr-id="4"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
<table id="4">
|
||||
<region col-increment="0" id="1" page="3" row-increment="0">
|
||||
<cell id="1" start-col="0" start-row="0">
|
||||
<bounding-box x1="107" x2="142" y1="719" y2="730"/>
|
||||
<content>Groups</content>
|
||||
<instruction instr-id="12" subinstr-id="0"/>
|
||||
<instruction instr-id="12" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="235" x2="361" y1="719" y2="730"/>
|
||||
<content>Foreign turnover (FFr bn.)</content>
|
||||
<instruction instr-id="12" subinstr-id="4"/>
|
||||
<instruction instr-id="12" subinstr-id="6"/>
|
||||
<instruction instr-id="12" subinstr-id="8"/>
|
||||
<instruction instr-id="12" subinstr-id="10"/>
|
||||
<instruction instr-id="12" subinstr-id="12"/>
|
||||
<instruction instr-id="12" subinstr-id="14"/>
|
||||
<instruction instr-id="12" subinstr-id="16"/>
|
||||
<instruction instr-id="12" subinstr-id="18"/>
|
||||
<instruction instr-id="12" subinstr-id="20"/>
|
||||
<instruction instr-id="12" subinstr-id="22"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="388" x2="486" y1="719" y2="730"/>
|
||||
<content>% of Total Turnover</content>
|
||||
<instruction instr-id="12" subinstr-id="24"/>
|
||||
<instruction instr-id="12" subinstr-id="26"/>
|
||||
<instruction instr-id="12" subinstr-id="28"/>
|
||||
<instruction instr-id="12" subinstr-id="30"/>
|
||||
<instruction instr-id="12" subinstr-id="32"/>
|
||||
<instruction instr-id="12" subinstr-id="34"/>
|
||||
<instruction instr-id="12" subinstr-id="36"/>
|
||||
<instruction instr-id="12" subinstr-id="38"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="107" x2="149" y1="705" y2="716"/>
|
||||
<content>Carrefour</content>
|
||||
<instruction instr-id="29" subinstr-id="0"/>
|
||||
<instruction instr-id="29" subinstr-id="2"/>
|
||||
<instruction instr-id="29" subinstr-id="4"/>
|
||||
<instruction instr-id="29" subinstr-id="6"/>
|
||||
<instruction instr-id="29" subinstr-id="8"/>
|
||||
<instruction instr-id="29" subinstr-id="10"/>
|
||||
<instruction instr-id="29" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="281" x2="300" y1="705" y2="716"/>
|
||||
<content>62.7</content>
|
||||
<instruction instr-id="31" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="430" x2="458" y1="705" y2="716"/>
|
||||
<content>40.5%</content>
|
||||
<instruction instr-id="33" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="107" x2="151" y1="693" y2="703"/>
|
||||
<content>Promodès</content>
|
||||
<instruction instr-id="50" subinstr-id="0"/>
|
||||
<instruction instr-id="50" subinstr-id="2"/>
|
||||
<instruction instr-id="50" subinstr-id="4"/>
|
||||
<instruction instr-id="50" subinstr-id="6"/>
|
||||
<instruction instr-id="50" subinstr-id="8"/>
|
||||
<instruction instr-id="50" subinstr-id="10"/>
|
||||
<instruction instr-id="50" subinstr-id="12"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="281" x2="300" y1="693" y2="703"/>
|
||||
<content>37.0</content>
|
||||
<instruction instr-id="52" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="430" x2="458" y1="693" y2="703"/>
|
||||
<content>35.7%</content>
|
||||
<instruction instr-id="54" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="107" x2="141" y1="680" y2="691"/>
|
||||
<content>Auchan</content>
|
||||
<instruction instr-id="56" subinstr-id="0"/>
|
||||
<instruction instr-id="56" subinstr-id="2"/>
|
||||
<instruction instr-id="56" subinstr-id="4"/>
|
||||
<instruction instr-id="56" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="281" x2="300" y1="680" y2="691"/>
|
||||
<content>23.5</content>
|
||||
<instruction instr-id="58" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="430" x2="458" y1="680" y2="691"/>
|
||||
<content>19.5%</content>
|
||||
<instruction instr-id="60" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="107" x2="128" y1="667" y2="678"/>
|
||||
<content>Cora</content>
|
||||
<instruction instr-id="62" subinstr-id="0"/>
|
||||
<instruction instr-id="62" subinstr-id="2"/>
|
||||
<instruction instr-id="62" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="281" x2="300" y1="667" y2="678"/>
|
||||
<content>11.0</content>
|
||||
<instruction instr-id="64" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="430" x2="458" y1="667" y2="678"/>
|
||||
<content>24.0%</content>
|
||||
<instruction instr-id="66" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="107" x2="137" y1="654" y2="665"/>
|
||||
<content>Casino</content>
|
||||
<instruction instr-id="68" subinstr-id="0"/>
|
||||
<instruction instr-id="68" subinstr-id="2"/>
|
||||
<instruction instr-id="68" subinstr-id="4"/>
|
||||
<instruction instr-id="68" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="287" x2="300" y1="654" y2="665"/>
|
||||
<content>8.5</content>
|
||||
<instruction instr-id="70" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="430" x2="458" y1="654" y2="665"/>
|
||||
<content>11.5%</content>
|
||||
<instruction instr-id="72" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="6">
|
||||
<bounding-box x1="107" x2="199" y1="641" y2="652"/>
|
||||
<content>Comptoirs Modernes</content>
|
||||
<instruction instr-id="76" subinstr-id="0"/>
|
||||
<instruction instr-id="76" subinstr-id="2"/>
|
||||
<instruction instr-id="76" subinstr-id="4"/>
|
||||
<instruction instr-id="76" subinstr-id="6"/>
|
||||
<instruction instr-id="76" subinstr-id="8"/>
|
||||
<instruction instr-id="76" subinstr-id="10"/>
|
||||
<instruction instr-id="76" subinstr-id="12"/>
|
||||
<instruction instr-id="76" subinstr-id="14"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="6">
|
||||
<bounding-box x1="287" x2="300" y1="641" y2="652"/>
|
||||
<content>2.0</content>
|
||||
<instruction instr-id="78" subinstr-id="0"/>
|
||||
<instruction instr-id="78" subinstr-id="2"/>
|
||||
<instruction instr-id="78" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="6">
|
||||
<bounding-box x1="435" x2="458" y1="641" y2="652"/>
|
||||
<content>7.0%</content>
|
||||
<instruction instr-id="80" subinstr-id="0"/>
|
||||
<instruction instr-id="80" subinstr-id="2"/>
|
||||
<instruction instr-id="80" subinstr-id="4"/>
|
||||
<instruction instr-id="80" subinstr-id="6"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":4,"numCorrectlyDetectedTables":4,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,606 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-007-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='13'/>
|
||||
<instruction instr-id='13' subinstr-id='2'/>
|
||||
<instruction instr-id='13' subinstr-id='4'/>
|
||||
<instruction instr-id='13' subinstr-id='6'/>
|
||||
<instruction instr-id='13' subinstr-id='8'/>
|
||||
<instruction instr-id='13' subinstr-id='10'/>
|
||||
<instruction instr-id='13' subinstr-id='12'/>
|
||||
<instruction instr-id='13' subinstr-id='14'/>
|
||||
<instruction instr-id='13' subinstr-id='16'/>
|
||||
<instruction instr-id='13' subinstr-id='18'/>
|
||||
<instruction instr-id='13' subinstr-id='20'/>
|
||||
<instruction instr-id='13' subinstr-id='22'/>
|
||||
<instruction instr-id='13' subinstr-id='24'/>
|
||||
<instruction instr-id='13' subinstr-id='26'/>
|
||||
<instruction instr-id='13' subinstr-id='28'/>
|
||||
<instruction instr-id='13' subinstr-id='30'/>
|
||||
<instruction instr-id='13' subinstr-id='32'/>
|
||||
<instruction instr-id='52'/>
|
||||
<instruction instr-id='52' subinstr-id='2'/>
|
||||
<instruction instr-id='52' subinstr-id='4'/>
|
||||
<instruction instr-id='52' subinstr-id='6'/>
|
||||
<instruction instr-id='52' subinstr-id='8'/>
|
||||
<instruction instr-id='52' subinstr-id='10'/>
|
||||
<instruction instr-id='52' subinstr-id='12'/>
|
||||
<instruction instr-id='52' subinstr-id='14'/>
|
||||
<instruction instr-id='52' subinstr-id='16'/>
|
||||
<instruction instr-id='54'/>
|
||||
<instruction instr-id='54' subinstr-id='2'/>
|
||||
<instruction instr-id='56'/>
|
||||
<instruction instr-id='56' subinstr-id='2'/>
|
||||
<instruction instr-id='56' subinstr-id='4'/>
|
||||
<instruction instr-id='56' subinstr-id='6'/>
|
||||
<instruction instr-id='56' subinstr-id='8'/>
|
||||
<instruction instr-id='90'/>
|
||||
<instruction instr-id='92'/>
|
||||
<instruction instr-id='92' subinstr-id='2'/>
|
||||
<instruction instr-id='94'/>
|
||||
<instruction instr-id='94' subinstr-id='2'/>
|
||||
<instruction instr-id='96'/>
|
||||
<instruction instr-id='96' subinstr-id='2'/>
|
||||
<instruction instr-id='96' subinstr-id='4'/>
|
||||
<instruction instr-id='131'/>
|
||||
<instruction instr-id='131' subinstr-id='2'/>
|
||||
<instruction instr-id='131' subinstr-id='4'/>
|
||||
<instruction instr-id='131' subinstr-id='6'/>
|
||||
<instruction instr-id='133'/>
|
||||
<instruction instr-id='133' subinstr-id='2'/>
|
||||
<instruction instr-id='133' subinstr-id='4'/>
|
||||
<instruction instr-id='133' subinstr-id='6'/>
|
||||
<instruction instr-id='133' subinstr-id='8'/>
|
||||
<instruction instr-id='133' subinstr-id='10'/>
|
||||
<instruction instr-id='133' subinstr-id='12'/>
|
||||
<instruction instr-id='133' subinstr-id='14'/>
|
||||
<instruction instr-id='133' subinstr-id='16'/>
|
||||
<instruction instr-id='133' subinstr-id='18'/>
|
||||
<instruction instr-id='167'/>
|
||||
<instruction instr-id='167' subinstr-id='2'/>
|
||||
<instruction instr-id='167' subinstr-id='4'/>
|
||||
<instruction instr-id='167' subinstr-id='6'/>
|
||||
<instruction instr-id='167' subinstr-id='8'/>
|
||||
<instruction instr-id='167' subinstr-id='10'/>
|
||||
<instruction instr-id='167' subinstr-id='12'/>
|
||||
<instruction instr-id='167' subinstr-id='14'/>
|
||||
<instruction instr-id='169'/>
|
||||
<instruction instr-id='169' subinstr-id='2'/>
|
||||
<instruction instr-id='169' subinstr-id='4'/>
|
||||
<instruction instr-id='171'/>
|
||||
<instruction instr-id='171' subinstr-id='2'/>
|
||||
<instruction instr-id='171' subinstr-id='4'/>
|
||||
<bounding-box x1='108' y1='685' x2='466' y2='750'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='2'>
|
||||
<region id='1' page='2'>
|
||||
<instruction instr-id='142'/>
|
||||
<instruction instr-id='142' subinstr-id='2'/>
|
||||
<instruction instr-id='142' subinstr-id='4'/>
|
||||
<instruction instr-id='144'/>
|
||||
<instruction instr-id='144' subinstr-id='2'/>
|
||||
<instruction instr-id='144' subinstr-id='4'/>
|
||||
<instruction instr-id='144' subinstr-id='6'/>
|
||||
<instruction instr-id='144' subinstr-id='8'/>
|
||||
<instruction instr-id='144' subinstr-id='10'/>
|
||||
<instruction instr-id='201'/>
|
||||
<instruction instr-id='201' subinstr-id='2'/>
|
||||
<instruction instr-id='201' subinstr-id='4'/>
|
||||
<instruction instr-id='201' subinstr-id='6'/>
|
||||
<instruction instr-id='201' subinstr-id='8'/>
|
||||
<instruction instr-id='201' subinstr-id='10'/>
|
||||
<instruction instr-id='201' subinstr-id='12'/>
|
||||
<instruction instr-id='201' subinstr-id='14'/>
|
||||
<instruction instr-id='201' subinstr-id='16'/>
|
||||
<instruction instr-id='201' subinstr-id='18'/>
|
||||
<instruction instr-id='201' subinstr-id='20'/>
|
||||
<instruction instr-id='207'/>
|
||||
<instruction instr-id='207' subinstr-id='2'/>
|
||||
<instruction instr-id='207' subinstr-id='4'/>
|
||||
<instruction instr-id='207' subinstr-id='6'/>
|
||||
<instruction instr-id='207' subinstr-id='8'/>
|
||||
<instruction instr-id='207' subinstr-id='10'/>
|
||||
<instruction instr-id='207' subinstr-id='12'/>
|
||||
<instruction instr-id='210'/>
|
||||
<instruction instr-id='210' subinstr-id='2'/>
|
||||
<instruction instr-id='210' subinstr-id='4'/>
|
||||
<instruction instr-id='210' subinstr-id='6'/>
|
||||
<instruction instr-id='210' subinstr-id='8'/>
|
||||
<instruction instr-id='210' subinstr-id='10'/>
|
||||
<bounding-box x1='96' y1='158' x2='492' y2='195'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='3'>
|
||||
<region id='1' page='3'>
|
||||
<instruction instr-id='46'/>
|
||||
<instruction instr-id='46' subinstr-id='2'/>
|
||||
<instruction instr-id='46' subinstr-id='4'/>
|
||||
<instruction instr-id='46' subinstr-id='6'/>
|
||||
<instruction instr-id='46' subinstr-id='8'/>
|
||||
<instruction instr-id='46' subinstr-id='10'/>
|
||||
<instruction instr-id='46' subinstr-id='12'/>
|
||||
<instruction instr-id='46' subinstr-id='14'/>
|
||||
<instruction instr-id='46' subinstr-id='16'/>
|
||||
<instruction instr-id='46' subinstr-id='18'/>
|
||||
<instruction instr-id='46' subinstr-id='20'/>
|
||||
<instruction instr-id='46' subinstr-id='22'/>
|
||||
<instruction instr-id='46' subinstr-id='24'/>
|
||||
<instruction instr-id='46' subinstr-id='26'/>
|
||||
<instruction instr-id='77'/>
|
||||
<instruction instr-id='77' subinstr-id='2'/>
|
||||
<instruction instr-id='77' subinstr-id='4'/>
|
||||
<instruction instr-id='77' subinstr-id='6'/>
|
||||
<instruction instr-id='77' subinstr-id='8'/>
|
||||
<instruction instr-id='77' subinstr-id='10'/>
|
||||
<instruction instr-id='77' subinstr-id='12'/>
|
||||
<instruction instr-id='77' subinstr-id='14'/>
|
||||
<instruction instr-id='77' subinstr-id='16'/>
|
||||
<instruction instr-id='77' subinstr-id='18'/>
|
||||
<instruction instr-id='77' subinstr-id='20'/>
|
||||
<instruction instr-id='79'/>
|
||||
<instruction instr-id='79' subinstr-id='2'/>
|
||||
<instruction instr-id='79' subinstr-id='4'/>
|
||||
<instruction instr-id='79' subinstr-id='6'/>
|
||||
<instruction instr-id='79' subinstr-id='8'/>
|
||||
<instruction instr-id='81'/>
|
||||
<instruction instr-id='81' subinstr-id='2'/>
|
||||
<instruction instr-id='81' subinstr-id='4'/>
|
||||
<instruction instr-id='81' subinstr-id='6'/>
|
||||
<instruction instr-id='81' subinstr-id='8'/>
|
||||
<bounding-box x1='105' y1='597' x2='475' y2='621'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='4'>
|
||||
<region id='1' page='3'>
|
||||
<instruction instr-id='170'/>
|
||||
<instruction instr-id='170' subinstr-id='2'/>
|
||||
<instruction instr-id='170' subinstr-id='4'/>
|
||||
<instruction instr-id='170' subinstr-id='6'/>
|
||||
<instruction instr-id='170' subinstr-id='8'/>
|
||||
<instruction instr-id='170' subinstr-id='10'/>
|
||||
<instruction instr-id='170' subinstr-id='12'/>
|
||||
<instruction instr-id='170' subinstr-id='14'/>
|
||||
<instruction instr-id='170' subinstr-id='16'/>
|
||||
<instruction instr-id='170' subinstr-id='18'/>
|
||||
<instruction instr-id='174'/>
|
||||
<instruction instr-id='174' subinstr-id='2'/>
|
||||
<instruction instr-id='174' subinstr-id='4'/>
|
||||
<instruction instr-id='174' subinstr-id='6'/>
|
||||
<instruction instr-id='174' subinstr-id='8'/>
|
||||
<instruction instr-id='178'/>
|
||||
<instruction instr-id='178' subinstr-id='2'/>
|
||||
<instruction instr-id='178' subinstr-id='4'/>
|
||||
<instruction instr-id='178' subinstr-id='6'/>
|
||||
<instruction instr-id='182'/>
|
||||
<instruction instr-id='182' subinstr-id='2'/>
|
||||
<instruction instr-id='182' subinstr-id='4'/>
|
||||
<instruction instr-id='182' subinstr-id='6'/>
|
||||
<instruction instr-id='182' subinstr-id='8'/>
|
||||
<instruction instr-id='215'/>
|
||||
<instruction instr-id='215' subinstr-id='2'/>
|
||||
<instruction instr-id='215' subinstr-id='4'/>
|
||||
<instruction instr-id='215' subinstr-id='6'/>
|
||||
<instruction instr-id='215' subinstr-id='8'/>
|
||||
<instruction instr-id='215' subinstr-id='10'/>
|
||||
<instruction instr-id='221'/>
|
||||
<instruction instr-id='221' subinstr-id='2'/>
|
||||
<instruction instr-id='221' subinstr-id='4'/>
|
||||
<instruction instr-id='221' subinstr-id='6'/>
|
||||
<instruction instr-id='221' subinstr-id='8'/>
|
||||
<instruction instr-id='221' subinstr-id='10'/>
|
||||
<instruction instr-id='224'/>
|
||||
<instruction instr-id='224' subinstr-id='2'/>
|
||||
<instruction instr-id='253'/>
|
||||
<instruction instr-id='253' subinstr-id='2'/>
|
||||
<instruction instr-id='253' subinstr-id='4'/>
|
||||
<instruction instr-id='253' subinstr-id='6'/>
|
||||
<instruction instr-id='253' subinstr-id='8'/>
|
||||
<instruction instr-id='257'/>
|
||||
<instruction instr-id='257' subinstr-id='2'/>
|
||||
<instruction instr-id='257' subinstr-id='4'/>
|
||||
<instruction instr-id='257' subinstr-id='6'/>
|
||||
<instruction instr-id='257' subinstr-id='8'/>
|
||||
<instruction instr-id='260'/>
|
||||
<instruction instr-id='260' subinstr-id='2'/>
|
||||
<instruction instr-id='289'/>
|
||||
<instruction instr-id='289' subinstr-id='2'/>
|
||||
<instruction instr-id='289' subinstr-id='4'/>
|
||||
<instruction instr-id='289' subinstr-id='6'/>
|
||||
<instruction instr-id='289' subinstr-id='8'/>
|
||||
<instruction instr-id='289' subinstr-id='10'/>
|
||||
<instruction instr-id='289' subinstr-id='12'/>
|
||||
<instruction instr-id='293'/>
|
||||
<instruction instr-id='293' subinstr-id='2'/>
|
||||
<instruction instr-id='293' subinstr-id='4'/>
|
||||
<instruction instr-id='293' subinstr-id='6'/>
|
||||
<instruction instr-id='293' subinstr-id='8'/>
|
||||
<instruction instr-id='296'/>
|
||||
<instruction instr-id='296' subinstr-id='2'/>
|
||||
<instruction instr-id='325'/>
|
||||
<instruction instr-id='325' subinstr-id='2'/>
|
||||
<instruction instr-id='325' subinstr-id='4'/>
|
||||
<instruction instr-id='325' subinstr-id='6'/>
|
||||
<instruction instr-id='325' subinstr-id='8'/>
|
||||
<instruction instr-id='329'/>
|
||||
<instruction instr-id='329' subinstr-id='2'/>
|
||||
<instruction instr-id='329' subinstr-id='4'/>
|
||||
<instruction instr-id='329' subinstr-id='6'/>
|
||||
<instruction instr-id='329' subinstr-id='8'/>
|
||||
<instruction instr-id='332'/>
|
||||
<instruction instr-id='334'/>
|
||||
<instruction instr-id='362'/>
|
||||
<instruction instr-id='364'/>
|
||||
<instruction instr-id='364' subinstr-id='2'/>
|
||||
<instruction instr-id='364' subinstr-id='4'/>
|
||||
<instruction instr-id='364' subinstr-id='6'/>
|
||||
<instruction instr-id='366'/>
|
||||
<instruction instr-id='366' subinstr-id='2'/>
|
||||
<instruction instr-id='366' subinstr-id='4'/>
|
||||
<instruction instr-id='366' subinstr-id='6'/>
|
||||
<instruction instr-id='394'/>
|
||||
<instruction instr-id='394' subinstr-id='2'/>
|
||||
<instruction instr-id='394' subinstr-id='4'/>
|
||||
<instruction instr-id='394' subinstr-id='6'/>
|
||||
<instruction instr-id='394' subinstr-id='8'/>
|
||||
<instruction instr-id='394' subinstr-id='10'/>
|
||||
<instruction instr-id='394' subinstr-id='12'/>
|
||||
<instruction instr-id='396'/>
|
||||
<instruction instr-id='398'/>
|
||||
<instruction instr-id='426'/>
|
||||
<instruction instr-id='426' subinstr-id='2'/>
|
||||
<instruction instr-id='426' subinstr-id='4'/>
|
||||
<instruction instr-id='426' subinstr-id='6'/>
|
||||
<instruction instr-id='426' subinstr-id='8'/>
|
||||
<instruction instr-id='428'/>
|
||||
<instruction instr-id='428' subinstr-id='2'/>
|
||||
<instruction instr-id='430'/>
|
||||
<instruction instr-id='430' subinstr-id='2'/>
|
||||
<instruction instr-id='457'/>
|
||||
<instruction instr-id='457' subinstr-id='2'/>
|
||||
<instruction instr-id='457' subinstr-id='4'/>
|
||||
<instruction instr-id='457' subinstr-id='6'/>
|
||||
<instruction instr-id='457' subinstr-id='8'/>
|
||||
<instruction instr-id='459'/>
|
||||
<instruction instr-id='459' subinstr-id='2'/>
|
||||
<instruction instr-id='461'/>
|
||||
<instruction instr-id='461' subinstr-id='2'/>
|
||||
<instruction instr-id='489'/>
|
||||
<instruction instr-id='489' subinstr-id='2'/>
|
||||
<instruction instr-id='489' subinstr-id='4'/>
|
||||
<instruction instr-id='489' subinstr-id='6'/>
|
||||
<instruction instr-id='489' subinstr-id='8'/>
|
||||
<instruction instr-id='489' subinstr-id='10'/>
|
||||
<instruction instr-id='489' subinstr-id='12'/>
|
||||
<instruction instr-id='489' subinstr-id='14'/>
|
||||
<instruction instr-id='489' subinstr-id='16'/>
|
||||
<instruction instr-id='489' subinstr-id='18'/>
|
||||
<instruction instr-id='489' subinstr-id='20'/>
|
||||
<instruction instr-id='489' subinstr-id='22'/>
|
||||
<instruction instr-id='489' subinstr-id='24'/>
|
||||
<instruction instr-id='489' subinstr-id='26'/>
|
||||
<instruction instr-id='489' subinstr-id='28'/>
|
||||
<instruction instr-id='489' subinstr-id='30'/>
|
||||
<instruction instr-id='489' subinstr-id='32'/>
|
||||
<instruction instr-id='489' subinstr-id='34'/>
|
||||
<instruction instr-id='491'/>
|
||||
<instruction instr-id='493'/>
|
||||
<instruction instr-id='520'/>
|
||||
<instruction instr-id='520' subinstr-id='2'/>
|
||||
<instruction instr-id='520' subinstr-id='4'/>
|
||||
<instruction instr-id='520' subinstr-id='6'/>
|
||||
<instruction instr-id='520' subinstr-id='8'/>
|
||||
<instruction instr-id='520' subinstr-id='10'/>
|
||||
<instruction instr-id='522'/>
|
||||
<instruction instr-id='524'/>
|
||||
<bounding-box x1='92' y1='151' x2='493' y2='361'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='5'>
|
||||
<region id='1' page='5'>
|
||||
<instruction instr-id='15'/>
|
||||
<instruction instr-id='15' subinstr-id='2'/>
|
||||
<instruction instr-id='15' subinstr-id='4'/>
|
||||
<instruction instr-id='15' subinstr-id='6'/>
|
||||
<instruction instr-id='15' subinstr-id='8'/>
|
||||
<instruction instr-id='15' subinstr-id='10'/>
|
||||
<instruction instr-id='15' subinstr-id='12'/>
|
||||
<instruction instr-id='15' subinstr-id='14'/>
|
||||
<instruction instr-id='15' subinstr-id='16'/>
|
||||
<instruction instr-id='15' subinstr-id='18'/>
|
||||
<instruction instr-id='15' subinstr-id='20'/>
|
||||
<instruction instr-id='15' subinstr-id='22'/>
|
||||
<instruction instr-id='15' subinstr-id='24'/>
|
||||
<instruction instr-id='15' subinstr-id='26'/>
|
||||
<instruction instr-id='15' subinstr-id='28'/>
|
||||
<instruction instr-id='15' subinstr-id='30'/>
|
||||
<instruction instr-id='15' subinstr-id='32'/>
|
||||
<instruction instr-id='54'/>
|
||||
<instruction instr-id='54' subinstr-id='2'/>
|
||||
<instruction instr-id='54' subinstr-id='4'/>
|
||||
<instruction instr-id='54' subinstr-id='6'/>
|
||||
<instruction instr-id='54' subinstr-id='8'/>
|
||||
<instruction instr-id='54' subinstr-id='10'/>
|
||||
<instruction instr-id='54' subinstr-id='12'/>
|
||||
<instruction instr-id='54' subinstr-id='14'/>
|
||||
<instruction instr-id='54' subinstr-id='16'/>
|
||||
<instruction instr-id='54' subinstr-id='18'/>
|
||||
<instruction instr-id='54' subinstr-id='20'/>
|
||||
<instruction instr-id='54' subinstr-id='22'/>
|
||||
<instruction instr-id='56'/>
|
||||
<bounding-box x1='163' y1='726' x2='430' y2='750'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='6'>
|
||||
<region id='1' page='5'>
|
||||
<instruction instr-id='165'/>
|
||||
<instruction instr-id='165' subinstr-id='2'/>
|
||||
<instruction instr-id='165' subinstr-id='4'/>
|
||||
<instruction instr-id='165' subinstr-id='6'/>
|
||||
<instruction instr-id='165' subinstr-id='8'/>
|
||||
<instruction instr-id='165' subinstr-id='10'/>
|
||||
<instruction instr-id='165' subinstr-id='12'/>
|
||||
<instruction instr-id='165' subinstr-id='14'/>
|
||||
<instruction instr-id='165' subinstr-id='16'/>
|
||||
<instruction instr-id='165' subinstr-id='18'/>
|
||||
<instruction instr-id='165' subinstr-id='20'/>
|
||||
<instruction instr-id='165' subinstr-id='22'/>
|
||||
<instruction instr-id='165' subinstr-id='24'/>
|
||||
<instruction instr-id='165' subinstr-id='26'/>
|
||||
<instruction instr-id='165' subinstr-id='28'/>
|
||||
<instruction instr-id='165' subinstr-id='30'/>
|
||||
<instruction instr-id='165' subinstr-id='32'/>
|
||||
<instruction instr-id='165' subinstr-id='34'/>
|
||||
<instruction instr-id='165' subinstr-id='36'/>
|
||||
<instruction instr-id='165' subinstr-id='38'/>
|
||||
<instruction instr-id='204'/>
|
||||
<instruction instr-id='204' subinstr-id='2'/>
|
||||
<instruction instr-id='204' subinstr-id='4'/>
|
||||
<instruction instr-id='204' subinstr-id='6'/>
|
||||
<instruction instr-id='204' subinstr-id='8'/>
|
||||
<instruction instr-id='204' subinstr-id='10'/>
|
||||
<instruction instr-id='204' subinstr-id='12'/>
|
||||
<instruction instr-id='204' subinstr-id='14'/>
|
||||
<instruction instr-id='209'/>
|
||||
<instruction instr-id='209' subinstr-id='2'/>
|
||||
<instruction instr-id='209' subinstr-id='4'/>
|
||||
<instruction instr-id='209' subinstr-id='6'/>
|
||||
<instruction instr-id='209' subinstr-id='8'/>
|
||||
<instruction instr-id='209' subinstr-id='10'/>
|
||||
<instruction instr-id='209' subinstr-id='12'/>
|
||||
<instruction instr-id='209' subinstr-id='14'/>
|
||||
<instruction instr-id='209' subinstr-id='16'/>
|
||||
<instruction instr-id='209' subinstr-id='18'/>
|
||||
<instruction instr-id='209' subinstr-id='20'/>
|
||||
<instruction instr-id='212'/>
|
||||
<instruction instr-id='212' subinstr-id='2'/>
|
||||
<instruction instr-id='212' subinstr-id='4'/>
|
||||
<instruction instr-id='212' subinstr-id='6'/>
|
||||
<instruction instr-id='212' subinstr-id='8'/>
|
||||
<instruction instr-id='212' subinstr-id='10'/>
|
||||
<instruction instr-id='212' subinstr-id='12'/>
|
||||
<instruction instr-id='212' subinstr-id='14'/>
|
||||
<instruction instr-id='212' subinstr-id='16'/>
|
||||
<instruction instr-id='218'/>
|
||||
<instruction instr-id='223'/>
|
||||
<instruction instr-id='223' subinstr-id='2'/>
|
||||
<instruction instr-id='223' subinstr-id='4'/>
|
||||
<instruction instr-id='223' subinstr-id='6'/>
|
||||
<instruction instr-id='223' subinstr-id='8'/>
|
||||
<instruction instr-id='223' subinstr-id='10'/>
|
||||
<instruction instr-id='228'/>
|
||||
<instruction instr-id='228' subinstr-id='2'/>
|
||||
<instruction instr-id='228' subinstr-id='4'/>
|
||||
<instruction instr-id='228' subinstr-id='6'/>
|
||||
<instruction instr-id='228' subinstr-id='8'/>
|
||||
<instruction instr-id='228' subinstr-id='10'/>
|
||||
<instruction instr-id='228' subinstr-id='12'/>
|
||||
<instruction instr-id='228' subinstr-id='14'/>
|
||||
<instruction instr-id='228' subinstr-id='16'/>
|
||||
<instruction instr-id='232'/>
|
||||
<instruction instr-id='232' subinstr-id='2'/>
|
||||
<instruction instr-id='232' subinstr-id='4'/>
|
||||
<instruction instr-id='232' subinstr-id='6'/>
|
||||
<instruction instr-id='232' subinstr-id='8'/>
|
||||
<instruction instr-id='232' subinstr-id='10'/>
|
||||
<instruction instr-id='232' subinstr-id='12'/>
|
||||
<instruction instr-id='235'/>
|
||||
<instruction instr-id='235' subinstr-id='2'/>
|
||||
<instruction instr-id='235' subinstr-id='4'/>
|
||||
<instruction instr-id='235' subinstr-id='6'/>
|
||||
<instruction instr-id='235' subinstr-id='8'/>
|
||||
<instruction instr-id='235' subinstr-id='10'/>
|
||||
<instruction instr-id='235' subinstr-id='12'/>
|
||||
<instruction instr-id='235' subinstr-id='14'/>
|
||||
<instruction instr-id='235' subinstr-id='16'/>
|
||||
<instruction instr-id='269'/>
|
||||
<instruction instr-id='269' subinstr-id='2'/>
|
||||
<instruction instr-id='269' subinstr-id='4'/>
|
||||
<instruction instr-id='273'/>
|
||||
<instruction instr-id='273' subinstr-id='2'/>
|
||||
<instruction instr-id='273' subinstr-id='4'/>
|
||||
<instruction instr-id='273' subinstr-id='6'/>
|
||||
<instruction instr-id='273' subinstr-id='8'/>
|
||||
<instruction instr-id='273' subinstr-id='10'/>
|
||||
<instruction instr-id='273' subinstr-id='12'/>
|
||||
<instruction instr-id='273' subinstr-id='14'/>
|
||||
<instruction instr-id='278'/>
|
||||
<instruction instr-id='278' subinstr-id='2'/>
|
||||
<instruction instr-id='278' subinstr-id='4'/>
|
||||
<instruction instr-id='278' subinstr-id='6'/>
|
||||
<instruction instr-id='278' subinstr-id='8'/>
|
||||
<instruction instr-id='278' subinstr-id='10'/>
|
||||
<instruction instr-id='278' subinstr-id='12'/>
|
||||
<instruction instr-id='278' subinstr-id='14'/>
|
||||
<instruction instr-id='284'/>
|
||||
<instruction instr-id='284' subinstr-id='2'/>
|
||||
<instruction instr-id='284' subinstr-id='4'/>
|
||||
<instruction instr-id='284' subinstr-id='6'/>
|
||||
<instruction instr-id='284' subinstr-id='8'/>
|
||||
<instruction instr-id='284' subinstr-id='10'/>
|
||||
<instruction instr-id='284' subinstr-id='12'/>
|
||||
<instruction instr-id='284' subinstr-id='14'/>
|
||||
<instruction instr-id='289'/>
|
||||
<instruction instr-id='289' subinstr-id='2'/>
|
||||
<instruction instr-id='289' subinstr-id='4'/>
|
||||
<instruction instr-id='289' subinstr-id='6'/>
|
||||
<instruction instr-id='289' subinstr-id='8'/>
|
||||
<instruction instr-id='291'/>
|
||||
<instruction instr-id='291' subinstr-id='2'/>
|
||||
<instruction instr-id='291' subinstr-id='4'/>
|
||||
<instruction instr-id='291' subinstr-id='6'/>
|
||||
<instruction instr-id='291' subinstr-id='8'/>
|
||||
<instruction instr-id='291' subinstr-id='10'/>
|
||||
<instruction instr-id='291' subinstr-id='12'/>
|
||||
<instruction instr-id='294'/>
|
||||
<instruction instr-id='294' subinstr-id='2'/>
|
||||
<instruction instr-id='294' subinstr-id='4'/>
|
||||
<instruction instr-id='294' subinstr-id='6'/>
|
||||
<instruction instr-id='294' subinstr-id='8'/>
|
||||
<instruction instr-id='294' subinstr-id='10'/>
|
||||
<instruction instr-id='294' subinstr-id='12'/>
|
||||
<instruction instr-id='294' subinstr-id='14'/>
|
||||
<instruction instr-id='297'/>
|
||||
<instruction instr-id='297' subinstr-id='2'/>
|
||||
<instruction instr-id='297' subinstr-id='4'/>
|
||||
<instruction instr-id='297' subinstr-id='6'/>
|
||||
<instruction instr-id='297' subinstr-id='8'/>
|
||||
<instruction instr-id='297' subinstr-id='10'/>
|
||||
<instruction instr-id='302'/>
|
||||
<instruction instr-id='302' subinstr-id='2'/>
|
||||
<instruction instr-id='302' subinstr-id='4'/>
|
||||
<instruction instr-id='302' subinstr-id='6'/>
|
||||
<instruction instr-id='302' subinstr-id='8'/>
|
||||
<instruction instr-id='302' subinstr-id='10'/>
|
||||
<instruction instr-id='302' subinstr-id='12'/>
|
||||
<instruction instr-id='302' subinstr-id='14'/>
|
||||
<instruction instr-id='302' subinstr-id='16'/>
|
||||
<instruction instr-id='337'/>
|
||||
<instruction instr-id='337' subinstr-id='2'/>
|
||||
<instruction instr-id='337' subinstr-id='4'/>
|
||||
<instruction instr-id='339'/>
|
||||
<instruction instr-id='339' subinstr-id='2'/>
|
||||
<instruction instr-id='339' subinstr-id='4'/>
|
||||
<instruction instr-id='339' subinstr-id='6'/>
|
||||
<instruction instr-id='339' subinstr-id='8'/>
|
||||
<instruction instr-id='339' subinstr-id='10'/>
|
||||
<instruction instr-id='374'/>
|
||||
<instruction instr-id='374' subinstr-id='2'/>
|
||||
<instruction instr-id='374' subinstr-id='4'/>
|
||||
<instruction instr-id='374' subinstr-id='6'/>
|
||||
<instruction instr-id='374' subinstr-id='8'/>
|
||||
<instruction instr-id='374' subinstr-id='10'/>
|
||||
<instruction instr-id='374' subinstr-id='12'/>
|
||||
<instruction instr-id='374' subinstr-id='14'/>
|
||||
<instruction instr-id='374' subinstr-id='16'/>
|
||||
<instruction instr-id='374' subinstr-id='18'/>
|
||||
<instruction instr-id='409'/>
|
||||
<instruction instr-id='409' subinstr-id='2'/>
|
||||
<instruction instr-id='409' subinstr-id='4'/>
|
||||
<instruction instr-id='409' subinstr-id='6'/>
|
||||
<instruction instr-id='409' subinstr-id='8'/>
|
||||
<instruction instr-id='409' subinstr-id='10'/>
|
||||
<instruction instr-id='409' subinstr-id='12'/>
|
||||
<instruction instr-id='409' subinstr-id='14'/>
|
||||
<instruction instr-id='409' subinstr-id='16'/>
|
||||
<instruction instr-id='409' subinstr-id='18'/>
|
||||
<instruction instr-id='409' subinstr-id='20'/>
|
||||
<instruction instr-id='409' subinstr-id='22'/>
|
||||
<instruction instr-id='409' subinstr-id='24'/>
|
||||
<instruction instr-id='409' subinstr-id='26'/>
|
||||
<instruction instr-id='409' subinstr-id='28'/>
|
||||
<instruction instr-id='409' subinstr-id='30'/>
|
||||
<instruction instr-id='409' subinstr-id='32'/>
|
||||
<instruction instr-id='409' subinstr-id='34'/>
|
||||
<instruction instr-id='443'/>
|
||||
<instruction instr-id='443' subinstr-id='2'/>
|
||||
<instruction instr-id='443' subinstr-id='4'/>
|
||||
<instruction instr-id='443' subinstr-id='6'/>
|
||||
<instruction instr-id='448'/>
|
||||
<instruction instr-id='448' subinstr-id='2'/>
|
||||
<instruction instr-id='448' subinstr-id='4'/>
|
||||
<instruction instr-id='448' subinstr-id='6'/>
|
||||
<instruction instr-id='448' subinstr-id='8'/>
|
||||
<instruction instr-id='448' subinstr-id='10'/>
|
||||
<instruction instr-id='448' subinstr-id='12'/>
|
||||
<instruction instr-id='448' subinstr-id='14'/>
|
||||
<instruction instr-id='448' subinstr-id='16'/>
|
||||
<instruction instr-id='448' subinstr-id='18'/>
|
||||
<instruction instr-id='448' subinstr-id='20'/>
|
||||
<instruction instr-id='453'/>
|
||||
<instruction instr-id='453' subinstr-id='2'/>
|
||||
<instruction instr-id='453' subinstr-id='4'/>
|
||||
<instruction instr-id='453' subinstr-id='6'/>
|
||||
<instruction instr-id='453' subinstr-id='8'/>
|
||||
<instruction instr-id='453' subinstr-id='10'/>
|
||||
<instruction instr-id='453' subinstr-id='12'/>
|
||||
<instruction instr-id='453' subinstr-id='14'/>
|
||||
<instruction instr-id='453' subinstr-id='16'/>
|
||||
<instruction instr-id='453' subinstr-id='18'/>
|
||||
<instruction instr-id='453' subinstr-id='20'/>
|
||||
<instruction instr-id='453' subinstr-id='22'/>
|
||||
<instruction instr-id='458'/>
|
||||
<instruction instr-id='458' subinstr-id='2'/>
|
||||
<instruction instr-id='458' subinstr-id='4'/>
|
||||
<instruction instr-id='458' subinstr-id='6'/>
|
||||
<instruction instr-id='458' subinstr-id='8'/>
|
||||
<instruction instr-id='458' subinstr-id='10'/>
|
||||
<instruction instr-id='458' subinstr-id='12'/>
|
||||
<instruction instr-id='458' subinstr-id='14'/>
|
||||
<instruction instr-id='462'/>
|
||||
<instruction instr-id='462' subinstr-id='2'/>
|
||||
<instruction instr-id='462' subinstr-id='4'/>
|
||||
<instruction instr-id='462' subinstr-id='6'/>
|
||||
<instruction instr-id='462' subinstr-id='8'/>
|
||||
<instruction instr-id='462' subinstr-id='10'/>
|
||||
<instruction instr-id='462' subinstr-id='12'/>
|
||||
<instruction instr-id='462' subinstr-id='14'/>
|
||||
<instruction instr-id='466'/>
|
||||
<instruction instr-id='466' subinstr-id='2'/>
|
||||
<instruction instr-id='466' subinstr-id='4'/>
|
||||
<instruction instr-id='466' subinstr-id='6'/>
|
||||
<instruction instr-id='466' subinstr-id='8'/>
|
||||
<instruction instr-id='466' subinstr-id='10'/>
|
||||
<instruction instr-id='466' subinstr-id='12'/>
|
||||
<instruction instr-id='466' subinstr-id='14'/>
|
||||
<instruction instr-id='471'/>
|
||||
<instruction instr-id='471' subinstr-id='2'/>
|
||||
<instruction instr-id='471' subinstr-id='4'/>
|
||||
<instruction instr-id='471' subinstr-id='6'/>
|
||||
<instruction instr-id='471' subinstr-id='8'/>
|
||||
<instruction instr-id='471' subinstr-id='10'/>
|
||||
<instruction instr-id='477'/>
|
||||
<instruction instr-id='477' subinstr-id='2'/>
|
||||
<instruction instr-id='477' subinstr-id='4'/>
|
||||
<instruction instr-id='477' subinstr-id='6'/>
|
||||
<instruction instr-id='477' subinstr-id='8'/>
|
||||
<instruction instr-id='477' subinstr-id='10'/>
|
||||
<instruction instr-id='482'/>
|
||||
<instruction instr-id='482' subinstr-id='2'/>
|
||||
<instruction instr-id='482' subinstr-id='4'/>
|
||||
<instruction instr-id='482' subinstr-id='6'/>
|
||||
<instruction instr-id='482' subinstr-id='8'/>
|
||||
<instruction instr-id='482' subinstr-id='10'/>
|
||||
<instruction instr-id='482' subinstr-id='12'/>
|
||||
<instruction instr-id='482' subinstr-id='14'/>
|
||||
<instruction instr-id='482' subinstr-id='16'/>
|
||||
<instruction instr-id='517'/>
|
||||
<instruction instr-id='517' subinstr-id='2'/>
|
||||
<instruction instr-id='517' subinstr-id='4'/>
|
||||
<instruction instr-id='517' subinstr-id='6'/>
|
||||
<instruction instr-id='517' subinstr-id='8'/>
|
||||
<instruction instr-id='519'/>
|
||||
<instruction instr-id='521'/>
|
||||
<instruction instr-id='555'/>
|
||||
<instruction instr-id='555' subinstr-id='2'/>
|
||||
<instruction instr-id='555' subinstr-id='4'/>
|
||||
<instruction instr-id='555' subinstr-id='6'/>
|
||||
<instruction instr-id='555' subinstr-id='8'/>
|
||||
<instruction instr-id='557'/>
|
||||
<instruction instr-id='559'/>
|
||||
<bounding-box x1='94' y1='172' x2='487' y2='445'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":6,"numCorrectlyDetectedTables":6,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,94 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-008-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='362'/>
|
||||
<instruction instr-id='362' subinstr-id='2'/>
|
||||
<instruction instr-id='362' subinstr-id='4'/>
|
||||
<instruction instr-id='362' subinstr-id='6'/>
|
||||
<instruction instr-id='362' subinstr-id='8'/>
|
||||
<instruction instr-id='362' subinstr-id='10'/>
|
||||
<instruction instr-id='362' subinstr-id='12'/>
|
||||
<instruction instr-id='362' subinstr-id='14'/>
|
||||
<instruction instr-id='362' subinstr-id='16'/>
|
||||
<instruction instr-id='396'/>
|
||||
<instruction instr-id='396' subinstr-id='2'/>
|
||||
<instruction instr-id='396' subinstr-id='4'/>
|
||||
<instruction instr-id='396' subinstr-id='6'/>
|
||||
<instruction instr-id='431'/>
|
||||
<instruction instr-id='431' subinstr-id='2'/>
|
||||
<instruction instr-id='431' subinstr-id='4'/>
|
||||
<instruction instr-id='431' subinstr-id='6'/>
|
||||
<instruction instr-id='431' subinstr-id='8'/>
|
||||
<instruction instr-id='431' subinstr-id='10'/>
|
||||
<instruction instr-id='431' subinstr-id='12'/>
|
||||
<instruction instr-id='431' subinstr-id='14'/>
|
||||
<instruction instr-id='466'/>
|
||||
<instruction instr-id='466' subinstr-id='2'/>
|
||||
<instruction instr-id='466' subinstr-id='4'/>
|
||||
<instruction instr-id='531'/>
|
||||
<instruction instr-id='534'/>
|
||||
<instruction instr-id='538'/>
|
||||
<instruction instr-id='542'/>
|
||||
<instruction instr-id='562'/>
|
||||
<instruction instr-id='562' subinstr-id='2'/>
|
||||
<instruction instr-id='562' subinstr-id='4'/>
|
||||
<instruction instr-id='562' subinstr-id='6'/>
|
||||
<instruction instr-id='565'/>
|
||||
<instruction instr-id='569'/>
|
||||
<instruction instr-id='573'/>
|
||||
<instruction instr-id='592'/>
|
||||
<instruction instr-id='596'/>
|
||||
<instruction instr-id='600'/>
|
||||
<instruction instr-id='604'/>
|
||||
<instruction instr-id='623'/>
|
||||
<instruction instr-id='626'/>
|
||||
<instruction instr-id='630'/>
|
||||
<instruction instr-id='634'/>
|
||||
<instruction instr-id='653'/>
|
||||
<instruction instr-id='653' subinstr-id='2'/>
|
||||
<instruction instr-id='656'/>
|
||||
<instruction instr-id='660'/>
|
||||
<instruction instr-id='664'/>
|
||||
<instruction instr-id='683'/>
|
||||
<instruction instr-id='686'/>
|
||||
<instruction instr-id='690'/>
|
||||
<instruction instr-id='694'/>
|
||||
<instruction instr-id='713'/>
|
||||
<instruction instr-id='716'/>
|
||||
<instruction instr-id='720'/>
|
||||
<instruction instr-id='724'/>
|
||||
<instruction instr-id='742'/>
|
||||
<instruction instr-id='745'/>
|
||||
<instruction instr-id='749'/>
|
||||
<instruction instr-id='753'/>
|
||||
<instruction instr-id='771'/>
|
||||
<instruction instr-id='774'/>
|
||||
<instruction instr-id='780'/>
|
||||
<instruction instr-id='784'/>
|
||||
<instruction instr-id='803'/>
|
||||
<instruction instr-id='806'/>
|
||||
<instruction instr-id='810'/>
|
||||
<instruction instr-id='814'/>
|
||||
<instruction instr-id='833'/>
|
||||
<instruction instr-id='836'/>
|
||||
<instruction instr-id='840'/>
|
||||
<instruction instr-id='844'/>
|
||||
<instruction instr-id='863'/>
|
||||
<instruction instr-id='866'/>
|
||||
<instruction instr-id='870'/>
|
||||
<instruction instr-id='874'/>
|
||||
<instruction instr-id='893'/>
|
||||
<instruction instr-id='893' subinstr-id='2'/>
|
||||
<instruction instr-id='901'/>
|
||||
<instruction instr-id='924'/>
|
||||
<instruction instr-id='924' subinstr-id='2'/>
|
||||
<instruction instr-id='924' subinstr-id='4'/>
|
||||
<instruction instr-id='927'/>
|
||||
<instruction instr-id='931'/>
|
||||
<instruction instr-id='935'/>
|
||||
<bounding-box x1='106' y1='106' x2='470' y2='294'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,325 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-008-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell id="1" start-col="0" start-row="0">
|
||||
<bounding-box x1="106" x2="170" y1="287" y2="294"/>
|
||||
<content>Country/Heading</content>
|
||||
<instruction instr-id="362" subinstr-id="0"/>
|
||||
<instruction instr-id="362" subinstr-id="2"/>
|
||||
<instruction instr-id="362" subinstr-id="4"/>
|
||||
<instruction instr-id="362" subinstr-id="6"/>
|
||||
<instruction instr-id="362" subinstr-id="8"/>
|
||||
<instruction instr-id="362" subinstr-id="10"/>
|
||||
<instruction instr-id="362" subinstr-id="12"/>
|
||||
<instruction instr-id="362" subinstr-id="14"/>
|
||||
<instruction instr-id="362" subinstr-id="16"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="196" x2="283" y1="287" y2="294"/>
|
||||
<content>Cohesion Fund EURbn</content>
|
||||
<instruction instr-id="396" subinstr-id="0"/>
|
||||
<instruction instr-id="396" subinstr-id="2"/>
|
||||
<instruction instr-id="396" subinstr-id="4"/>
|
||||
<instruction instr-id="396" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="294" x2="398" y1="287" y2="294"/>
|
||||
<content>ERDF Convergence EURbn</content>
|
||||
<instruction instr-id="431" subinstr-id="0"/>
|
||||
<instruction instr-id="431" subinstr-id="2"/>
|
||||
<instruction instr-id="431" subinstr-id="4"/>
|
||||
<instruction instr-id="431" subinstr-id="6"/>
|
||||
<instruction instr-id="431" subinstr-id="8"/>
|
||||
<instruction instr-id="431" subinstr-id="10"/>
|
||||
<instruction instr-id="431" subinstr-id="12"/>
|
||||
<instruction instr-id="431" subinstr-id="14"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="0">
|
||||
<bounding-box x1="413" x2="470" y1="287" y2="294"/>
|
||||
<content>Total EURbn</content>
|
||||
<instruction instr-id="466" subinstr-id="0"/>
|
||||
<instruction instr-id="466" subinstr-id="2"/>
|
||||
<instruction instr-id="466" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="106" x2="135" y1="273" y2="281"/>
|
||||
<content>Bulgaria</content>
|
||||
<instruction instr-id="531" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="196" x2="207" y1="273" y2="281"/>
|
||||
<content>2.3</content>
|
||||
<instruction instr-id="534" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="294" x2="305" y1="273" y2="281"/>
|
||||
<content>3.2</content>
|
||||
<instruction instr-id="538" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="1">
|
||||
<bounding-box x1="413" x2="424" y1="273" y2="281"/>
|
||||
<content>5.5</content>
|
||||
<instruction instr-id="542" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="106" x2="131" y1="261" y2="269"/>
|
||||
<content>Cyprus</content>
|
||||
<instruction instr-id="562" subinstr-id="0"/>
|
||||
<instruction instr-id="562" subinstr-id="2"/>
|
||||
<instruction instr-id="562" subinstr-id="4"/>
|
||||
<instruction instr-id="562" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="196" x2="212" y1="261" y2="269"/>
|
||||
<content>0.21</content>
|
||||
<instruction instr-id="565" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="294" x2="299" y1="261" y2="269"/>
|
||||
<content>0</content>
|
||||
<instruction instr-id="569" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="413" x2="429" y1="261" y2="269"/>
|
||||
<content>0.21</content>
|
||||
<instruction instr-id="573" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="106" x2="162" y1="248" y2="256"/>
|
||||
<content>Czech Republic</content>
|
||||
<instruction instr-id="592" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="196" x2="207" y1="248" y2="256"/>
|
||||
<content>8.8</content>
|
||||
<instruction instr-id="596" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="294" x2="310" y1="248" y2="256"/>
|
||||
<content>13.4</content>
|
||||
<instruction instr-id="600" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="413" x2="429" y1="248" y2="256"/>
|
||||
<content>22.2</content>
|
||||
<instruction instr-id="604" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="106" x2="132" y1="235" y2="243"/>
|
||||
<content>Estonia</content>
|
||||
<instruction instr-id="623" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="196" x2="207" y1="235" y2="243"/>
|
||||
<content>1.1</content>
|
||||
<instruction instr-id="626" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="294" x2="305" y1="235" y2="243"/>
|
||||
<content>1.9</content>
|
||||
<instruction instr-id="630" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="4">
|
||||
<bounding-box x1="413" x2="424" y1="235" y2="243"/>
|
||||
<content>3.0</content>
|
||||
<instruction instr-id="634" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="106" x2="136" y1="222" y2="230"/>
|
||||
<content>Hungary</content>
|
||||
<instruction instr-id="653" subinstr-id="0"/>
|
||||
<instruction instr-id="653" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="196" x2="207" y1="222" y2="230"/>
|
||||
<content>8.6</content>
|
||||
<instruction instr-id="656" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="294" x2="310" y1="222" y2="230"/>
|
||||
<content>11.2</content>
|
||||
<instruction instr-id="660" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="5">
|
||||
<bounding-box x1="413" x2="429" y1="222" y2="230"/>
|
||||
<content>19.8</content>
|
||||
<instruction instr-id="664" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="6">
|
||||
<bounding-box x1="106" x2="127" y1="210" y2="218"/>
|
||||
<content>Latvia</content>
|
||||
<instruction instr-id="683" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="6">
|
||||
<bounding-box x1="196" x2="207" y1="210" y2="218"/>
|
||||
<content>1.5</content>
|
||||
<instruction instr-id="686" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="6">
|
||||
<bounding-box x1="294" x2="305" y1="210" y2="218"/>
|
||||
<content>2.4</content>
|
||||
<instruction instr-id="690" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="6">
|
||||
<bounding-box x1="413" x2="424" y1="210" y2="218"/>
|
||||
<content>3.9</content>
|
||||
<instruction instr-id="694" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="7">
|
||||
<bounding-box x1="106" x2="138" y1="197" y2="205"/>
|
||||
<content>Lithuania</content>
|
||||
<instruction instr-id="713" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="7">
|
||||
<bounding-box x1="196" x2="207" y1="197" y2="205"/>
|
||||
<content>2.3</content>
|
||||
<instruction instr-id="716" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="7">
|
||||
<bounding-box x1="294" x2="305" y1="197" y2="205"/>
|
||||
<content>3.4</content>
|
||||
<instruction instr-id="720" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="7">
|
||||
<bounding-box x1="413" x2="424" y1="197" y2="205"/>
|
||||
<content>5.7</content>
|
||||
<instruction instr-id="724" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="8">
|
||||
<bounding-box x1="106" x2="125" y1="184" y2="192"/>
|
||||
<content>Malta</content>
|
||||
<instruction instr-id="742" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="8">
|
||||
<bounding-box x1="196" x2="212" y1="184" y2="192"/>
|
||||
<content>0.28</content>
|
||||
<instruction instr-id="745" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="8">
|
||||
<bounding-box x1="294" x2="310" y1="184" y2="192"/>
|
||||
<content>0.44</content>
|
||||
<instruction instr-id="749" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="8">
|
||||
<bounding-box x1="413" x2="429" y1="184" y2="192"/>
|
||||
<content>0.72</content>
|
||||
<instruction instr-id="753" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="9">
|
||||
<bounding-box x1="106" x2="131" y1="171" y2="179"/>
|
||||
<content>Poland</content>
|
||||
<instruction instr-id="771" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="9">
|
||||
<bounding-box x1="196" x2="205" y1="171" y2="179"/>
|
||||
<content>22</content>
|
||||
<instruction instr-id="774" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="9">
|
||||
<bounding-box x1="294" x2="303" y1="171" y2="179"/>
|
||||
<content>33</content>
|
||||
<instruction instr-id="780" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="9">
|
||||
<bounding-box x1="413" x2="422" y1="171" y2="179"/>
|
||||
<content>55</content>
|
||||
<instruction instr-id="784" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="10">
|
||||
<bounding-box x1="106" x2="138" y1="159" y2="167"/>
|
||||
<content>Romania</content>
|
||||
<instruction instr-id="803" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="10">
|
||||
<bounding-box x1="196" x2="207" y1="159" y2="167"/>
|
||||
<content>6.5</content>
|
||||
<instruction instr-id="806" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="10">
|
||||
<bounding-box x1="294" x2="299" y1="159" y2="167"/>
|
||||
<content>9</content>
|
||||
<instruction instr-id="810" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="10">
|
||||
<bounding-box x1="413" x2="429" y1="159" y2="167"/>
|
||||
<content>15.5</content>
|
||||
<instruction instr-id="814" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="11">
|
||||
<bounding-box x1="106" x2="136" y1="146" y2="154"/>
|
||||
<content>Slovakia</content>
|
||||
<instruction instr-id="833" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="11">
|
||||
<bounding-box x1="196" x2="200" y1="146" y2="154"/>
|
||||
<content>4</content>
|
||||
<instruction instr-id="836" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="11">
|
||||
<bounding-box x1="294" x2="299" y1="146" y2="154"/>
|
||||
<content>6</content>
|
||||
<instruction instr-id="840" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="11">
|
||||
<bounding-box x1="413" x2="422" y1="146" y2="154"/>
|
||||
<content>10</content>
|
||||
<instruction instr-id="844" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="12">
|
||||
<bounding-box x1="106" x2="136" y1="133" y2="141"/>
|
||||
<content>Slovenia</content>
|
||||
<instruction instr-id="863" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="12">
|
||||
<bounding-box x1="196" x2="207" y1="133" y2="141"/>
|
||||
<content>1.4</content>
|
||||
<instruction instr-id="866" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="12">
|
||||
<bounding-box x1="294" x2="305" y1="133" y2="141"/>
|
||||
<content>1.9</content>
|
||||
<instruction instr-id="870" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="12">
|
||||
<bounding-box x1="413" x2="424" y1="133" y2="141"/>
|
||||
<content>3.3</content>
|
||||
<instruction instr-id="874" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="13">
|
||||
<bounding-box x1="106" x2="181" y1="120" y2="128"/>
|
||||
<content>Technical Assistance</content>
|
||||
<instruction instr-id="893" subinstr-id="0"/>
|
||||
<instruction instr-id="893" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="13">
|
||||
<bounding-box x1="294" x2="310" y1="120" y2="128"/>
|
||||
<content>0.87</content>
|
||||
<instruction instr-id="901" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="14">
|
||||
<bounding-box x1="106" x2="132" y1="106" y2="114"/>
|
||||
<content>TOTAL</content>
|
||||
<instruction instr-id="924" subinstr-id="0"/>
|
||||
<instruction instr-id="924" subinstr-id="2"/>
|
||||
<instruction instr-id="924" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="14">
|
||||
<bounding-box x1="196" x2="216" y1="106" y2="114"/>
|
||||
<content>58.99</content>
|
||||
<instruction instr-id="927" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="14">
|
||||
<bounding-box x1="294" x2="314" y1="106" y2="114"/>
|
||||
<content>86.70</content>
|
||||
<instruction instr-id="931" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="14">
|
||||
<bounding-box x1="413" x2="437" y1="106" y2="114"/>
|
||||
<content>145.69</content>
|
||||
<instruction instr-id="935" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":1,"numCorrectlyDetectedTables":1,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-009-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='107'/>
|
||||
<instruction instr-id='107' subinstr-id='2'/>
|
||||
<instruction instr-id='107' subinstr-id='4'/>
|
||||
<instruction instr-id='148'/>
|
||||
<instruction instr-id='179'/>
|
||||
<instruction instr-id='218'/>
|
||||
<instruction instr-id='218' subinstr-id='2'/>
|
||||
<instruction instr-id='248'/>
|
||||
<instruction instr-id='248' subinstr-id='2'/>
|
||||
<instruction instr-id='278'/>
|
||||
<instruction instr-id='278' subinstr-id='2'/>
|
||||
<instruction instr-id='314'/>
|
||||
<instruction instr-id='314' subinstr-id='2'/>
|
||||
<instruction instr-id='345'/>
|
||||
<instruction instr-id='349'/>
|
||||
<instruction instr-id='353'/>
|
||||
<instruction instr-id='353' subinstr-id='2'/>
|
||||
<instruction instr-id='353' subinstr-id='4'/>
|
||||
<instruction instr-id='353' subinstr-id='6'/>
|
||||
<instruction instr-id='353' subinstr-id='8'/>
|
||||
<instruction instr-id='353' subinstr-id='10'/>
|
||||
<instruction instr-id='358'/>
|
||||
<instruction instr-id='358' subinstr-id='2'/>
|
||||
<instruction instr-id='364'/>
|
||||
<instruction instr-id='367'/>
|
||||
<instruction instr-id='367' subinstr-id='2'/>
|
||||
<instruction instr-id='367' subinstr-id='4'/>
|
||||
<instruction instr-id='367' subinstr-id='6'/>
|
||||
<instruction instr-id='367' subinstr-id='8'/>
|
||||
<instruction instr-id='371'/>
|
||||
<instruction instr-id='371' subinstr-id='2'/>
|
||||
<instruction instr-id='371' subinstr-id='4'/>
|
||||
<instruction instr-id='371' subinstr-id='6'/>
|
||||
<instruction instr-id='371' subinstr-id='8'/>
|
||||
<instruction instr-id='410'/>
|
||||
<instruction instr-id='414'/>
|
||||
<instruction instr-id='414' subinstr-id='2'/>
|
||||
<instruction instr-id='414' subinstr-id='4'/>
|
||||
<instruction instr-id='418'/>
|
||||
<instruction instr-id='418' subinstr-id='2'/>
|
||||
<instruction instr-id='418' subinstr-id='4'/>
|
||||
<instruction instr-id='418' subinstr-id='6'/>
|
||||
<instruction instr-id='418' subinstr-id='8'/>
|
||||
<instruction instr-id='424'/>
|
||||
<instruction instr-id='455'/>
|
||||
<instruction instr-id='458'/>
|
||||
<instruction instr-id='458' subinstr-id='2'/>
|
||||
<instruction instr-id='458' subinstr-id='4'/>
|
||||
<instruction instr-id='461'/>
|
||||
<instruction instr-id='466'/>
|
||||
<instruction instr-id='466' subinstr-id='2'/>
|
||||
<instruction instr-id='472'/>
|
||||
<instruction instr-id='475'/>
|
||||
<instruction instr-id='475' subinstr-id='2'/>
|
||||
<instruction instr-id='475' subinstr-id='4'/>
|
||||
<instruction instr-id='475' subinstr-id='6'/>
|
||||
<instruction instr-id='475' subinstr-id='8'/>
|
||||
<instruction instr-id='479'/>
|
||||
<instruction instr-id='479' subinstr-id='2'/>
|
||||
<instruction instr-id='479' subinstr-id='4'/>
|
||||
<instruction instr-id='479' subinstr-id='6'/>
|
||||
<instruction instr-id='479' subinstr-id='8'/>
|
||||
<instruction instr-id='518'/>
|
||||
<instruction instr-id='522'/>
|
||||
<instruction instr-id='522' subinstr-id='2'/>
|
||||
<instruction instr-id='522' subinstr-id='4'/>
|
||||
<instruction instr-id='526'/>
|
||||
<instruction instr-id='526' subinstr-id='2'/>
|
||||
<instruction instr-id='526' subinstr-id='4'/>
|
||||
<instruction instr-id='526' subinstr-id='6'/>
|
||||
<instruction instr-id='526' subinstr-id='8'/>
|
||||
<instruction instr-id='531'/>
|
||||
<instruction instr-id='562'/>
|
||||
<instruction instr-id='565'/>
|
||||
<instruction instr-id='565' subinstr-id='2'/>
|
||||
<instruction instr-id='569'/>
|
||||
<instruction instr-id='569' subinstr-id='2'/>
|
||||
<instruction instr-id='569' subinstr-id='4'/>
|
||||
<instruction instr-id='569' subinstr-id='6'/>
|
||||
<instruction instr-id='575'/>
|
||||
<instruction instr-id='575' subinstr-id='2'/>
|
||||
<instruction instr-id='581'/>
|
||||
<instruction instr-id='584'/>
|
||||
<instruction instr-id='584' subinstr-id='2'/>
|
||||
<instruction instr-id='584' subinstr-id='4'/>
|
||||
<instruction instr-id='584' subinstr-id='6'/>
|
||||
<instruction instr-id='584' subinstr-id='8'/>
|
||||
<instruction instr-id='588'/>
|
||||
<instruction instr-id='588' subinstr-id='2'/>
|
||||
<instruction instr-id='588' subinstr-id='4'/>
|
||||
<instruction instr-id='588' subinstr-id='6'/>
|
||||
<instruction instr-id='588' subinstr-id='8'/>
|
||||
<instruction instr-id='626'/>
|
||||
<instruction instr-id='630'/>
|
||||
<instruction instr-id='632'/>
|
||||
<instruction instr-id='632' subinstr-id='2'/>
|
||||
<instruction instr-id='632' subinstr-id='4'/>
|
||||
<instruction instr-id='632' subinstr-id='6'/>
|
||||
<instruction instr-id='632' subinstr-id='8'/>
|
||||
<instruction instr-id='632' subinstr-id='10'/>
|
||||
<instruction instr-id='636'/>
|
||||
<bounding-box x1='139' y1='295' x2='461' y2='527'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,224 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-009-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell end-col="3" id="1" start-col="0" start-row="0">
|
||||
<bounding-box x1="244" x2="356" y1="517" y2="527"/>
|
||||
<content>Assignment Categories</content>
|
||||
<instruction instr-id="107" subinstr-id="0"/>
|
||||
<instruction instr-id="107" subinstr-id="2"/>
|
||||
<instruction instr-id="107" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell end-col="1" id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="164" x2="265" y1="505" y2="515"/>
|
||||
<content>JASPERS Categories</content>
|
||||
<instruction instr-id="148" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="3" id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="347" x2="415" y1="505" y2="515"/>
|
||||
<content>EV Categories</content>
|
||||
<instruction instr-id="179" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="139" x2="180" y1="493" y2="503"/>
|
||||
<content>Category</content>
|
||||
<instruction instr-id="218" subinstr-id="0"/>
|
||||
<instruction instr-id="218" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="196" x2="246" y1="493" y2="503"/>
|
||||
<content>Description</content>
|
||||
<instruction instr-id="248" subinstr-id="0"/>
|
||||
<instruction instr-id="248" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="302" x2="342" y1="493" y2="503"/>
|
||||
<content>Category</content>
|
||||
<instruction instr-id="278" subinstr-id="0"/>
|
||||
<instruction instr-id="278" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="359" x2="409" y1="493" y2="503"/>
|
||||
<content>Description</content>
|
||||
<instruction instr-id="314" subinstr-id="0"/>
|
||||
<instruction instr-id="314" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="139" x2="145" y1="481" y2="491"/>
|
||||
<content>1</content>
|
||||
<instruction instr-id="345" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="196" x2="283" y1="458" y2="491"/>
|
||||
<content>Involvement “at the
|
||||
beginning of project
|
||||
preparation”</content>
|
||||
<instruction instr-id="349" subinstr-id="-1"/>
|
||||
<instruction instr-id="353" subinstr-id="0"/>
|
||||
<instruction instr-id="353" subinstr-id="2"/>
|
||||
<instruction instr-id="353" subinstr-id="4"/>
|
||||
<instruction instr-id="353" subinstr-id="6"/>
|
||||
<instruction instr-id="353" subinstr-id="8"/>
|
||||
<instruction instr-id="353" subinstr-id="10"/>
|
||||
<instruction instr-id="358" subinstr-id="0"/>
|
||||
<instruction instr-id="358" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="302" x2="313" y1="481" y2="491"/>
|
||||
<content>1a</content>
|
||||
<instruction instr-id="364" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="359" x2="446" y1="470" y2="491"/>
|
||||
<content>Influence on project
|
||||
concept</content>
|
||||
<instruction instr-id="367" subinstr-id="0"/>
|
||||
<instruction instr-id="367" subinstr-id="2"/>
|
||||
<instruction instr-id="367" subinstr-id="4"/>
|
||||
<instruction instr-id="367" subinstr-id="6"/>
|
||||
<instruction instr-id="367" subinstr-id="8"/>
|
||||
<instruction instr-id="371" subinstr-id="0"/>
|
||||
<instruction instr-id="371" subinstr-id="2"/>
|
||||
<instruction instr-id="371" subinstr-id="4"/>
|
||||
<instruction instr-id="371" subinstr-id="6"/>
|
||||
<instruction instr-id="371" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="302" x2="313" y1="446" y2="456"/>
|
||||
<content>1b</content>
|
||||
<instruction instr-id="410" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="4">
|
||||
<bounding-box x1="359" x2="461" y1="423" y2="456"/>
|
||||
<content>No influence on project
|
||||
concept (presentation
|
||||
only)</content>
|
||||
<instruction instr-id="414" subinstr-id="0"/>
|
||||
<instruction instr-id="414" subinstr-id="2"/>
|
||||
<instruction instr-id="414" subinstr-id="4"/>
|
||||
<instruction instr-id="418" subinstr-id="0"/>
|
||||
<instruction instr-id="418" subinstr-id="2"/>
|
||||
<instruction instr-id="418" subinstr-id="4"/>
|
||||
<instruction instr-id="418" subinstr-id="6"/>
|
||||
<instruction instr-id="418" subinstr-id="8"/>
|
||||
<instruction instr-id="424" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="139" x2="145" y1="411" y2="421"/>
|
||||
<content>2</content>
|
||||
<instruction instr-id="455" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="196" x2="284" y1="388" y2="421"/>
|
||||
<content>Involvement “during
|
||||
the feasibility study
|
||||
preparation”</content>
|
||||
<instruction instr-id="458" subinstr-id="0"/>
|
||||
<instruction instr-id="458" subinstr-id="2"/>
|
||||
<instruction instr-id="458" subinstr-id="4"/>
|
||||
<instruction instr-id="461" subinstr-id="-1"/>
|
||||
<instruction instr-id="466" subinstr-id="0"/>
|
||||
<instruction instr-id="466" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="302" x2="313" y1="411" y2="421"/>
|
||||
<content>2a</content>
|
||||
<instruction instr-id="472" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="5">
|
||||
<bounding-box x1="359" x2="446" y1="400" y2="421"/>
|
||||
<content>Influence on project
|
||||
concept</content>
|
||||
<instruction instr-id="475" subinstr-id="0"/>
|
||||
<instruction instr-id="475" subinstr-id="2"/>
|
||||
<instruction instr-id="475" subinstr-id="4"/>
|
||||
<instruction instr-id="475" subinstr-id="6"/>
|
||||
<instruction instr-id="475" subinstr-id="8"/>
|
||||
<instruction instr-id="479" subinstr-id="0"/>
|
||||
<instruction instr-id="479" subinstr-id="2"/>
|
||||
<instruction instr-id="479" subinstr-id="4"/>
|
||||
<instruction instr-id="479" subinstr-id="6"/>
|
||||
<instruction instr-id="479" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="6">
|
||||
<bounding-box x1="302" x2="313" y1="376" y2="386"/>
|
||||
<content>2b</content>
|
||||
<instruction instr-id="518" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="6">
|
||||
<bounding-box x1="359" x2="461" y1="353" y2="386"/>
|
||||
<content>No influence on project
|
||||
concept (presentation
|
||||
only)</content>
|
||||
<instruction instr-id="522" subinstr-id="0"/>
|
||||
<instruction instr-id="522" subinstr-id="2"/>
|
||||
<instruction instr-id="522" subinstr-id="4"/>
|
||||
<instruction instr-id="526" subinstr-id="0"/>
|
||||
<instruction instr-id="526" subinstr-id="2"/>
|
||||
<instruction instr-id="526" subinstr-id="4"/>
|
||||
<instruction instr-id="526" subinstr-id="6"/>
|
||||
<instruction instr-id="526" subinstr-id="8"/>
|
||||
<instruction instr-id="531" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="7">
|
||||
<bounding-box x1="139" x2="145" y1="341" y2="351"/>
|
||||
<content>3</content>
|
||||
<instruction instr-id="562" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="7">
|
||||
<bounding-box x1="196" x2="277" y1="318" y2="351"/>
|
||||
<content>Involvement “after
|
||||
draft application is
|
||||
prepared”</content>
|
||||
<instruction instr-id="565" subinstr-id="0"/>
|
||||
<instruction instr-id="565" subinstr-id="2"/>
|
||||
<instruction instr-id="569" subinstr-id="0"/>
|
||||
<instruction instr-id="569" subinstr-id="2"/>
|
||||
<instruction instr-id="569" subinstr-id="4"/>
|
||||
<instruction instr-id="569" subinstr-id="6"/>
|
||||
<instruction instr-id="575" subinstr-id="0"/>
|
||||
<instruction instr-id="575" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="7">
|
||||
<bounding-box x1="302" x2="313" y1="341" y2="351"/>
|
||||
<content>3a</content>
|
||||
<instruction instr-id="581" subinstr-id="-1"/>
|
||||
</cell>
|
||||
|
||||
<cell id="1" start-col="3" start-row="7">
|
||||
<bounding-box x1="359" x2="446" y1="330" y2="351"/>
|
||||
<content>Influence on project
|
||||
concept</content>
|
||||
<instruction instr-id="584" subinstr-id="0"/>
|
||||
<instruction instr-id="584" subinstr-id="2"/>
|
||||
<instruction instr-id="584" subinstr-id="4"/>
|
||||
<instruction instr-id="584" subinstr-id="6"/>
|
||||
<instruction instr-id="584" subinstr-id="8"/>
|
||||
<instruction instr-id="588" subinstr-id="0"/>
|
||||
<instruction instr-id="588" subinstr-id="2"/>
|
||||
<instruction instr-id="588" subinstr-id="4"/>
|
||||
<instruction instr-id="588" subinstr-id="6"/>
|
||||
<instruction instr-id="588" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="8">
|
||||
<bounding-box x1="302" x2="313" y1="306" y2="317"/>
|
||||
<content>3b</content>
|
||||
<instruction instr-id="626" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="8">
|
||||
<bounding-box x1="359" x2="441" y1="295" y2="317"/>
|
||||
<content>Other presentation
|
||||
issues</content>
|
||||
<instruction instr-id="630" subinstr-id="-1"/>
|
||||
<instruction instr-id="632" subinstr-id="0"/>
|
||||
<instruction instr-id="632" subinstr-id="2"/>
|
||||
<instruction instr-id="632" subinstr-id="4"/>
|
||||
<instruction instr-id="632" subinstr-id="6"/>
|
||||
<instruction instr-id="632" subinstr-id="8"/>
|
||||
<instruction instr-id="632" subinstr-id="10"/>
|
||||
<instruction instr-id="636" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":1,"numCorrectlyDetectedTables":1,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,107 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-009-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='148'/>
|
||||
<instruction instr-id='179'/>
|
||||
<instruction instr-id='218'/>
|
||||
<instruction instr-id='218' subinstr-id='2'/>
|
||||
<instruction instr-id='248'/>
|
||||
<instruction instr-id='248' subinstr-id='2'/>
|
||||
<instruction instr-id='278'/>
|
||||
<instruction instr-id='278' subinstr-id='2'/>
|
||||
<instruction instr-id='314'/>
|
||||
<instruction instr-id='314' subinstr-id='2'/>
|
||||
<instruction instr-id='345'/>
|
||||
<instruction instr-id='349'/>
|
||||
<instruction instr-id='353'/>
|
||||
<instruction instr-id='353' subinstr-id='2'/>
|
||||
<instruction instr-id='353' subinstr-id='4'/>
|
||||
<instruction instr-id='353' subinstr-id='6'/>
|
||||
<instruction instr-id='353' subinstr-id='8'/>
|
||||
<instruction instr-id='353' subinstr-id='10'/>
|
||||
<instruction instr-id='358'/>
|
||||
<instruction instr-id='358' subinstr-id='2'/>
|
||||
<instruction instr-id='364'/>
|
||||
<instruction instr-id='367'/>
|
||||
<instruction instr-id='367' subinstr-id='2'/>
|
||||
<instruction instr-id='367' subinstr-id='4'/>
|
||||
<instruction instr-id='367' subinstr-id='6'/>
|
||||
<instruction instr-id='367' subinstr-id='8'/>
|
||||
<instruction instr-id='371'/>
|
||||
<instruction instr-id='371' subinstr-id='2'/>
|
||||
<instruction instr-id='371' subinstr-id='4'/>
|
||||
<instruction instr-id='371' subinstr-id='6'/>
|
||||
<instruction instr-id='371' subinstr-id='8'/>
|
||||
<instruction instr-id='410'/>
|
||||
<instruction instr-id='414'/>
|
||||
<instruction instr-id='414' subinstr-id='2'/>
|
||||
<instruction instr-id='414' subinstr-id='4'/>
|
||||
<instruction instr-id='418'/>
|
||||
<instruction instr-id='418' subinstr-id='2'/>
|
||||
<instruction instr-id='418' subinstr-id='4'/>
|
||||
<instruction instr-id='418' subinstr-id='6'/>
|
||||
<instruction instr-id='418' subinstr-id='8'/>
|
||||
<instruction instr-id='424'/>
|
||||
<instruction instr-id='455'/>
|
||||
<instruction instr-id='458'/>
|
||||
<instruction instr-id='458' subinstr-id='2'/>
|
||||
<instruction instr-id='458' subinstr-id='4'/>
|
||||
<instruction instr-id='461'/>
|
||||
<instruction instr-id='466'/>
|
||||
<instruction instr-id='466' subinstr-id='2'/>
|
||||
<instruction instr-id='472'/>
|
||||
<instruction instr-id='475'/>
|
||||
<instruction instr-id='475' subinstr-id='2'/>
|
||||
<instruction instr-id='475' subinstr-id='4'/>
|
||||
<instruction instr-id='475' subinstr-id='6'/>
|
||||
<instruction instr-id='475' subinstr-id='8'/>
|
||||
<instruction instr-id='479'/>
|
||||
<instruction instr-id='479' subinstr-id='2'/>
|
||||
<instruction instr-id='479' subinstr-id='4'/>
|
||||
<instruction instr-id='479' subinstr-id='6'/>
|
||||
<instruction instr-id='479' subinstr-id='8'/>
|
||||
<instruction instr-id='518'/>
|
||||
<instruction instr-id='522'/>
|
||||
<instruction instr-id='522' subinstr-id='2'/>
|
||||
<instruction instr-id='522' subinstr-id='4'/>
|
||||
<instruction instr-id='526'/>
|
||||
<instruction instr-id='526' subinstr-id='2'/>
|
||||
<instruction instr-id='526' subinstr-id='4'/>
|
||||
<instruction instr-id='526' subinstr-id='6'/>
|
||||
<instruction instr-id='526' subinstr-id='8'/>
|
||||
<instruction instr-id='531'/>
|
||||
<instruction instr-id='562'/>
|
||||
<instruction instr-id='565'/>
|
||||
<instruction instr-id='565' subinstr-id='2'/>
|
||||
<instruction instr-id='569'/>
|
||||
<instruction instr-id='569' subinstr-id='2'/>
|
||||
<instruction instr-id='569' subinstr-id='4'/>
|
||||
<instruction instr-id='569' subinstr-id='6'/>
|
||||
<instruction instr-id='575'/>
|
||||
<instruction instr-id='575' subinstr-id='2'/>
|
||||
<instruction instr-id='581'/>
|
||||
<instruction instr-id='584'/>
|
||||
<instruction instr-id='584' subinstr-id='2'/>
|
||||
<instruction instr-id='584' subinstr-id='4'/>
|
||||
<instruction instr-id='584' subinstr-id='6'/>
|
||||
<instruction instr-id='584' subinstr-id='8'/>
|
||||
<instruction instr-id='588'/>
|
||||
<instruction instr-id='588' subinstr-id='2'/>
|
||||
<instruction instr-id='588' subinstr-id='4'/>
|
||||
<instruction instr-id='588' subinstr-id='6'/>
|
||||
<instruction instr-id='588' subinstr-id='8'/>
|
||||
<instruction instr-id='626'/>
|
||||
<instruction instr-id='630'/>
|
||||
<instruction instr-id='632'/>
|
||||
<instruction instr-id='632' subinstr-id='2'/>
|
||||
<instruction instr-id='632' subinstr-id='4'/>
|
||||
<instruction instr-id='632' subinstr-id='6'/>
|
||||
<instruction instr-id='632' subinstr-id='8'/>
|
||||
<instruction instr-id='632' subinstr-id='10'/>
|
||||
<instruction instr-id='636'/>
|
||||
<bounding-box x1='139' y1='295' x2='461' y2='515'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,217 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-009-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="1" row-increment="-1">
|
||||
<cell end-col="1" id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="164" x2="265" y1="505" y2="515"/>
|
||||
<content>JASPERS Categories</content>
|
||||
<instruction instr-id="148" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="3" id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="347" x2="415" y1="505" y2="515"/>
|
||||
<content>EV Categories</content>
|
||||
<instruction instr-id="179" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="139" x2="180" y1="493" y2="503"/>
|
||||
<content>Category</content>
|
||||
<instruction instr-id="218" subinstr-id="0"/>
|
||||
<instruction instr-id="218" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="196" x2="246" y1="493" y2="503"/>
|
||||
<content>Description</content>
|
||||
<instruction instr-id="248" subinstr-id="0"/>
|
||||
<instruction instr-id="248" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="302" x2="342" y1="493" y2="503"/>
|
||||
<content>Category</content>
|
||||
<instruction instr-id="278" subinstr-id="0"/>
|
||||
<instruction instr-id="278" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="359" x2="409" y1="493" y2="503"/>
|
||||
<content>Description</content>
|
||||
<instruction instr-id="314" subinstr-id="0"/>
|
||||
<instruction instr-id="314" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="139" x2="145" y1="481" y2="491"/>
|
||||
<content>1</content>
|
||||
<instruction instr-id="345" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="196" x2="283" y1="458" y2="491"/>
|
||||
<content>Involvement “at the
|
||||
beginning of project
|
||||
preparation”</content>
|
||||
<instruction instr-id="349" subinstr-id="-1"/>
|
||||
<instruction instr-id="353" subinstr-id="0"/>
|
||||
<instruction instr-id="353" subinstr-id="2"/>
|
||||
<instruction instr-id="353" subinstr-id="4"/>
|
||||
<instruction instr-id="353" subinstr-id="6"/>
|
||||
<instruction instr-id="353" subinstr-id="8"/>
|
||||
<instruction instr-id="353" subinstr-id="10"/>
|
||||
<instruction instr-id="358" subinstr-id="0"/>
|
||||
<instruction instr-id="358" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="302" x2="313" y1="481" y2="491"/>
|
||||
<content>1a</content>
|
||||
<instruction instr-id="364" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="359" x2="446" y1="470" y2="491"/>
|
||||
<content>Influence on project
|
||||
concept</content>
|
||||
<instruction instr-id="367" subinstr-id="0"/>
|
||||
<instruction instr-id="367" subinstr-id="2"/>
|
||||
<instruction instr-id="367" subinstr-id="4"/>
|
||||
<instruction instr-id="367" subinstr-id="6"/>
|
||||
<instruction instr-id="367" subinstr-id="8"/>
|
||||
<instruction instr-id="371" subinstr-id="0"/>
|
||||
<instruction instr-id="371" subinstr-id="2"/>
|
||||
<instruction instr-id="371" subinstr-id="4"/>
|
||||
<instruction instr-id="371" subinstr-id="6"/>
|
||||
<instruction instr-id="371" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="302" x2="313" y1="446" y2="456"/>
|
||||
<content>1b</content>
|
||||
<instruction instr-id="410" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="4">
|
||||
<bounding-box x1="359" x2="461" y1="423" y2="456"/>
|
||||
<content>No influence on project
|
||||
concept (presentation
|
||||
only)</content>
|
||||
<instruction instr-id="414" subinstr-id="0"/>
|
||||
<instruction instr-id="414" subinstr-id="2"/>
|
||||
<instruction instr-id="414" subinstr-id="4"/>
|
||||
<instruction instr-id="418" subinstr-id="0"/>
|
||||
<instruction instr-id="418" subinstr-id="2"/>
|
||||
<instruction instr-id="418" subinstr-id="4"/>
|
||||
<instruction instr-id="418" subinstr-id="6"/>
|
||||
<instruction instr-id="418" subinstr-id="8"/>
|
||||
<instruction instr-id="424" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="139" x2="145" y1="411" y2="421"/>
|
||||
<content>2</content>
|
||||
<instruction instr-id="455" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="196" x2="284" y1="388" y2="421"/>
|
||||
<content>Involvement “during
|
||||
the feasibility study
|
||||
preparation”</content>
|
||||
<instruction instr-id="458" subinstr-id="0"/>
|
||||
<instruction instr-id="458" subinstr-id="2"/>
|
||||
<instruction instr-id="458" subinstr-id="4"/>
|
||||
<instruction instr-id="461" subinstr-id="-1"/>
|
||||
<instruction instr-id="466" subinstr-id="0"/>
|
||||
<instruction instr-id="466" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="5">
|
||||
<bounding-box x1="302" x2="313" y1="411" y2="421"/>
|
||||
<content>2a</content>
|
||||
<instruction instr-id="472" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="5">
|
||||
<bounding-box x1="359" x2="446" y1="400" y2="421"/>
|
||||
<content>Influence on project
|
||||
concept</content>
|
||||
<instruction instr-id="475" subinstr-id="0"/>
|
||||
<instruction instr-id="475" subinstr-id="2"/>
|
||||
<instruction instr-id="475" subinstr-id="4"/>
|
||||
<instruction instr-id="475" subinstr-id="6"/>
|
||||
<instruction instr-id="475" subinstr-id="8"/>
|
||||
<instruction instr-id="479" subinstr-id="0"/>
|
||||
<instruction instr-id="479" subinstr-id="2"/>
|
||||
<instruction instr-id="479" subinstr-id="4"/>
|
||||
<instruction instr-id="479" subinstr-id="6"/>
|
||||
<instruction instr-id="479" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="6">
|
||||
<bounding-box x1="302" x2="313" y1="376" y2="386"/>
|
||||
<content>2b</content>
|
||||
<instruction instr-id="518" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="6">
|
||||
<bounding-box x1="359" x2="461" y1="353" y2="386"/>
|
||||
<content>No influence on project
|
||||
concept (presentation
|
||||
only)</content>
|
||||
<instruction instr-id="522" subinstr-id="0"/>
|
||||
<instruction instr-id="522" subinstr-id="2"/>
|
||||
<instruction instr-id="522" subinstr-id="4"/>
|
||||
<instruction instr-id="526" subinstr-id="0"/>
|
||||
<instruction instr-id="526" subinstr-id="2"/>
|
||||
<instruction instr-id="526" subinstr-id="4"/>
|
||||
<instruction instr-id="526" subinstr-id="6"/>
|
||||
<instruction instr-id="526" subinstr-id="8"/>
|
||||
<instruction instr-id="531" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="0" start-row="7">
|
||||
<bounding-box x1="139" x2="145" y1="341" y2="351"/>
|
||||
<content>3</content>
|
||||
<instruction instr-id="562" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="1" start-row="7">
|
||||
<bounding-box x1="196" x2="277" y1="318" y2="351"/>
|
||||
<content>Involvement “after
|
||||
draft application is
|
||||
prepared”</content>
|
||||
<instruction instr-id="565" subinstr-id="0"/>
|
||||
<instruction instr-id="565" subinstr-id="2"/>
|
||||
<instruction instr-id="569" subinstr-id="0"/>
|
||||
<instruction instr-id="569" subinstr-id="2"/>
|
||||
<instruction instr-id="569" subinstr-id="4"/>
|
||||
<instruction instr-id="569" subinstr-id="6"/>
|
||||
<instruction instr-id="575" subinstr-id="0"/>
|
||||
<instruction instr-id="575" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="7">
|
||||
<bounding-box x1="302" x2="313" y1="341" y2="351"/>
|
||||
<content>3a</content>
|
||||
<instruction instr-id="581" subinstr-id="-1"/>
|
||||
</cell>
|
||||
|
||||
<cell id="1" start-col="3" start-row="7">
|
||||
<bounding-box x1="359" x2="446" y1="330" y2="351"/>
|
||||
<content>Influence on project
|
||||
concept</content>
|
||||
<instruction instr-id="584" subinstr-id="0"/>
|
||||
<instruction instr-id="584" subinstr-id="2"/>
|
||||
<instruction instr-id="584" subinstr-id="4"/>
|
||||
<instruction instr-id="584" subinstr-id="6"/>
|
||||
<instruction instr-id="584" subinstr-id="8"/>
|
||||
<instruction instr-id="588" subinstr-id="0"/>
|
||||
<instruction instr-id="588" subinstr-id="2"/>
|
||||
<instruction instr-id="588" subinstr-id="4"/>
|
||||
<instruction instr-id="588" subinstr-id="6"/>
|
||||
<instruction instr-id="588" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="2" start-row="8">
|
||||
<bounding-box x1="302" x2="313" y1="306" y2="317"/>
|
||||
<content>3b</content>
|
||||
<instruction instr-id="626" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell id="1" start-col="3" start-row="8">
|
||||
<bounding-box x1="359" x2="441" y1="295" y2="317"/>
|
||||
<content>Other presentation
|
||||
issues</content>
|
||||
<instruction instr-id="630" subinstr-id="-1"/>
|
||||
<instruction instr-id="632" subinstr-id="0"/>
|
||||
<instruction instr-id="632" subinstr-id="2"/>
|
||||
<instruction instr-id="632" subinstr-id="4"/>
|
||||
<instruction instr-id="632" subinstr-id="6"/>
|
||||
<instruction instr-id="632" subinstr-id="8"/>
|
||||
<instruction instr-id="632" subinstr-id="10"/>
|
||||
<instruction instr-id="636" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-010-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='1'>
|
||||
<instruction instr-id='128'/>
|
||||
<instruction instr-id='128' subinstr-id='2'/>
|
||||
<instruction instr-id='128' subinstr-id='4'/>
|
||||
<instruction instr-id='163'/>
|
||||
<instruction instr-id='177'/>
|
||||
<instruction instr-id='177' subinstr-id='2'/>
|
||||
<instruction instr-id='177' subinstr-id='4'/>
|
||||
<instruction instr-id='177' subinstr-id='6'/>
|
||||
<instruction instr-id='198'/>
|
||||
<instruction instr-id='204'/>
|
||||
<instruction instr-id='221'/>
|
||||
<instruction instr-id='227'/>
|
||||
<instruction instr-id='244'/>
|
||||
<instruction instr-id='244' subinstr-id='2'/>
|
||||
<instruction instr-id='244' subinstr-id='4'/>
|
||||
<instruction instr-id='250'/>
|
||||
<instruction instr-id='267'/>
|
||||
<instruction instr-id='273'/>
|
||||
<instruction instr-id='289'/>
|
||||
<instruction instr-id='289' subinstr-id='2'/>
|
||||
<instruction instr-id='294'/>
|
||||
<instruction instr-id='310'/>
|
||||
<instruction instr-id='315'/>
|
||||
<instruction instr-id='332'/>
|
||||
<instruction instr-id='332' subinstr-id='2'/>
|
||||
<instruction instr-id='338'/>
|
||||
<instruction instr-id='355'/>
|
||||
<instruction instr-id='361'/>
|
||||
<instruction instr-id='377'/>
|
||||
<instruction instr-id='377' subinstr-id='2'/>
|
||||
<instruction instr-id='382'/>
|
||||
<instruction instr-id='399'/>
|
||||
<instruction instr-id='402'/>
|
||||
<bounding-box x1='216' y1='512' x2='376' y2='659'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-010-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="1" row-increment="0">
|
||||
<cell end-col="0" end-row="0" id="1" start-col="0" start-row="0">
|
||||
<bounding-box x1="216" x2="288" y1="649" y2="659"/>
|
||||
<content>FEMIP Country</content>
|
||||
<instruction instr-id="128" subinstr-id="0"/>
|
||||
<instruction instr-id="128" subinstr-id="2"/>
|
||||
<instruction instr-id="128" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="0" id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="320" x2="376" y1="637" y2="659"/>
|
||||
<content>Signed TA
|
||||
(EURm)</content>
|
||||
<instruction instr-id="163" subinstr-id="-1"/>
|
||||
<instruction instr-id="177" subinstr-id="0"/>
|
||||
<instruction instr-id="177" subinstr-id="2"/>
|
||||
<instruction instr-id="177" subinstr-id="4"/>
|
||||
<instruction instr-id="177" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="1" id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="216" x2="247" y1="625" y2="635"/>
|
||||
<content>Algeria</content>
|
||||
<instruction instr-id="198" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="1" id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="356" x2="376" y1="625" y2="635"/>
|
||||
<content>6.19</content>
|
||||
<instruction instr-id="204" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="2" id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="216" x2="242" y1="613" y2="623"/>
|
||||
<content>Egypt</content>
|
||||
<instruction instr-id="221" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="2" id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="356" x2="376" y1="612" y2="623"/>
|
||||
<content>6.60</content>
|
||||
<instruction instr-id="227" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="3" id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="216" x2="300" y1="600" y2="610"/>
|
||||
<content>Gaza & West Bank</content>
|
||||
<instruction instr-id="244" subinstr-id="0"/>
|
||||
<instruction instr-id="244" subinstr-id="2"/>
|
||||
<instruction instr-id="244" subinstr-id="4"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="3" id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="356" x2="376" y1="600" y2="610"/>
|
||||
<content>2.60</content>
|
||||
<instruction instr-id="250" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="4" id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="216" x2="247" y1="588" y2="598"/>
|
||||
<content>Jordan</content>
|
||||
<instruction instr-id="267" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="4" id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="356" x2="376" y1="587" y2="597"/>
|
||||
<content>4.20</content>
|
||||
<instruction instr-id="273" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="5" id="1" start-col="0" start-row="5">
|
||||
<bounding-box x1="216" x2="255" y1="575" y2="585"/>
|
||||
<content>Lebanon</content>
|
||||
<instruction instr-id="289" subinstr-id="0"/>
|
||||
<instruction instr-id="289" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="5" id="1" start-col="1" start-row="5">
|
||||
<bounding-box x1="356" x2="376" y1="574" y2="585"/>
|
||||
<content>2.57</content>
|
||||
<instruction instr-id="294" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="6" id="1" start-col="0" start-row="6">
|
||||
<bounding-box x1="216" x2="254" y1="562" y2="572"/>
|
||||
<content>Morocco</content>
|
||||
<instruction instr-id="310" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="6" id="1" start-col="1" start-row="6">
|
||||
<bounding-box x1="350" x2="376" y1="562" y2="572"/>
|
||||
<content>21.09</content>
|
||||
<instruction instr-id="315" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="7" id="1" start-col="0" start-row="7">
|
||||
<bounding-box x1="216" x2="255" y1="550" y2="560"/>
|
||||
<content>Regional</content>
|
||||
<instruction instr-id="332" subinstr-id="0"/>
|
||||
<instruction instr-id="332" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="7" id="1" start-col="1" start-row="7">
|
||||
<bounding-box x1="356" x2="376" y1="549" y2="560"/>
|
||||
<content>7.29</content>
|
||||
<instruction instr-id="338" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="8" id="1" start-col="0" start-row="8">
|
||||
<bounding-box x1="216" x2="239" y1="537" y2="547"/>
|
||||
<content>Syria</content>
|
||||
<instruction instr-id="355" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="8" id="1" start-col="1" start-row="8">
|
||||
<bounding-box x1="350" x2="376" y1="537" y2="547"/>
|
||||
<content>33.42</content>
|
||||
<instruction instr-id="361" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="9" id="1" start-col="0" start-row="9">
|
||||
<bounding-box x1="216" x2="248" y1="525" y2="535"/>
|
||||
<content>Tunisia</content>
|
||||
<instruction instr-id="377" subinstr-id="0"/>
|
||||
<instruction instr-id="377" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="9" id="1" start-col="1" start-row="9">
|
||||
<bounding-box x1="350" x2="376" y1="524" y2="535"/>
|
||||
<content>14.50</content>
|
||||
<instruction instr-id="382" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="10" id="1" start-col="0" start-row="10">
|
||||
<bounding-box x1="216" x2="240" y1="512" y2="522"/>
|
||||
<content>Total</content>
|
||||
<instruction instr-id="399" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="10" id="1" start-col="1" start-row="10">
|
||||
<bounding-box x1="351" x2="376" y1="512" y2="522"/>
|
||||
<content>98.46</content>
|
||||
<instruction instr-id="402" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":1,"numCorrectlyDetectedTables":1,"numErroneouslyDetectedTables":0,"expectedFailure":false}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-011-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='3'>
|
||||
<instruction instr-id='345'/>
|
||||
<instruction instr-id='345' subinstr-id='2'/>
|
||||
<instruction instr-id='345' subinstr-id='4'/>
|
||||
<instruction instr-id='345' subinstr-id='6'/>
|
||||
<instruction instr-id='345' subinstr-id='8'/>
|
||||
<instruction instr-id='345' subinstr-id='10'/>
|
||||
<instruction instr-id='345' subinstr-id='12'/>
|
||||
<instruction instr-id='345' subinstr-id='14'/>
|
||||
<instruction instr-id='345' subinstr-id='16'/>
|
||||
<instruction instr-id='345' subinstr-id='18'/>
|
||||
<instruction instr-id='345' subinstr-id='20'/>
|
||||
<instruction instr-id='345' subinstr-id='22'/>
|
||||
<instruction instr-id='371'/>
|
||||
<instruction instr-id='371' subinstr-id='2'/>
|
||||
<instruction instr-id='396'/>
|
||||
<instruction instr-id='420'/>
|
||||
<instruction instr-id='445'/>
|
||||
<instruction instr-id='470'/>
|
||||
<instruction instr-id='529'/>
|
||||
<instruction instr-id='529' subinstr-id='2'/>
|
||||
<instruction instr-id='529' subinstr-id='4'/>
|
||||
<instruction instr-id='529' subinstr-id='6'/>
|
||||
<instruction instr-id='529' subinstr-id='8'/>
|
||||
<instruction instr-id='555'/>
|
||||
<instruction instr-id='579'/>
|
||||
<instruction instr-id='603'/>
|
||||
<instruction instr-id='627'/>
|
||||
<instruction instr-id='651'/>
|
||||
<instruction instr-id='710'/>
|
||||
<instruction instr-id='710' subinstr-id='2'/>
|
||||
<instruction instr-id='710' subinstr-id='4'/>
|
||||
<instruction instr-id='710' subinstr-id='6'/>
|
||||
<instruction instr-id='736'/>
|
||||
<instruction instr-id='761'/>
|
||||
<instruction instr-id='785'/>
|
||||
<instruction instr-id='809'/>
|
||||
<instruction instr-id='833'/>
|
||||
<instruction instr-id='859'/>
|
||||
<instruction instr-id='859' subinstr-id='2'/>
|
||||
<instruction instr-id='885'/>
|
||||
<instruction instr-id='909'/>
|
||||
<instruction instr-id='933'/>
|
||||
<instruction instr-id='957'/>
|
||||
<instruction instr-id='982'/>
|
||||
<instruction instr-id='1005'/>
|
||||
<instruction instr-id='1005' subinstr-id='2'/>
|
||||
<instruction instr-id='1028'/>
|
||||
<instruction instr-id='1049'/>
|
||||
<instruction instr-id='1070'/>
|
||||
<instruction instr-id='1091'/>
|
||||
<instruction instr-id='1112'/>
|
||||
<bounding-box x1='71' y1='473' x2='506' y2='546'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document filename="bm_eu-011-str.xml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="competition-entry-structure-model.xsd">
|
||||
<table id="1">
|
||||
<region col-increment="0" id="1" page="3" row-increment="0">
|
||||
<cell end-col="0" end-row="0" id="1" start-col="0" start-row="0">
|
||||
<bounding-box x1="73" x2="243" y1="536" y2="546"/>
|
||||
<content>Differences with respect to Germany</content>
|
||||
<instruction instr-id="345" subinstr-id="0"/>
|
||||
<instruction instr-id="345" subinstr-id="2"/>
|
||||
<instruction instr-id="345" subinstr-id="4"/>
|
||||
<instruction instr-id="345" subinstr-id="6"/>
|
||||
<instruction instr-id="345" subinstr-id="8"/>
|
||||
<instruction instr-id="345" subinstr-id="10"/>
|
||||
<instruction instr-id="345" subinstr-id="12"/>
|
||||
<instruction instr-id="345" subinstr-id="14"/>
|
||||
<instruction instr-id="345" subinstr-id="16"/>
|
||||
<instruction instr-id="345" subinstr-id="18"/>
|
||||
<instruction instr-id="345" subinstr-id="20"/>
|
||||
<instruction instr-id="345" subinstr-id="22"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="0" id="1" start-col="1" start-row="0">
|
||||
<bounding-box x1="279" x2="319" y1="536" y2="546"/>
|
||||
<content>Portugal</content>
|
||||
<instruction instr-id="371" subinstr-id="0"/>
|
||||
<instruction instr-id="371" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell end-col="2" end-row="0" id="1" start-col="2" start-row="0">
|
||||
<bounding-box x1="330" x2="361" y1="536" y2="546"/>
|
||||
<content>Greece</content>
|
||||
<instruction instr-id="396" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="3" end-row="0" id="1" start-col="3" start-row="0">
|
||||
<bounding-box x1="378" x2="405" y1="536" y2="546"/>
|
||||
<content>Spain</content>
|
||||
<instruction instr-id="420" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="4" end-row="0" id="1" start-col="4" start-row="0">
|
||||
<bounding-box x1="426" x2="448" y1="536" y2="546"/>
|
||||
<content>Italy</content>
|
||||
<instruction instr-id="445" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="5" end-row="0" id="1" start-col="5" start-row="0">
|
||||
<bounding-box x1="474" x2="506" y1="536" y2="546"/>
|
||||
<content>France</content>
|
||||
<instruction instr-id="470" subinstr-id="0"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="1" id="1" start-col="0" start-row="1">
|
||||
<bounding-box x1="71" x2="169" y1="518" y2="528"/>
|
||||
<content>Q2 2006 – Q1 2010**</content>
|
||||
<instruction instr-id="529" subinstr-id="0"/>
|
||||
<instruction instr-id="529" subinstr-id="2"/>
|
||||
<instruction instr-id="529" subinstr-id="4"/>
|
||||
<instruction instr-id="529" subinstr-id="6"/>
|
||||
<instruction instr-id="529" subinstr-id="8"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="1" id="1" start-col="1" start-row="1">
|
||||
<bounding-box x1="279" x2="298" y1="518" y2="528"/>
|
||||
<content>0.33</content>
|
||||
<instruction instr-id="555" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="2" end-row="1" id="1" start-col="2" start-row="1">
|
||||
<bounding-box x1="330" x2="349" y1="518" y2="528"/>
|
||||
<content>0.51</content>
|
||||
<instruction instr-id="579" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="3" end-row="1" id="1" start-col="3" start-row="1">
|
||||
<bounding-box x1="378" x2="397" y1="518" y2="528"/>
|
||||
<content>0.31</content>
|
||||
<instruction instr-id="603" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="4" end-row="1" id="1" start-col="4" start-row="1">
|
||||
<bounding-box x1="426" x2="445" y1="518" y2="528"/>
|
||||
<content>0.18</content>
|
||||
<instruction instr-id="627" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="5" end-row="1" id="1" start-col="5" start-row="1">
|
||||
<bounding-box x1="474" x2="493" y1="518" y2="528"/>
|
||||
<content>0.05</content>
|
||||
<instruction instr-id="651" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="2" id="1" start-col="0" start-row="2">
|
||||
<bounding-box x1="71" x2="159" y1="503" y2="513"/>
|
||||
<content>Q1 2009 – Q4 2009</content>
|
||||
<instruction instr-id="710" subinstr-id="0"/>
|
||||
<instruction instr-id="710" subinstr-id="2"/>
|
||||
<instruction instr-id="710" subinstr-id="4"/>
|
||||
<instruction instr-id="710" subinstr-id="6"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="2" id="1" start-col="1" start-row="2">
|
||||
<bounding-box x1="279" x2="302" y1="503" y2="513"/>
|
||||
<content>-0.01</content>
|
||||
<instruction instr-id="736" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="2" end-row="2" id="1" start-col="2" start-row="2">
|
||||
<bounding-box x1="330" x2="349" y1="503" y2="513"/>
|
||||
<content>0.45</content>
|
||||
<instruction instr-id="761" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="3" end-row="2" id="1" start-col="3" start-row="2">
|
||||
<bounding-box x1="378" x2="397" y1="503" y2="513"/>
|
||||
<content>0.21</content>
|
||||
<instruction instr-id="785" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="4" end-row="2" id="1" start-col="4" start-row="2">
|
||||
<bounding-box x1="426" x2="445" y1="503" y2="513"/>
|
||||
<content>0.18</content>
|
||||
<instruction instr-id="809" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="5" end-row="2" id="1" start-col="5" start-row="2">
|
||||
<bounding-box x1="474" x2="493" y1="503" y2="513"/>
|
||||
<content>0.05</content>
|
||||
<instruction instr-id="833" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="3" id="1" start-col="0" start-row="3">
|
||||
<bounding-box x1="71" x2="109" y1="488" y2="498"/>
|
||||
<content>Q4 2009</content>
|
||||
<instruction instr-id="859" subinstr-id="0"/>
|
||||
<instruction instr-id="859" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="3" id="1" start-col="1" start-row="3">
|
||||
<bounding-box x1="279" x2="298" y1="488" y2="498"/>
|
||||
<content>0.17</content>
|
||||
<instruction instr-id="885" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="2" end-row="3" id="1" start-col="2" start-row="3">
|
||||
<bounding-box x1="330" x2="349" y1="488" y2="498"/>
|
||||
<content>0.70</content>
|
||||
<instruction instr-id="909" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="3" end-row="3" id="1" start-col="3" start-row="3">
|
||||
<bounding-box x1="378" x2="397" y1="488" y2="498"/>
|
||||
<content>0.26</content>
|
||||
<instruction instr-id="933" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="4" end-row="3" id="1" start-col="4" start-row="3">
|
||||
<bounding-box x1="426" x2="445" y1="488" y2="498"/>
|
||||
<content>0.09</content>
|
||||
<instruction instr-id="957" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="5" end-row="3" id="1" start-col="5" start-row="3">
|
||||
<bounding-box x1="474" x2="497" y1="488" y2="498"/>
|
||||
<content>-0.01</content>
|
||||
<instruction instr-id="982" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="0" end-row="4" id="1" start-col="0" start-row="4">
|
||||
<bounding-box x1="71" x2="109" y1="473" y2="483"/>
|
||||
<content>Q1 2010</content>
|
||||
<instruction instr-id="1005" subinstr-id="0"/>
|
||||
<instruction instr-id="1005" subinstr-id="2"/>
|
||||
</cell>
|
||||
<cell end-col="1" end-row="4" id="1" start-col="1" start-row="4">
|
||||
<bounding-box x1="279" x2="298" y1="473" y2="483"/>
|
||||
<content>0.64</content>
|
||||
<instruction instr-id="1028" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="2" end-row="4" id="1" start-col="2" start-row="4">
|
||||
<bounding-box x1="330" x2="349" y1="473" y2="483"/>
|
||||
<content>0.72</content>
|
||||
<instruction instr-id="1049" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="3" end-row="4" id="1" start-col="3" start-row="4">
|
||||
<bounding-box x1="378" x2="397" y1="473" y2="483"/>
|
||||
<content>0.56</content>
|
||||
<instruction instr-id="1070" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="4" end-row="4" id="1" start-col="4" start-row="4">
|
||||
<bounding-box x1="426" x2="445" y1="473" y2="483"/>
|
||||
<content>0.43</content>
|
||||
<instruction instr-id="1091" subinstr-id="-1"/>
|
||||
</cell>
|
||||
<cell end-col="5" end-row="4" id="1" start-col="5" start-row="4">
|
||||
<bounding-box x1="474" x2="493" y1="473" y2="483"/>
|
||||
<content>0.25</content>
|
||||
<instruction instr-id="1112" subinstr-id="-1"/>
|
||||
</cell>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":1,"numCorrectlyDetectedTables":1,"numErroneouslyDetectedTables":3,"expectedFailure":true}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,265 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-012-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='3'>
|
||||
<instruction instr-id='514'/>
|
||||
<instruction instr-id='514' subinstr-id='2'/>
|
||||
<instruction instr-id='514' subinstr-id='4'/>
|
||||
<instruction instr-id='527'/>
|
||||
<instruction instr-id='544'/>
|
||||
<instruction instr-id='544' subinstr-id='2'/>
|
||||
<instruction instr-id='544' subinstr-id='4'/>
|
||||
<instruction instr-id='556'/>
|
||||
<instruction instr-id='556' subinstr-id='2'/>
|
||||
<instruction instr-id='556' subinstr-id='4'/>
|
||||
<instruction instr-id='568'/>
|
||||
<instruction instr-id='568' subinstr-id='2'/>
|
||||
<instruction instr-id='568' subinstr-id='4'/>
|
||||
<instruction instr-id='582'/>
|
||||
<instruction instr-id='582' subinstr-id='2'/>
|
||||
<instruction instr-id='582' subinstr-id='4'/>
|
||||
<instruction instr-id='582' subinstr-id='6'/>
|
||||
<bounding-box x1='76' y1='209' x2='472' y2='286'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='2'>
|
||||
<region id='1' page='4'>
|
||||
<instruction instr-id='87'/>
|
||||
<instruction instr-id='87' subinstr-id='2'/>
|
||||
<instruction instr-id='87' subinstr-id='4'/>
|
||||
<instruction instr-id='99'/>
|
||||
<instruction instr-id='99' subinstr-id='2'/>
|
||||
<instruction instr-id='99' subinstr-id='4'/>
|
||||
<instruction instr-id='111'/>
|
||||
<instruction instr-id='133'/>
|
||||
<instruction instr-id='133' subinstr-id='2'/>
|
||||
<instruction instr-id='133' subinstr-id='4'/>
|
||||
<instruction instr-id='149'/>
|
||||
<instruction instr-id='149' subinstr-id='2'/>
|
||||
<instruction instr-id='149' subinstr-id='4'/>
|
||||
<instruction instr-id='149' subinstr-id='6'/>
|
||||
<instruction instr-id='149' subinstr-id='8'/>
|
||||
<instruction instr-id='166'/>
|
||||
<instruction instr-id='172'/>
|
||||
<instruction instr-id='172' subinstr-id='2'/>
|
||||
<instruction instr-id='172' subinstr-id='4'/>
|
||||
<instruction instr-id='189'/>
|
||||
<instruction instr-id='189' subinstr-id='2'/>
|
||||
<instruction instr-id='189' subinstr-id='4'/>
|
||||
<instruction instr-id='205'/>
|
||||
<instruction instr-id='205' subinstr-id='2'/>
|
||||
<instruction instr-id='205' subinstr-id='4'/>
|
||||
<instruction instr-id='205' subinstr-id='6'/>
|
||||
<instruction instr-id='205' subinstr-id='8'/>
|
||||
<instruction instr-id='222'/>
|
||||
<instruction instr-id='228'/>
|
||||
<instruction instr-id='228' subinstr-id='2'/>
|
||||
<instruction instr-id='228' subinstr-id='4'/>
|
||||
<instruction instr-id='245'/>
|
||||
<instruction instr-id='245' subinstr-id='2'/>
|
||||
<instruction instr-id='245' subinstr-id='4'/>
|
||||
<instruction instr-id='261'/>
|
||||
<instruction instr-id='261' subinstr-id='2'/>
|
||||
<instruction instr-id='261' subinstr-id='4'/>
|
||||
<instruction instr-id='261' subinstr-id='6'/>
|
||||
<instruction instr-id='261' subinstr-id='8'/>
|
||||
<instruction instr-id='278'/>
|
||||
<instruction instr-id='284'/>
|
||||
<instruction instr-id='284' subinstr-id='2'/>
|
||||
<instruction instr-id='284' subinstr-id='4'/>
|
||||
<instruction instr-id='301'/>
|
||||
<instruction instr-id='301' subinstr-id='2'/>
|
||||
<instruction instr-id='301' subinstr-id='4'/>
|
||||
<instruction instr-id='317'/>
|
||||
<instruction instr-id='317' subinstr-id='2'/>
|
||||
<instruction instr-id='317' subinstr-id='4'/>
|
||||
<instruction instr-id='317' subinstr-id='6'/>
|
||||
<instruction instr-id='317' subinstr-id='8'/>
|
||||
<instruction instr-id='334'/>
|
||||
<instruction instr-id='340'/>
|
||||
<instruction instr-id='340' subinstr-id='2'/>
|
||||
<instruction instr-id='340' subinstr-id='4'/>
|
||||
<bounding-box x1='81' y1='410' x2='490' y2='619'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='3'>
|
||||
<region id='1' page='4'>
|
||||
<instruction instr-id='460'/>
|
||||
<instruction instr-id='460' subinstr-id='2'/>
|
||||
<instruction instr-id='460' subinstr-id='4'/>
|
||||
<instruction instr-id='474'/>
|
||||
<instruction instr-id='490'/>
|
||||
<instruction instr-id='490' subinstr-id='2'/>
|
||||
<instruction instr-id='490' subinstr-id='4'/>
|
||||
<instruction instr-id='504'/>
|
||||
<instruction instr-id='504' subinstr-id='2'/>
|
||||
<instruction instr-id='504' subinstr-id='4'/>
|
||||
<instruction instr-id='504' subinstr-id='6'/>
|
||||
<instruction instr-id='504' subinstr-id='8'/>
|
||||
<instruction instr-id='504' subinstr-id='10'/>
|
||||
<instruction instr-id='504' subinstr-id='12'/>
|
||||
<instruction instr-id='517'/>
|
||||
<instruction instr-id='517' subinstr-id='2'/>
|
||||
<instruction instr-id='517' subinstr-id='4'/>
|
||||
<instruction instr-id='529'/>
|
||||
<instruction instr-id='529' subinstr-id='2'/>
|
||||
<instruction instr-id='529' subinstr-id='4'/>
|
||||
<instruction instr-id='542'/>
|
||||
<instruction instr-id='542' subinstr-id='2'/>
|
||||
<instruction instr-id='542' subinstr-id='4'/>
|
||||
<instruction instr-id='542' subinstr-id='6'/>
|
||||
<instruction instr-id='542' subinstr-id='8'/>
|
||||
<instruction instr-id='542' subinstr-id='10'/>
|
||||
<instruction instr-id='542' subinstr-id='12'/>
|
||||
<instruction instr-id='542' subinstr-id='14'/>
|
||||
<instruction instr-id='542' subinstr-id='16'/>
|
||||
<instruction instr-id='542' subinstr-id='18'/>
|
||||
<instruction instr-id='542' subinstr-id='20'/>
|
||||
<instruction instr-id='542' subinstr-id='22'/>
|
||||
<instruction instr-id='556'/>
|
||||
<instruction instr-id='556' subinstr-id='2'/>
|
||||
<instruction instr-id='556' subinstr-id='4'/>
|
||||
<instruction instr-id='556' subinstr-id='6'/>
|
||||
<instruction instr-id='588'/>
|
||||
<instruction instr-id='595' subinstr-id='2'/>
|
||||
<instruction instr-id='595' subinstr-id='4'/>
|
||||
<instruction instr-id='595' subinstr-id='6'/>
|
||||
<instruction instr-id='595' subinstr-id='8'/>
|
||||
<instruction instr-id='595' subinstr-id='10'/>
|
||||
<instruction instr-id='595' subinstr-id='12'/>
|
||||
<instruction instr-id='595' subinstr-id='14'/>
|
||||
<instruction instr-id='595' subinstr-id='16'/>
|
||||
<instruction instr-id='595' subinstr-id='18'/>
|
||||
<instruction instr-id='628'/>
|
||||
<instruction instr-id='634'/>
|
||||
<instruction instr-id='634' subinstr-id='2'/>
|
||||
<instruction instr-id='634' subinstr-id='4'/>
|
||||
<instruction instr-id='634' subinstr-id='6'/>
|
||||
<instruction instr-id='634' subinstr-id='8'/>
|
||||
<instruction instr-id='634' subinstr-id='10'/>
|
||||
<instruction instr-id='634' subinstr-id='12'/>
|
||||
<instruction instr-id='634' subinstr-id='14'/>
|
||||
<instruction instr-id='634' subinstr-id='16'/>
|
||||
<instruction instr-id='634' subinstr-id='18'/>
|
||||
<instruction instr-id='666'/>
|
||||
<instruction instr-id='672'/>
|
||||
<instruction instr-id='672' subinstr-id='2'/>
|
||||
<instruction instr-id='672' subinstr-id='4'/>
|
||||
<instruction instr-id='672' subinstr-id='6'/>
|
||||
<instruction instr-id='672' subinstr-id='8'/>
|
||||
<instruction instr-id='672' subinstr-id='10'/>
|
||||
<instruction instr-id='672' subinstr-id='12'/>
|
||||
<instruction instr-id='672' subinstr-id='14'/>
|
||||
<instruction instr-id='672' subinstr-id='16'/>
|
||||
<instruction instr-id='672' subinstr-id='18'/>
|
||||
<bounding-box x1='77' y1='155' x2='520' y2='246'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='4'>
|
||||
<region id='1' page='5'>
|
||||
<instruction instr-id='37'/>
|
||||
<instruction instr-id='37' subinstr-id='2'/>
|
||||
<instruction instr-id='37' subinstr-id='4'/>
|
||||
<instruction instr-id='49'/>
|
||||
<instruction instr-id='49' subinstr-id='2'/>
|
||||
<instruction instr-id='49' subinstr-id='4'/>
|
||||
<instruction instr-id='61'/>
|
||||
<instruction instr-id='61' subinstr-id='2'/>
|
||||
<instruction instr-id='61' subinstr-id='4'/>
|
||||
<instruction instr-id='86'/>
|
||||
<instruction instr-id='86' subinstr-id='2'/>
|
||||
<instruction instr-id='86' subinstr-id='4'/>
|
||||
<instruction instr-id='86' subinstr-id='6'/>
|
||||
<instruction instr-id='86' subinstr-id='8'/>
|
||||
<instruction instr-id='86' subinstr-id='10'/>
|
||||
<instruction instr-id='86' subinstr-id='12'/>
|
||||
<instruction instr-id='86' subinstr-id='14'/>
|
||||
<instruction instr-id='86' subinstr-id='16'/>
|
||||
<instruction instr-id='86' subinstr-id='18'/>
|
||||
<instruction instr-id='86' subinstr-id='20'/>
|
||||
<instruction instr-id='86' subinstr-id='22'/>
|
||||
<instruction instr-id='86' subinstr-id='24'/>
|
||||
<instruction instr-id='86' subinstr-id='26'/>
|
||||
<instruction instr-id='86' subinstr-id='28'/>
|
||||
<instruction instr-id='86' subinstr-id='30'/>
|
||||
<instruction instr-id='86' subinstr-id='32'/>
|
||||
<instruction instr-id='86' subinstr-id='34'/>
|
||||
<instruction instr-id='86' subinstr-id='36'/>
|
||||
<instruction instr-id='86' subinstr-id='38'/>
|
||||
<instruction instr-id='86' subinstr-id='40'/>
|
||||
<instruction instr-id='86' subinstr-id='42'/>
|
||||
<instruction instr-id='86' subinstr-id='44'/>
|
||||
<instruction instr-id='86' subinstr-id='46'/>
|
||||
<instruction instr-id='86' subinstr-id='48'/>
|
||||
<instruction instr-id='112'/>
|
||||
<instruction instr-id='119'/>
|
||||
<instruction instr-id='119' subinstr-id='2'/>
|
||||
<instruction instr-id='119' subinstr-id='4'/>
|
||||
<instruction instr-id='119' subinstr-id='6'/>
|
||||
<instruction instr-id='119' subinstr-id='8'/>
|
||||
<instruction instr-id='146'/>
|
||||
<instruction instr-id='152'/>
|
||||
<instruction instr-id='152' subinstr-id='2'/>
|
||||
<instruction instr-id='152' subinstr-id='4'/>
|
||||
<instruction instr-id='152' subinstr-id='6'/>
|
||||
<instruction instr-id='152' subinstr-id='8'/>
|
||||
<instruction instr-id='178'/>
|
||||
<instruction instr-id='184'/>
|
||||
<instruction instr-id='184' subinstr-id='2'/>
|
||||
<instruction instr-id='184' subinstr-id='4'/>
|
||||
<instruction instr-id='184' subinstr-id='6'/>
|
||||
<instruction instr-id='184' subinstr-id='8'/>
|
||||
<bounding-box x1='77' y1='641' x2='511' y2='733'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='5'>
|
||||
<region id='1' page='5'>
|
||||
<instruction instr-id='392'/>
|
||||
<instruction instr-id='392' subinstr-id='2'/>
|
||||
<instruction instr-id='392' subinstr-id='4'/>
|
||||
<instruction instr-id='392' subinstr-id='6'/>
|
||||
<instruction instr-id='392' subinstr-id='8'/>
|
||||
<instruction instr-id='392' subinstr-id='10'/>
|
||||
<instruction instr-id='392' subinstr-id='12'/>
|
||||
<instruction instr-id='392' subinstr-id='14'/>
|
||||
<instruction instr-id='406'/>
|
||||
<instruction instr-id='406' subinstr-id='2'/>
|
||||
<instruction instr-id='406' subinstr-id='4'/>
|
||||
<instruction instr-id='406' subinstr-id='6'/>
|
||||
<instruction instr-id='420'/>
|
||||
<instruction instr-id='420' subinstr-id='2'/>
|
||||
<instruction instr-id='420' subinstr-id='4'/>
|
||||
<instruction instr-id='420' subinstr-id='6'/>
|
||||
<instruction instr-id='441'/>
|
||||
<instruction instr-id='441' subinstr-id='2'/>
|
||||
<instruction instr-id='441' subinstr-id='4'/>
|
||||
<instruction instr-id='441' subinstr-id='6'/>
|
||||
<instruction instr-id='441' subinstr-id='8'/>
|
||||
<instruction instr-id='455'/>
|
||||
<instruction instr-id='455' subinstr-id='2'/>
|
||||
<instruction instr-id='455' subinstr-id='4'/>
|
||||
<instruction instr-id='469'/>
|
||||
<instruction instr-id='469' subinstr-id='2'/>
|
||||
<instruction instr-id='469' subinstr-id='4'/>
|
||||
<instruction instr-id='483'/>
|
||||
<instruction instr-id='483' subinstr-id='2'/>
|
||||
<instruction instr-id='483' subinstr-id='4'/>
|
||||
<instruction instr-id='497'/>
|
||||
<instruction instr-id='497' subinstr-id='2'/>
|
||||
<instruction instr-id='497' subinstr-id='4'/>
|
||||
<instruction instr-id='510'/>
|
||||
<instruction instr-id='510' subinstr-id='2'/>
|
||||
<instruction instr-id='510' subinstr-id='4'/>
|
||||
<instruction instr-id='510' subinstr-id='6'/>
|
||||
<instruction instr-id='510' subinstr-id='8'/>
|
||||
<instruction instr-id='524'/>
|
||||
<instruction instr-id='524' subinstr-id='2'/>
|
||||
<instruction instr-id='524' subinstr-id='4'/>
|
||||
<instruction instr-id='524' subinstr-id='6'/>
|
||||
<instruction instr-id='524' subinstr-id='8'/>
|
||||
<instruction instr-id='524' subinstr-id='10'/>
|
||||
<bounding-box x1='76' y1='187' x2='494' y2='355'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1 @@
|
|||
{"numExpectedTables":5,"numCorrectlyDetectedTables":5,"numErroneouslyDetectedTables":1,"expectedFailure":true}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,157 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="competition-entry-region-model.xsd" filename='bm_eu-013-reg.xml'>
|
||||
<table id='1'>
|
||||
<region id='1' page='3'>
|
||||
<instruction instr-id='399'/>
|
||||
<instruction instr-id='399' subinstr-id='2'/>
|
||||
<instruction instr-id='399' subinstr-id='4'/>
|
||||
<instruction instr-id='423'/>
|
||||
<instruction instr-id='423' subinstr-id='2'/>
|
||||
<instruction instr-id='423' subinstr-id='4'/>
|
||||
<instruction instr-id='423' subinstr-id='6'/>
|
||||
<instruction instr-id='423' subinstr-id='8'/>
|
||||
<instruction instr-id='442'/>
|
||||
<instruction instr-id='442' subinstr-id='2'/>
|
||||
<instruction instr-id='442' subinstr-id='4'/>
|
||||
<instruction instr-id='442' subinstr-id='6'/>
|
||||
<instruction instr-id='442' subinstr-id='8'/>
|
||||
<instruction instr-id='442' subinstr-id='10'/>
|
||||
<instruction instr-id='442' subinstr-id='12'/>
|
||||
<instruction instr-id='463'/>
|
||||
<instruction instr-id='463' subinstr-id='2'/>
|
||||
<instruction instr-id='463' subinstr-id='4'/>
|
||||
<instruction instr-id='463' subinstr-id='6'/>
|
||||
<instruction instr-id='463' subinstr-id='8'/>
|
||||
<bounding-box x1='76' y1='143' x2='500' y2='204'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='2'>
|
||||
<region id='2' page='4'>
|
||||
<instruction instr-id='33'/>
|
||||
<instruction instr-id='33' subinstr-id='2'/>
|
||||
<instruction instr-id='33' subinstr-id='4'/>
|
||||
<instruction instr-id='33' subinstr-id='6'/>
|
||||
<instruction instr-id='39'/>
|
||||
<instruction instr-id='39' subinstr-id='2'/>
|
||||
<instruction instr-id='39' subinstr-id='4'/>
|
||||
<instruction instr-id='39' subinstr-id='6'/>
|
||||
<instruction instr-id='39' subinstr-id='8'/>
|
||||
<instruction instr-id='45'/>
|
||||
<instruction instr-id='45' subinstr-id='2'/>
|
||||
<instruction instr-id='45' subinstr-id='4'/>
|
||||
<instruction instr-id='45' subinstr-id='6'/>
|
||||
<instruction instr-id='50'/>
|
||||
<instruction instr-id='50' subinstr-id='2'/>
|
||||
<instruction instr-id='65'/>
|
||||
<instruction instr-id='65' subinstr-id='2'/>
|
||||
<instruction instr-id='65' subinstr-id='4'/>
|
||||
<instruction instr-id='71'/>
|
||||
<instruction instr-id='71' subinstr-id='2'/>
|
||||
<instruction instr-id='77'/>
|
||||
<instruction instr-id='77' subinstr-id='4'/>
|
||||
<instruction instr-id='77' subinstr-id='6'/>
|
||||
<instruction instr-id='89'/>
|
||||
<instruction instr-id='89' subinstr-id='2'/>
|
||||
<instruction instr-id='89' subinstr-id='4'/>
|
||||
<instruction instr-id='95'/>
|
||||
<instruction instr-id='95' subinstr-id='2'/>
|
||||
<instruction instr-id='101'/>
|
||||
<instruction instr-id='101' subinstr-id='4'/>
|
||||
<instruction instr-id='101' subinstr-id='6'/>
|
||||
<instruction instr-id='113'/>
|
||||
<instruction instr-id='113' subinstr-id='2'/>
|
||||
<instruction instr-id='113' subinstr-id='4'/>
|
||||
<instruction instr-id='113' subinstr-id='6'/>
|
||||
<instruction instr-id='113' subinstr-id='10'/>
|
||||
<instruction instr-id='113' subinstr-id='12'/>
|
||||
<instruction instr-id='125'/>
|
||||
<instruction instr-id='125' subinstr-id='2'/>
|
||||
<instruction instr-id='125' subinstr-id='4'/>
|
||||
<instruction instr-id='125' subinstr-id='6'/>
|
||||
<instruction instr-id='125' subinstr-id='8'/>
|
||||
<instruction instr-id='125' subinstr-id='10'/>
|
||||
<instruction instr-id='137'/>
|
||||
<instruction instr-id='137' subinstr-id='2'/>
|
||||
<instruction instr-id='137' subinstr-id='4'/>
|
||||
<instruction instr-id='143'/>
|
||||
<instruction instr-id='143' subinstr-id='2'/>
|
||||
<instruction instr-id='143' subinstr-id='4'/>
|
||||
<instruction instr-id='155'/>
|
||||
<instruction instr-id='155' subinstr-id='2'/>
|
||||
<instruction instr-id='155' subinstr-id='4'/>
|
||||
<instruction instr-id='155' subinstr-id='6'/>
|
||||
<instruction instr-id='155' subinstr-id='8'/>
|
||||
<instruction instr-id='167'/>
|
||||
<instruction instr-id='167' subinstr-id='2'/>
|
||||
<instruction instr-id='167' subinstr-id='4'/>
|
||||
<instruction instr-id='167' subinstr-id='6'/>
|
||||
<instruction instr-id='167' subinstr-id='8'/>
|
||||
<instruction instr-id='167' subinstr-id='10'/>
|
||||
<instruction instr-id='179'/>
|
||||
<instruction instr-id='179' subinstr-id='2'/>
|
||||
<instruction instr-id='179' subinstr-id='4'/>
|
||||
<instruction instr-id='192'/>
|
||||
<instruction instr-id='192' subinstr-id='2'/>
|
||||
<instruction instr-id='192' subinstr-id='4'/>
|
||||
<instruction instr-id='192' subinstr-id='6'/>
|
||||
<bounding-box x1='73' y1='559' x2='517' y2='733'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='3'>
|
||||
<region id='1' page='5'>
|
||||
<instruction instr-id='277' subinstr-id='2'/>
|
||||
<instruction instr-id='277' subinstr-id='4'/>
|
||||
<instruction instr-id='277' subinstr-id='6'/>
|
||||
<instruction instr-id='297'/>
|
||||
<instruction instr-id='297' subinstr-id='2'/>
|
||||
<instruction instr-id='297' subinstr-id='4'/>
|
||||
<instruction instr-id='297' subinstr-id='6'/>
|
||||
<instruction instr-id='297' subinstr-id='10'/>
|
||||
<instruction instr-id='297' subinstr-id='12'/>
|
||||
<instruction instr-id='297' subinstr-id='14'/>
|
||||
<instruction instr-id='297' subinstr-id='16'/>
|
||||
<instruction instr-id='297' subinstr-id='18'/>
|
||||
<bounding-box x1='76' y1='356' x2='506' y2='383'/>
|
||||
</region>
|
||||
</table>
|
||||
<table id='4'>
|
||||
<region id='1' page='8'>
|
||||
<instruction instr-id='229'/>
|
||||
<instruction instr-id='229' subinstr-id='2'/>
|
||||
<instruction instr-id='229' subinstr-id='4'/>
|
||||
<instruction instr-id='229' subinstr-id='6'/>
|
||||
<instruction instr-id='229' subinstr-id='8'/>
|
||||
<instruction instr-id='229' subinstr-id='10'/>
|
||||
<instruction instr-id='229' subinstr-id='12'/>
|
||||
<instruction instr-id='229' subinstr-id='14'/>
|
||||
<instruction instr-id='229' subinstr-id='16'/>
|
||||
<instruction instr-id='250'/>
|
||||
<instruction instr-id='250' subinstr-id='2'/>
|
||||
<instruction instr-id='250' subinstr-id='4'/>
|
||||
<instruction instr-id='250' subinstr-id='6'/>
|
||||
<instruction instr-id='250' subinstr-id='8'/>
|
||||
<instruction instr-id='250' subinstr-id='10'/>
|
||||
<instruction instr-id='269'/>
|
||||
<instruction instr-id='269' subinstr-id='2'/>
|
||||
<instruction instr-id='269' subinstr-id='4'/>
|
||||
<instruction instr-id='275'/>
|
||||
<instruction instr-id='275' subinstr-id='2'/>
|
||||
<instruction instr-id='275' subinstr-id='4'/>
|
||||
<instruction instr-id='275' subinstr-id='6'/>
|
||||
<instruction instr-id='275' subinstr-id='8'/>
|
||||
<instruction instr-id='275' subinstr-id='10'/>
|
||||
<instruction instr-id='294'/>
|
||||
<instruction instr-id='294' subinstr-id='2'/>
|
||||
<instruction instr-id='294' subinstr-id='4'/>
|
||||
<instruction instr-id='313'/>
|
||||
<instruction instr-id='313' subinstr-id='2'/>
|
||||
<instruction instr-id='313' subinstr-id='4'/>
|
||||
<instruction instr-id='313' subinstr-id='6'/>
|
||||
<instruction instr-id='332'/>
|
||||
<instruction instr-id='332' subinstr-id='2'/>
|
||||
<instruction instr-id='332' subinstr-id='4'/>
|
||||
<bounding-box x1='71' y1='334' x2='502' y2='429'/>
|
||||
</region>
|
||||
</table>
|
||||
</document>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue