|
traj_gen
v2.1.0
Optimal trajectory generation library given equality and inequality constraints (C++/Matlab). https://github.com/icsl-Jeon/traj_gen
|
TrajGen is abstract class as a base for polyTrajGen and optimTrajGen. More...
#include <TrajGen.hpp>
Public Member Functions | |
| TrajGen (time_knots< T > ts_) | |
| TrajGen () | |
| void | addPinSet (const vector< Pin< T, dim > *> &pinPtrSet) |
| void | setDerivativeObj (VectorX< T > weights) |
| virtual void | addPin (const Pin< T, dim > *pin) |
| virtual Vector< T, dim > | eval (T t_eval, d_order d)=0 |
| virtual bool | solve (bool verbose)=0 |
Protected Member Functions | |
| void | findSegInterval (T t, uint &m) |
| Find a segment index (0,1,...,M-1) which contains t (ts[m]<= t < ts[m+1] || t< ts[1] || ts[M-1]<= t) More... | |
| void | findSegInterval (T t, uint &m, T &tau) |
| virtual ConstraintMatPair< T, dim > | fixPinMatSet (const FixPin< T, dim > *pPin, uint blockSize=1)=0 |
| virtual ConstraintMatPair< T, dim > | loosePinMatSet (const LoosePin< T, dim > *pPin, uint blockSize=1)=0 |
| virtual QpForm< T, dim > | getQPSet ()=0 |
| uint | getTotalNineq () |
| virtual uint | getTotalNeq () |
Protected Attributes | |
| uint | M |
| bool | isSolved = false |
| time_knots< T > | ts |
| vector< FixPin< T, dim > > * | fixPinSet |
| vector< LoosePin< T, dim > > * | loosePinSet |
| set< d_order > * | fixPinOrderSet |
| VectorX< T > | weight_mask |
TrajGen is abstract class as a base for polyTrajGen and optimTrajGen.
| T | datatype (e.g. float or double). The choice of the datatype critical for the accuaracy |
| dim | dimension of operational space (e.g. 2D or 3D) |
Definition at line 271 of file TrajGen.hpp.
| trajgen::TrajGen< T, dim >::TrajGen | ( | time_knots< T > | ts_ | ) |
Definition at line 528 of file TrajGen.hpp.
|
inline |
Definition at line 295 of file TrajGen.hpp.
|
virtual |
Add pin struct to corresponding segment
| T | |
| dim |
| pin |
Reimplemented in trajgen::OptimTrajGen< T, dim >, and trajgen::PolyTrajGen< T, dim >.
Definition at line 569 of file TrajGen.hpp.
| void trajgen::TrajGen< T, dim >::addPinSet | ( | const vector< Pin< T, dim > *> & | pinPtrSet | ) |
This method process the set of pins in one-shot way
| T | |
| dim |
| pinPtrSet |
Definition at line 583 of file TrajGen.hpp.
|
pure virtual |
Implemented in trajgen::OptimTrajGen< T, dim >, and trajgen::PolyTrajGen< T, dim >.
|
protected |
Find a segment index (0,1,...,M-1) which contains t (ts[m]<= t < ts[m+1] || t< ts[1] || ts[M-1]<= t)
| dim |
| t | query time |
| m | segment index |
Definition at line 543 of file TrajGen.hpp.
|
protected |
Find a segment index (0,1,...,M-1) which contains t (ts[m]<= t < ts[m+1] || t< ts[1] || ts[M-1]<= t)
| dim |
| t | query time |
| m | segment index |
| tau | Normalized time on the segment |
Definition at line 555 of file TrajGen.hpp.
|
protectedpure virtual |
Implemented in trajgen::OptimTrajGen< T, dim >, and trajgen::PolyTrajGen< T, dim >.
|
protectedpure virtual |
Implemented in trajgen::OptimTrajGen< T, dim >, and trajgen::PolyTrajGen< T, dim >.
|
protectedvirtual |
get total number of equality condition.
| T | |
| dim |
Reimplemented in trajgen::PolyTrajGen< T, dim >.
Definition at line 611 of file TrajGen.hpp.
|
protected |
get total number of inequality condition.
Definition at line 599 of file TrajGen.hpp.
|
protectedpure virtual |
Implemented in trajgen::OptimTrajGen< T, dim >, and trajgen::PolyTrajGen< T, dim >.
| void trajgen::TrajGen< T, dim >::setDerivativeObj | ( | VectorX< T > | weights | ) |
Set the weights of each component of derivative penalty
| T | |
| dim |
| weights |
Definition at line 593 of file TrajGen.hpp.
|
pure virtual |
Implemented in trajgen::OptimTrajGen< T, dim >, and trajgen::PolyTrajGen< T, dim >.
|
protected |
Definition at line 280 of file TrajGen.hpp.
|
protected |
Definition at line 278 of file TrajGen.hpp.
|
protected |
Definition at line 275 of file TrajGen.hpp.
|
protected |
Definition at line 279 of file TrajGen.hpp.
|
protected |
Definition at line 274 of file TrajGen.hpp.
|
protected |
Definition at line 276 of file TrajGen.hpp.
|
protected |
Definition at line 281 of file TrajGen.hpp.


Ada95 Binding for ncurses
The ncurses Ada95 binding is © 1996-2000 by
Jürgen Pfeifer.
Permission is hereby granted to reproduce and distribute this
binding by any means and for any fee, whether alone or as part
of a larger distribution, in source or in binary form, PROVIDED
this notice is included with any such distribution, and is not
removed from any of its header files. Mention of ncurses and the
author of this binding in any applications linked with it is
highly appreciated.
This binding comes AS IS with no warranty, implied or expressed.
General Remarks
- This document describes Version 01.00 of the binding.
- The functionality is modeled to be compatible with the ncurses
package, a clone of the SVr4 curses model.
I did the development on an Intel box running the latest stable release of
Linux, ncurses and the most recent released
GNU Ada Translator
gnat versions. For any older versions of ncurses and gnat
it is not guaranteed to work.

If you don't have this program, you can get the FSF version
here.
- Ada programs are supposed to be readable. One of my
favorite methods to make code readable is to use expressive
names for the identifiers. You can find a list of a mapping
of the cryptic curses names to the Ada names in this table.
- This is not a typical one-2-one interface mapping. It is
close to one-2-one on the functional level. Each (n)curses function
has it's counterpart with a more or less similar formal parameter list
in the binding. It is not one-2-one with respect to the datatypes.
I tried to make records out of the flat chtype and similar structures,
so you don't have to do bit operations to mark an attributed character
as bold. Just make the boolean member bold of the record
true. The binding also hides the structures like WINDOW, PANEL, MENU, FORM
etc. ! It's a pure functional API.
- I try to do as much error checking as possible and feasible
in the binding. I will raise an Ada exception when something
went wrong in the low-level curses. This has the effect that - at least
first time in my life - (n)curses programs have now a very rigid error
checking, but - thanks to Ada - you don't have to code the orgiastic
error checking style of C.
- Support for wide characters is currently not in the binding, as it
is not really in ncurses at this point in time.
Limitations
- I provide no SCREEN datatype and functions to set a new screen.
If you need this (mostly for debugging I guess), write a small
C routine doing all this and import it into your Ada program.
- I provide no functions to switch on/off curses tracing options.
Same suggestion as above.
- Although Ada95 is an OO Language, this binding doesn't provide
an OO abstraction of the (n)curses functionality. As mentioned above
it's a thin binding for the (n)curses functions. But without any
doubt it would be nice to build on top of this an OO abstraction
of (n)curses functionality.
The only exception is the method how fieldtypes are represented in
this Binding. We provide an abstract tagged type Field_Type from
which the various fieldtypes are derived.
- I currently do not support the link_fieldtype functionality of the
forms subsystem.
- The *_IO packages are currently output only.
Hierarchy of packages
If you want to navigate through the html pages of the package specs, click here.
Implementation Details
Behind the abstraction
All the new types like Window, Panel,
Menu, Form etc. are just
opaque representations of the pointers to the corresponding
low level (n)curses structures like
WINDOW *, PANEL *,
MENU * or FORM *.
So you can safely pass them to C routines that expect a pointer
to one of those structures.
Extended ripoffline() usage
The official documentation of (n)curses says, that the line parameter
determines only whether or not exactly one line is
stolen from the top or bottom of the screen. So essentially only the
sign of the parameter is evaluated. ncurses has internally implemented
it in a way, that uses the line parameter also to control the amount of
lines to steal. This mechanism is used in the Rip_Off_Lines
routine of the binding.
TBD
Enumeration fields handling
The (n)curses documentation says, that the String arrays to be passed to
an TYPE_ENUM fieldtype must not be automatic variables. This is not true
in this binding, because it is internally arranged to safely copy these
values.
This should basically not be a problem.
Port to other curses implementations
Basically it should not be too hard to make all this run on a regular SVr4
implementation of curses. The problems are probably these:
- ncurses has some additional features which are presented in this binding. You
have two choices to deal with this:
- Emulate the feature in this binding
- Raise an exception for non implemented features
Most likely you will follow a mixed approach. Some features are easy to simulate,
others will be hard if not impossible.
I'm quite sure I forgot something.


Summer’s Entertaining Treats
Save on Everything!
Save $15 on purchases of $40 or more
or
Save $30 on purchases of $70 or more
To Shop Online Now, copy and paste:
http://links.mkt1917.com/ctt?kn=3&ms=MTI5NDY0OTQS1&r=Mzc1MTMwMDUwMTIS1&b=2&j=NzQzNDA2NDE1S0&mt=1&rt=0
into your browser
To find a store, copy and paste:
http://links.mkt1917.com/ctt?kn=16&ms=MTI5NDY0OTQS1&r=Mzc1MTMwMDUwMTIS1&b=2&j=NzQzNDA2NDE1S0&mt=1&rt=0
into your browser
Just what you need this summer!
Candles
To Shop Online Now, copy and paste:
http://links.mkt1917.com/ctt?kn=9&ms=MTI5NDY0OTQS1&r=Mzc1MTMwMDUwMTIS1&b=2&j=NzQzNDA2NDE1S0&mt=1&rt=0
into your browser
Flameless Fragrance
To find a store, copy and paste:
http://links.mkt1917.com/ctt?kn=20&ms=MTI5NDY0OTQS1&r=Mzc1MTMwMDUwMTIS1&b=2&j=NzQzNDA2NDE1S0&mt=1&rt=0
into your browser
Candle Accessories
To find a store, copy and paste:
http://links.mkt1917.com/ctt?kn=11&ms=MTI5NDY0OTQS1&r=Mzc1MTMwMDUwMTIS1&b=2&j=NzQzNDA2NDE1S0&mt=1&rt=0
into your browser
To Print the Coupon, copy and paste:
http://links.mkt1917.com/ctt?kn=13&ms=MTI5NDY0OTQS1&r=Mzc1MTMwMDUwMTIS1&b=2&j=NzQzNDA2NDE1S0&mt=1&rt=0
into your browser


WELCOME TO HOME PAGE
Some text some text some text some text some text some text some text some text some text some text some text some text some text.
Our Free Products
|
|
Just try to find me
|
|
Some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text.
|
|
|
Meeting Place
|
|
Some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text.
|
|
|
Skate Show
|
|
Some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text.
|


I got my wonderful new bicycle and took it out for a maiden voyage. Also, a quick trip to Carcassonne, a nice outing to a café-théâtre, and a wonderful meal at a restaurant called "the dirty brts."
I got a flat tire, and soon after noticed a broken spoke, on the peak day of the heat wave. Quite an afternoon! But it's all fixed now, and I met some wonderful people along the way.
The château that is so angry it cannot move. It cannot eat. It cannot sleep. It can just barely growl. -- Bound so tightly with tension and anger, it approaches the state of rigor mortis.
Orléans marks the high point of my trip, in that it's the furthest point north. Also, I get to install a new tire, and a new luggage rack! And, I think I've reached peak tacos.
Since I got to Geneva a week and a half earlier than I needed to, I was more or less forced to go on a bicycle tour of Switzerland. Don't you hate when that happens?
I made it up to Basel, and spent a couple of days there. A loop through Germany and a loop through France were nice, too. Now I'm ready for my week in L.A., on the way to Senegal!


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
B
C
D
E
F
G
H
I
J
L
M
N
P
Q
R
S
T
U
V
W
L
LIST_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_CONCAT_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_COUNT_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_IMULT_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_MAX_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_MIN_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_MULT_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_REVERSE_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_SLICE_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_SORT_SUB_COMMAND_NAME
- Static variable in class py4j.commands.
ListCommand
LIST_TYPE
- Static variable in class py4j.
Protocol
ListCommand
- Class in
py4j.commands
A ListCommand is responsible for handling operations on lists (e.g., slicing).
ListCommand()
- Constructor for class py4j.commands.
ListCommand
listeners
- Variable in class py4j.
GatewayConnection
logger
- Variable in class py4j.
GatewayConnection
LONG_CONVERTER
- Static variable in class py4j.reflection.
TypeConverter
LONG_TYPE
- Static variable in class py4j.
Protocol
LRUCache
<
K
,
V
> - Class in
py4j.reflection
Implementation of a Least Recently Used cache.
LRUCache()
- Constructor for class py4j.reflection.
LRUCache
LRUCache(int)
- Constructor for class py4j.reflection.
LRUCache
A
B
C
D
E
F
G
H
I
J
L
M
N
P
Q
R
S
T
U
V
W
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


3.x.x
. The
version date shall be the date of the latest change.

 Version	 Date	 Author	 Comment
 ...
 1.0.1	 2008-05-26	 A. Haumer
C. Kral	 Fixed bug in documentation

 1.0.0	 2008-05-21	 A. Haumer	 Initial version

This code appears then as in the "Revisions" section below.
| Version | Date | Author | Comment |
|---|---|---|---|
| 3.2.3 | 2017-07-04 | C. Kral | Added comment on version number and date, see #2219 |
| 1.1.0 | 2010-04-22 | C. Kral | Migrated Conventions to UsersGuide of MSL |
| 1.0.5 | 2010-03-11 | D. Winkler | Updated image links guide to new 'modelica://' URIs, added contact details |
| 1.0.4 | 2009-09-28 | C. Kral | Applied new rules for equations as discussed on the 63rd Modelica Design Meeting |
| 1.0.3 | 2008-05-26 | D. Winkler | Layout fixes and enhancements |
| 1.0.1 | 2008-05-26 | A. Haumer C. Kral |
Fixed bug in documentation |
| 1.0.0 | 2008-05-21 | A. Haumer | Initial version |


Container Usage Guidelines
ezEngine has the following container classes:
ezStaticArray
ezHybridArray
ezDynamicArray
ezStaticRingBuffer
ezDeque
ezList
ezMap
ezSet
ezHashTable
ezArrayMap
The following containers store their data as contiguous arrays:
ezStaticArray
ezHybridArray
ezDynamicArray
ezStaticRingBuffer
ezArrayMap
The following containers are built on top of ezDeque
and thus share some performance characteristics:
ezList
ezMap
ezSet
When to use which Container Type
Arrays
General Guidelines
For arrays, ezHybridArray
, ezDynamicArray
and ezDeque
are the most important containers.
If you know or have a guess how much data you will need, always use this information in a call to Reserve
to ensure that the containers can allocate data once (or at least much less), and do not need to reallocate several times.
Never remove an element in between (using RemoveAt
), unless there is really no other way (and hopefully your array is small). Prefer RemoveAtAndSwap
to replace the removed element by the last element in the array instead (this will destroy the order though).
Similarly, never insert elements anywhere else than at the end.
The only exception is ezDeque
, which is very efficient at insertion and removal of elements at both ends.
ezHybridArray
ezHybridArray
uses an internal fixed size cache (which you can specify as a template argument). When you create an ezHybridArray
on the stack, that data is also allocated on the stack. This is the most important container for writing performance critical yet safe code. ezHybridArray
allows to implement many algorithms without the need to use dynamic allocations.
Prefer ezHybridArray
when you have a use case where you typically have a small set of elements, but it might be larger in some situations. ezHybridArray
will give you the performance of an immediately available array on the stack, combined with the safety of a dynamically allocated array on the heap, as it will reallocate data dynamically, whenever its internal storage is insufficient.
However, be careful not to make the internal buffer too large. When creating ezHybridArrays
on the stack, you should not use more than a few KB for the internal cache, as you increase the risk for stack overflows. You should usually try to stay below (2KB / sizeof(Type))
for the number of elements in the ezHybridArray
cache.
Note: ezHybridArray
is derived from ezDynamicArray
, that means every function that takes an ezDynamicArray
(even for writing output to), can be given an ezHybridArray
.
ezDynamicArray
ezDynamicArray
always allocates its data on the heap. The upside is, that it has a very low memory overhead, as long as it is empty, and it can handle any number of elements.
Prefer ezDynamicArray
if your working set is generally larger and when you know how many elements it needs to hold before you fill it up. Use Reserve
or SetCount
BEFORE you start adding data to it, to prevent unnecessary reallocation later, as those are very costly.
Also prefer ezDynamicArray
if the memory overhead in the empty state is of concern.
ezDeque
ezDeque
stores its data as several chunks of contiguous arrays. An additional "redirection array" is used to know how to index into these chunks.
ezDeque
requires one pointer indirection to make a lookup into its data.
The deque is the only array container that does not store its data in one contiguous block of memory. Be aware of that, you cannot memcpy
or memcmp
data in a deque with more than one element, as the next element might be stored somewhere completely different.
However a deque NEVER relocates an existing element in memory, either. That means once an element is inserted into a deque, you can safely store pointers to it, as it will not move around in memory (unless it is deleted, of course).
Deques allocate their data in chunks. So whenever the memory is insufficient, a new chunk that can hold a fixed number of elements is allocated. One chunk is typically 4 KB in size. That means if you store floats
in a deque, one chunk can hold 1000 values. Thus this is the 'minimum' memory usage of a deque, unless it is completely empty still.
As such ezDeques
are very efficient for iteration (most of the data is contiguous) and they are very dynamic, as their size can grow dynamically without the need to reallocate and copy previous data, as the other array types would need to do.
Therefore prefer ezDeques
whenever you need to have nearly the performance of an array, but have very dynamic data sets, that are difficult to predict in size, or that vary all the time.
As deques are optimized for insertion and removal at both ends, ezDeques
are perfectly suited as fifo queues and dynamic ring-buffers.
The memory overhead of ezDeques
is rather high, so do not use it for small data-sets (here ezHybridArray
is typically the best container).
ezDeques
are also very well suited, whenever you have large objects to store that are very costly to construct or copy around, and you want to prevent those operations by all means, such that you do not want a container reallocation to trigger that.
ezStaticArray
This is a container that only stores a static array internally and cannot resize itself to be larger than that. Use this in code that has a definite upper limit of elements and whenever you must prevent the usage of any allocator by all means (such as for global variables).
Typically there should be no need for this container, as ezHybridArray
delivers the same performance advantages and the safety of reallocating to the required size dynamically.
ezStaticRingBuffer
Use this when you need a ring-buffer that shall have a fixed size. Use ezDeque
if you need a dynamically resizing ring-buffer.
Lists
There is only one implementation of a doubly linked list: ezList
ezList
is internally built on top of a ezDeque
. As such the memory requirements are the same.
ezList
is optimized for inserting and removing objects frequently. Iterating over its elements might be slow due to excessive cache misses.
You should typically not use ezList
in code that is performance critical. Use it when you have data-sets of unpredictable size that need to be sorted or rearranged very dynamically. For example when you read a complex data set which then needs to be processed and sorted by different criteria, which might delete and insert elements at random positions, then prefer an ezList
. However, once that step is finished, you should copy your sorted data into some array container for faster access.
Nodes in an ezList
are never relocated in memory, as such iterators stay valid as long as the element is still alive.
Associative Containers
ezMap
and ezSet
Both containers are basically the same, except that ezMap
stores a 'value' for each 'key', whereas a set only stores 'keys'.
Use ezMap
whenever you need to be able to look up an entry with a key. Use ezSet
whenever you simply need to know whether some element is present or to merge data-sets down to all the unique elements.
ezMap
and ezSet
are built on top of ezDeque
, similar to ezList
, that means they are quite heavy-weight in their memory consumption, however they can grow in size efficiently. As with ezList
, iterators (and pointers) to elements stay valid, as long as the element is alive, i.e. the data is never relocated.
Insertion, lookup and removal are all O(log n)
operations, since they are red-black trees internally and thus always perfectly balanced.
ezMap
and ezSet
are well suited for very dynamic data sets (where a lot of insertions and removals are done, while also using it for lookup). If you have a use-case where you insert once and then lookup often, a sorted array, such as ezArrayMap
, or an ezHashTable
might be more efficient.
ezMap
and ezSet
only require a simple comparer to be able to sort elements in a strictly weak ordering. As such they are well suited to handle objects that can be difficult to be hashed.
Note that the nodes in the Map/Set each contain one element of their key/value type and those are stored in an ezDeque
. As such, when you put an ezHybridArray
(or an ezString
) into an ezMap
, only one allocation is needed to allocate all the memory for a chunk (in the ezDeque
) of data, which holds a large number of nodes, which already embed the data of their keys/values (e.g. ezHybridArray
). Thus you can get away with very few memory allocations.
If however you store an ezDynamicArray
in an ezMap
, each element still needs to allocate its own internal storage, which means you will get one additional allocation per element.
ezArrayMap
This container provides similar functionality as ezMap
but should be more efficient in scenarios where elements are looked up more often than they are inserted or removed. The implementation simply uses an array that is kept sorted, such that lookups can be done in a more cache friendly manner.
If all you need is an associative container and your use case consists of changing the container infrequently, but looking up elements frequently (which is very often the case), you should prefer this container.
Note, however, that this container will rearrange elements in memory whenever it needs to be sorted. In contrast an ezMap
guarantees that elements never move in memory, allowing to store pointers to the memory locations. Likewise the iterators of an ezMap
stay valid as long as an elements resides in the map. For ezArrayMap
this is not true, the index at which an element is stored can change whenever any element is added or removed.
ezHashTable
The ezHashTable
is optimized for very fast lookup, which should typically be a O(1)
operation. Prefer the hash table whenever you will have a data set that is modified infrequently, but lookups will be done often and need to be as fast as possible.
ezHashTable
may relocate its internal memory, which means iterators to its elements may not stay valid when the table is modified.
Make sure to Reserve
how much elements you probably will put into the ezHashTable
, to ensure fewer reallocations, but also to avoid hash-collisions and thus to improve overall performance.


Maxlength Password Test
This password field has maxlength=32
. 64-character password:
xxyLThZYlauwDUPshIHDldCFcaieYzCjiDKIrDeUfIyoVPMFiRNUzsqadlwJrfPH
This password field has maxlength=32
. 64-character password:
xxyLThZYlauwDUPshIHDldCFcaieYzCjiDKIrDeUfIyoVPMFiRNUzsqadlwJrfPH


Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
|
#!/usr/bin/python
Note: this is a legacy interface. New code should use Dbf class for table creation (see examples in dbf.py)
TODO: - handle Memo fields. - check length of the fields accoring to the `http://www.clicketyclick.dk/databases/xbase/format/data_types.html`
""" """History (most recent first) 04-jul-2006 [als] added export declaration; updated for dbfpy 2.0 15-dec-2005 [yc] define dbf_new.__slots__ 14-dec-2005 [yc] added vim modeline; retab'd; added doc-strings; dbf_new now is a new class (inherited from object) ??-jun-2000 [--] added by Hans Fiby """
"""Field definition.
This is a simple structure, which contains ``name``, ``type``, ``len``, ``dec`` and ``cls`` fields.
Objects also implement get/setitem magic functions, so fields could be accessed via sequence iterface, where 'name' has index 0, 'type' index 1, 'len' index 2, 'dec' index 3 and 'cls' could be located at index 4.
"""
# WARNING: be attentive - dictionaries are mutable! # type: (cls, len) "C": (DbfCharacterFieldDef, None), "N": (DbfNumericFieldDef, None), "L": (DbfLogicalFieldDef, 1), # FIXME: support memos # "M": (DbfMemoFieldDef), "D": (DbfDateFieldDef, 8), # FIXME: I'm not sure length should be 14 characters! # but temporary I use it, cuz date is 8 characters # and time 6 (hhmmss) "T": (DbfDateTimeFieldDef, 14), }
_cls, _len = self.FLD_TYPES[type] if _len is None: if len is None: raise ValueError("Field length must be defined") _len = len self.name = name self.type = type self.len = _len self.dec = dec self.cls = _cls
"Return `DbfFieldDef` instance from the current definition." return self.cls(self.name, self.len, self.dec)
"""Create a `DbfFieldDef` instance and append it to the dbf header.
Arguments: dbfh: `DbfHeader` instance.
""" _dbff = self.getDbfField() dbfh.addField(_dbff)
"""New .DBF creation helper.
Example Usage:
dbfn = dbf_new() dbfn.add_field("name",'C',80) dbfn.add_field("price",'N',10,2) dbfn.add_field("date",'D',8) dbfn.write("tst.dbf")
Note: This module cannot handle Memo-fields, they are special.
"""
self.fields = []
"""Add field definition.
Arguments: name: field name (str object). field name must not contain ASCII NULs and it's length shouldn't exceed 10 characters. typ: type of the field. this must be a single character from the "CNLMDT" set meaning character, numeric, logical, memo, date and date/time respectively. len: length of the field. this argument is used only for the character and numeric fields. all other fields have fixed length. FIXME: use None as a default for this argument? dec: decimal precision. used only for the numric fields.
""" self.fields.append(self.FieldDefinitionClass(name, typ, len, dec))
"""Create empty .DBF file using current structure.""" _dbfh = DbfHeader() _dbfh.setCurrentDate() for _fldDef in self.fields: _fldDef.appendToHeader(_dbfh)
_dbfStream = open(filename, "wb") _dbfh.write(_dbfStream) _dbfStream.close()
# create a new DBF-File dbfn = dbf_new() dbfn.add_field("name", 'C', 80) dbfn.add_field("price", 'N', 10, 2) dbfn.add_field("date", 'D', 8) dbfn.write("tst.dbf") # test new dbf print("*** created tst.dbf: ***") dbft = Dbf('tst.dbf', readOnly=0) print(repr(dbft)) # add a record rec = DbfRecord(dbft) rec['name'] = 'something' rec['price'] = 10.5 rec['date'] = (2000, 1, 12) rec.store() # add another record rec = DbfRecord(dbft) rec['name'] = 'foo and bar' rec['price'] = 12234 rec['date'] = (1992, 7, 15) rec.store()
# show the records print("*** inserted 2 records into tst.dbf: ***") print(repr(dbft)) for i1 in range(len(dbft)): rec = dbft[i1] for fldName in dbft.fieldNames: print('%s:\t %s' % (fldName, rec[fldName])) print() dbft.close()
# vim: set et sts=4 sw=4 : |


| fab fa-500px |  | Try it | |
| fab fa-accessible-icon |  | Try it | |
| fab fa-accusoft |  | Try it | |
| fab fa-acquisitions-incorporated |  | Try it | |
| fab fa-adn |  | Try it | |
| fab fa-adobe |  | Try it | |
| fab fa-adversal |  | Try it | |
| fab fa-affiliatetheme |  | Try it | |
| fab fa-algolia |  | Try it | |
| fab fa-alipay |  | Try it | |
| fab fa-amazon |  | Try it | |
| fab fa-amazon-pay |  | Try it | |
| fab fa-amilia |  | Try it | |
| fab fa-android |  | Try it | |
| fab fa-angellist |  | Try it | |
| fab fa-angrycreative |  | Try it | |
| fab fa-angular |  | Try it | |
| fab fa-app-store |  | Try it | |
| fab fa-app-store-ios |  | Try it | |
| fab fa-apper |  | Try it | |
| fab fa-apple |  | Try it | |
| fab fa-apple-pay |  | Try it | |
| fab fa-artstation |  | Try it | |
| fab fa-asymmetrik |  | Try it | |
| fab fa-atlassian |  | Try it | |
| fab fa-audible |  | Try it | |
| fab fa-autoprefixer |  | Try it | |
| fab fa-avianex |  | Try it | |
| fab fa-aviato |  | Try it | |
| fab fa-aws |  | Try it | |
| fab fa-bandcamp |  | Try it | |
| fab fa-behance |  | Try it | |
| fab fa-behance-square |  | Try it | |
| fab fa-bimobject |  | Try it | |
| fab fa-bitbucket |  | Try it | |
| fab fa-bitcoin |  | Try it | |
| fab fa-bity |  | Try it | |
| fab fa-black-tie |  | Try it | |
| fab fa-blackberry |  | Try it | |
| fab fa-blogger |  | Try it | |
| fab fa-blogger-b |  | Try it | |
| fab fa-bluetooth |  | Try it | |
| fab fa-bluetooth-b |  | Try it | |
| fab fa-btc |  | Try it | |
| fab fa-buromobelexperte |  | Try it | |
| fab fa-buysellads |  | Try it | |
| fab fa-canadian-maple-leaf |  | Try it | |
| fab fa-cc-amazon-pay |  | Try it | |
| fab fa-cc-amex |  | Try it | |
| fab fa-cc-apple-pay |  | Try it | |
| fab fa-cc-diners-club |  | Try it | |
| fab fa-cc-discover |  | Try it | |
| fab fa-cc-jcb |  | Try it | |
| fab fa-cc-mastercard |  | Try it | |
| fab fa-cc-paypal |  | Try it | |
| fab fa-cc-stripe |  | Try it | |
| fab fa-cc-visa |  | Try it | |
| fab fa-centercode |  | Try it | |
| fab fa-centos |  | Try it | |
| fab fa-chrome |  | Try it | |
| fab fa-cloudscale |  | Try it | |
| fab fa-cloudsmith |  | Try it | |
| fab fa-cloudversify |  | Try it | |
| fab fa-codepen |  | Try it | |
| fab fa-codiepie |  | Try it | |
| fab fa-confluence |  | Try it | |
| fab fa-connectdevelop |  | Try it | |
| fab fa-contao |  | Try it | |
| fab fa-cotton-bureau |  | Try it | |
| fab fa-cpanel |  | Try it | |
| fab fa-creative-commons |  | Try it | |
| fab fa-creative-commons-by |  | Try it | |
| fab fa-creative-commons-nc |  | Try it | |
| fab fa-creative-commons-nc-eu |  | Try it | |
| fab fa-creative-commons-nc-jp |  | Try it | |
| fab fa-creative-commons-nd |  | Try it | |
| fab fa-creative-commons-pd |  | Try it | |
| fab fa-creative-commons-pd-alt |  | Try it | |
| fab fa-creative-commons-remix |  | Try it | |
| fab fa-creative-commons-sa |  | Try it | |
| fab fa-creative-commons-sampling |  | Try it | |
| fab fa-creative-commons-sampling-plus |  | Try it | |
| fab fa-creative-commons-share |  | Try it | |
| fab fa-creative-commons-zero |  | Try it | |
| fab fa-critical-role |  | Try it | |
| fab fa-css3 |  | Try it | |
| fab fa-css3-alt |  | Try it | |
| fab fa-cuttlefish |  | Try it | |
| fab fa-d-and-d |  | Try it | |
| fab fa-d-and-d-beyond |  | Try it | |
| fab fa-dashcube |  | Try it | |
| fab fa-delicious |  | Try it | |
| fab fa-deploydog |  | Try it | |
| fab fa-deskpro |  | Try it | |
| fab fa-dev |  | Try it | |
| fab fa-deviantart |  | Try it | |
| fab fa-dhl |  | Try it | |
| fab fa-diaspora |  | Try it | |
| fab fa-digg |  | Try it | |
| fab fa-digital-ocean |  | Try it | |
| fab fa-discord |  | Try it | |
| fab fa-discourse |  | Try it | |
| fab fa-dochub |  | Try it | |
| fab fa-docker |  | Try it | |
| fab fa-draft2digital |  | Try it | |
| fab fa-dribbble |  | Try it | |
| fab fa-dribbble-square |  | Try it | |
| fab fa-dropbox |  | Try it | |
| fab fa-drupal |  | Try it | |
| fab fa-dyalog |  | Try it | |
| fab fa-earlybirds |  | Try it | |
| fab fa-ebay |  | Try it | |
| fab fa-edge |  | Try it | |
| fab fa-elementor |  | Try it | |
| fab fa-ello |  | Try it | |
| fab fa-ember |  | Try it | |
| fab fa-empire |  | Try it | |
| fab fa-envira |  | Try it | |
| fab fa-erlang |  | Try it | |
| fab fa-ethereum |  | Try it | |
| fab fa-etsy |  | Try it | |
| fab fa-expeditedssl |  | Try it | |
| fab fa-facebook |  | Try it | |
| fab fa-facebook-f |  | Try it | |
| fab fa-facebook-messenger |  | Try it | |
| fab fa-facebook-square |  | Try it | |
| fab fa-fantasy-flight-games |  | Try it | |
| fab fa-fedex |  | Try it | |
| fab fa-fedora |  | Try it | |
| fab fa-figma |  | Try it | |
| fab fa-firefox |  | Try it | |
| fab fa-firefox-browser | 龜 | Try it | |
| fab fa-first-order |  | Try it | |
| fab fa-first-order-alt |  | Try it | |
| fab fa-firstdraft |  | Try it | |
| fab fa-flickr |  | Try it | |
| fab fa-flipboard |  | Try it | |
| fab fa-fly |  | Try it | |
| fab fa-font-awesome |  | Try it | |
| fab fa-font-awesome-alt |  | Try it | |
| fab fa-font-awesome-flag |  | Try it | |
| fab fa-fonticons |  | Try it | |
| fab fa-fonticons-fi |  | Try it | |
| fab fa-fort-awesome |  | Try it | |
| fab fa-fort-awesome-alt |  | Try it | |
| fab fa-forumbee |  | Try it | |
| fab fa-foursquare |  | Try it | |
| fab fa-free-code-camp |  | Try it | |
| fab fa-freebsd |  | Try it | |
| fab fa-fulcrum |  | Try it | |
| fab fa-galactic-republic |  | Try it | |
| fab fa-galactic-senate |  | Try it | |
| fab fa-get-pocket |  | Try it | |
| fab fa-gg |  | Try it | |
| fab fa-gg-circle |  | Try it | |
| fab fa-git |  | Try it | |
| fab fa-git-square |  | Try it | |
| fab fa-github |  | Try it | |
| fab fa-github-alt |  | Try it | |
| fab fa-github-square |  | Try it | |
| fab fa-gitkraken |  | Try it | |
| fab fa-gitlab |  | Try it | |
| fab fa-gitter |  | Try it | |
| fab fa-glide |  | Try it | |
| fab fa-glide-g |  | Try it | |
| fab fa-gofore |  | Try it | |
| fab fa-goodreads |  | Try it | |
| fab fa-goodreads-g |  | Try it | |
| fab fa-google |  | Try it | |
| fab fa-google-drive |  | Try it | |
| fab fa-google-play |  | Try it | |
| fab fa-google-plus |  | Try it | |
| fab fa-google-plus-g |  | Try it | |
| fab fa-google-plus-square |  | Try it | |
| fab fa-google-wallet |  | Try it | |
| fab fa-gratipay |  | Try it | |
| fab fa-grav |  | Try it | |
| fab fa-gripfire |  | Try it | |
| fab fa-grunt |  | Try it | |
| fab fa-gulp |  | Try it | |
| fab fa-hacker-news |  | Try it | |
| fab fa-hacker-news-square |  | Try it | |
| fab fa-hackerrank |  | Try it | |
| fab fa-hips |  | Try it | |
| fab fa-hire-a-helper |  | Try it | |
| fab fa-hooli |  | Try it | |
| fab fa-hornbill |  | Try it | |
| fab fa-hotjar |  | Try it | |
| fab fa-houzz |  | Try it | |
| fab fa-html5 |  | Try it | |
| fab fa-hubspot |  | Try it | |
| fab fa-ideal | 邏 | Try it | |
| fab fa-imdb |  | Try it | |
| fab fa-instagram |  | Try it | |
| fab fa-intercom |  | Try it | |
| fab fa-internet-explorer |  | Try it | |
| fab fa-invision |  | Try it | |
| fab fa-ioxhost |  | Try it | |
| fab fa-itunes |  | Try it | |
| fab fa-itunes-note |  | Try it | |
| fab fa-java |  | Try it | |
| fab fa-jedi-order |  | Try it | |
| fab fa-jenkins |  | Try it | |
| fab fa-jira |  | Try it | |
| fab fa-joget |  | Try it | |
| fab fa-joomla |  | Try it | |
| fab fa-js |  | Try it | |
| fab fa-js-square |  | Try it | |
| fab fa-jsfiddle |  | Try it | |
| fab fa-kaggle |  | Try it | |
| fab fa-keybase |  | Try it | |
| fab fa-keycdn |  | Try it | |
| fab fa-kickstarter |  | Try it | |
| fab fa-kickstarter-k |  | Try it | |
| fab fa-korvue |  | Try it | |
| fab fa-laravel |  | Try it | |
| fab fa-lastfm |  | Try it | |
| fab fa-lastfm-square |  | Try it | |
| fab fa-leanpub |  | Try it | |
| fab fa-less |  | Try it | |
| fab fa-line |  | Try it | |
| fab fa-linkedin |  | Try it | |
| fab fa-linkedin-in |  | Try it | |
| fab fa-linode |  | Try it | |
| fab fa-linux |  | Try it | |
| fab fa-lyft |  | Try it | |
| fab fa-magento |  | Try it | |
| fab fa-mailchimp |  | Try it | |
| fab fa-mandalorian |  | Try it | |
| fab fa-markdown |  | Try it | |
| fab fa-mastodon |  | Try it | |
| fab fa-maxcdn |  | Try it | |
| fab fa-medapps |  | Try it | |
| fab fa-medium |  | Try it | |
| fab fa-medium-m |  | Try it | |
| fab fa-medrt |  | Try it | |
| fab fa-meetup |  | Try it | |
| fab fa-megaport |  | Try it | |
| fab fa-mendeley |  | Try it | |
| fab fa-microblog | 駱 | Try it | |
| fab fa-microsoft |  | Try it | |
| fab fa-mix |  | Try it | |
| fab fa-mixcloud |  | Try it | |
| fab fa-mizuni |  | Try it | |
| fab fa-modx |  | Try it | |
| fab fa-monero |  | Try it | |
| fab fa-napster |  | Try it | |
| fab fa-neos |  | Try it | |
| fab fa-nimblr |  | Try it | |
| fab fa-nintendo-switch |  | Try it | |
| fab fa-node |  | Try it | |
| fab fa-node-js |  | Try it | |
| fab fa-npm |  | Try it | |
| fab fa-ns8 |  | Try it | |
| fab fa-nutritionix |  | Try it | |
| fab fa-odnoklassniki |  | Try it | |
| fab fa-odnoklassniki-square |  | Try it | |
| fab fa-old-republic |  | Try it | |
| fas fa-om |  | Try it | |
| fab fa-opencart |  | Try it | |
| fab fa-openid |  | Try it | |
| fab fa-opera |  | Try it | |
| fab fa-optin-monster |  | Try it | |
| fab fa-osi |  | Try it | |
| fab fa-page4 |  | Try it | |
| fab fa-pagelines |  | Try it | |
| fab fa-palfed |  | Try it | |
| fab fa-patreon |  | Try it | |
| fab fa-paypal |  | Try it | |
| fab fa-penny-arcade |  | Try it | |
| fab fa-periscope |  | Try it | |
| fab fa-phabricator |  | Try it | |
| fab fa-phoenix-framework |  | Try it | |
| fab fa-phoenix-squadron |  | Try it | |
| fab fa-php |  | Try it | |
| fab fa-pied-piper |  | Try it | |
| fab fa-pied-piper-alt |  | Try it | |
| fab fa-pied-piper-hat |  | Try it | |
| fab fa-pied-piper-pp |  | Try it | |
| fab fa-pied-piper-square | 爛 | Try it | |
| fab fa-pinterest |  | Try it | |
| fab fa-pinterest-p |  | Try it | |
| fab fa-pinterest-square |  | Try it | |
| fab fa-playstation |  | Try it | |
| fab fa-product-hunt |  | Try it | |
| fab fa-pushed |  | Try it | |
| fab fa-python |  | Try it | |
| fab fa-qq |  | Try it | |
| fab fa-quinscape |  | Try it | |
| fab fa-quora |  | Try it | |
| fab fa-r-project |  | Try it | |
| fab fa-raspberry-pi |  | Try it | |
| fab fa-ravelry |  | Try it | |
| fab fa-react |  | Try it | |
| fab fa-readme |  | Try it | |
| fab fa-rebel |  | Try it | |
| fab fa-red-river |  | Try it | |
| fab fa-reddit |  | Try it | |
| fab fa-reddit-alien |  | Try it | |
| fab fa-reddit-square |  | Try it | |
| fab fa-redhat |  | Try it | |
| fab fa-rendact |  | Try it | |
| fab fa-renren |  | Try it | |
| fab fa-replyd |  | Try it | |
| fab fa-researchgate |  | Try it | |
| fab fa-resolving |  | Try it | |
| fab fa-rev |  | Try it | |
| fab fa-rocketchat |  | Try it | |
| fab fa-rockrms |  | Try it | |
| fab fa-safari |  | Try it | |
| fab fa-sass |  | Try it | |
| fab fa-schlix |  | Try it | |
| fab fa-scribd |  | Try it | |
| fab fa-searchengin |  | Try it | |
| fab fa-sellcast |  | Try it | |
| fab fa-sellsy |  | Try it | |
| fab fa-servicestack |  | Try it | |
| fab fa-shirtsinbulk |  | Try it | |
| fab fa-shopware |  | Try it | |
| fab fa-simplybuilt |  | Try it | |
| fab fa-sistrix |  | Try it | |
| fab fa-sith |  | Try it | |
| fab fa-sketch |  | Try it | |
| fab fa-skyatlas |  | Try it | |
| fab fa-skype |  | Try it | |
| fab fa-slack |  | Try it | |
| fab fa-slack-hash |  | Try it | |
| fab fa-slideshare |  | Try it | |
| fab fa-snapchat |  | Try it | |
| fab fa-snapchat-ghost |  | Try it | |
| fab fa-snapchat-square |  | Try it | |
| fab fa-soundcloud |  | Try it | |
| fab fa-sourcetree |  | Try it | |
| fab fa-speakap |  | Try it | |
| fab fa-spotify |  | Try it | |
| fab fa-squarespace |  | Try it | |
| fab fa-stack-exchange |  | Try it | |
| fab fa-stack-overflow |  | Try it | |
| fab fa-staylinked |  | Try it | |
| fab fa-steam |  | Try it | |
| fab fa-steam-square |  | Try it | |
| fab fa-steam-symbol |  | Try it | |
| fab fa-sticker-mule |  | Try it | |
| fab fa-strava |  | Try it | |
| fab fa-stripe |  | Try it | |
| fab fa-stripe-s |  | Try it | |
| fab fa-studiovinari |  | Try it | |
| fab fa-stumbleupon |  | Try it | |
| fab fa-stumbleupon-circle |  | Try it | |
| fab fa-superpowers |  | Try it | |
| fab fa-supple |  | Try it | |
| fab fa-suse |  | Try it | |
| fab fa-teamspeak |  | Try it | |
| fab fa-telegram |  | Try it | |
| fab fa-telegram-plane |  | Try it | |
| fab fa-tencent-weibo |  | Try it | |
| fab fa-the-red-yeti |  | Try it | |
| fab fa-themeco |  | Try it | |
| fab fa-themeisle |  | Try it | |
| fab fa-trade-federation |  | Try it | |
| fab fa-trello |  | Try it | |
| fab fa-tripadvisor |  | Try it | |
| fab fa-tumblr |  | Try it | |
| fab fa-tumblr-square |  | Try it | |
| fab fa-twitch |  | Try it | |
| fab fa-twitter |  | Try it | |
| fab fa-twitter-square |  | Try it | |
| fab fa-typo3 |  | Try it | |
| fab fa-uber |  | Try it | |
| fab fa-ubuntu |  | Try it | |
| fab fa-uikit |  | Try it | |
| fab fa-uniregistry |  | Try it | |
| fas fa-unity | 雷 | Try it | |
| fab fa-untappd |  | Try it | |
| fab fa-usb |  | Try it | |
| fab fa-ussunnah |  | Try it | |
| fab fa-ups |  | Try it | |
| fab fa-usps |  | Try it | |
| fab fa-vaadin |  | Try it | |
| fab fa-viacoin |  | Try it | |
| fab fa-viadeo |  | Try it | |
| fab fa-viadeo-square |  | Try it | |
| fab fa-viber |  | Try it | |
| fab fa-vimeo |  | Try it | |
| fab fa-vimeo-square |  | Try it | |
| fab fa-vimeo-v |  | Try it | |
| fab fa-vine |  | Try it | |
| fab fa-vk |  | Try it | |
| fab fa-vnv |  | Try it | |
| fab fa-vuejs |  | Try it | |
| fab fa-weebly |  | Try it | |
| fab fa-weibo |  | Try it | |
| fab fa-weixin |  | Try it | |
| fab fa-whatsapp |  | Try it | |
| fab fa-whatsapp-square |  | Try it | |
| fab fa-whmcs |  | Try it | |
| fab fa-wikipedia-w |  | Try it | |
| fab fa-windows |  | Try it | |
| fab fa-wix |  | Try it | |
| fab fa-wizards-of-the-coast |  | Try it | |
| fab fa-wolf-pack-battalion |  | Try it | |
| fab fa-wordpress |  | Try it | |
| fab fa-wordpress-simple |  | Try it | |
| fab fa-wpbeginner |  | Try it | |
| fab fa-wpexplorer |  | Try it | |
| fab fa-wpforms |  | Try it | |
| fab fa-xbox |  | Try it | |
| fab fa-xing |  | Try it | |
| fab fa-xing-square |  | Try it | |
| fab fa-y-combinator |  | Try it | |
| fab fa-yahoo |  | Try it | |
| fab fa-yandex |  | Try it | |
| fab fa-yandex-international |  | Try it | |
| fab fa-yarn |  | Try it | |
| fab fa-yelp |  | Try it | |
| fab fa-yoast |  | Try it | |
| fab fa-youtube |  | Try it | |
| fab fa-youtube-square |  | Try it | |
| fab fa-zhihu |  | Try it |


Identity verified
You can now review and sign your mortgage deed online.
The next steps are:
-
Check your mortgage deed
You should read your mortgage deed carefully, to make sure you’re happy with everything in it.
-
Request an authentication code
We’ll send you a code by text - this helps to make sure the right person is signing your mortgage deed.
-
Sign your mortgage deed
Enter your code to confirm you're happy to sign your mortgage deed. Doing so means that you don’t need to sign a paper document or get your signature witnessed.
By continuing you accept HM Land Registry’s terms of use for this service.


This test ensures that the logic for ensuring that we don't repaint when scrolling composited layers works correctly in the face of neg z-order descendants.


Below are a list of the available pages that help to demonstrate various functions available in the Chrome Developer tools.


.
Learning to draw
I’d like to learn to draw. So I’ve bought Kister’s You Can Draw in 30 Days: The Fun, Easy Way to Learn to Draw in One Month or Less.  Here they are. These are all drawn on an iPad Pro, using an Apple Pencil and Procreate. They are rubbish.
Lesson 1 is about the sphere. Here’s my first attempt:
Then he asks you to apply that to drawing an apple, which in my case accidentally looks like its made from chromium:
Lesson 2 is all about overlapping spheres. The idea here is to pick out “nook and cranny” shading to identify, separate and define the different objects. Here’s my first stab:
Lesson 3 steps it up to multiple spheres, and introduces perspective. Here, I’ve used my finger to smooth the shading to create a metallic or glassy finish:
In the Lesson 3 challenge, he invites you to have … fun with spheres. Here’s what I came up with. I screwed up a bit and filled the sky black after drawing in it - it’s created artefacts that wouldn’t have been there if I’d drawn the black sky first. But it’s not rubbish:


SCHINDLER'S LIST A Film Review Copyright Dragan Antulov 1999
Watching the news from Kosovo, we are again reminded that human beings can sink to the lowest levels of depravity. We are also reminded of the sad fact that people in general tend not to learn anything from history, nor do they know how to apply that knowledge properly. As a result, the last decade of this sad century, with the tragic events in former Yugoslavia, Caucasus or Central Africa, looks like nothing has changed, that the mankind is again in danger to be sucked into another vicious cycle of ethnic, religious and racial hatred. The only comfort is in the fact that the intolerance never managed to reach the levels of Holocaust.
Holocaust is the word most often associated with the World War Two.  Events like the Holocaust happened before, and, sadly, it would probably happen again, but the scope, magnitude and utter irrationality of the event is something quite unique. It shocked the contemporaries, who had been used to much lower standards of human conducts than us, and it still baffles many historians, philosophers, psychologists and other scholars. Holocaust also inspired numerous works of art. Among those works of art, Hollywood also gave its contribution, which shouldn't surprise anyone due to the strength and influence of Jewish lobby within American motion picture industry. SCHINDLER'S LIST, "Oscar"-awarded 1993 film by Steven Spielberg, may not be the best among them, but it is definitely the best known.
The film is based on the book by Thomas Keneally, which described the fascinating true story about Oskar Schindler, one of the more unusual and perhaps a little bit brighter episodes in that darkest chapter of world history. The film begins in 1939, after the conquest of Poland by German army. That country becomes anything but happy place for local Jews, who are forced to abandon their careers, property and homes and live in overcrowded ghettos, experiencing hunger, disease and utmost poverty. Their situation is an excellent opportunity for Oskar Schindler (played by Liam Neeson), small-time German businessman from Sudeten region of former Czechoslovakia. He comes to Krakow and buys local factory with the money he had borrowed by local Jews, who got raw deal in the process. He employs local Jews as the cheapest labour force available, and begins making large amounts of money. He actually doesn't run the factory - his trusted Jewish accountant Itzhak Stern (Ben Kingsley) is doing all the work - and instead spends all his free time drinking and womanising. But, things are about to change when the Final Solution starts showing its final and ugly face. When SS units, led by sadistic Amon Goeth (Ralph Fiennes) begin with pogroms, Schindler is at first worried about the loss of his labour force. But gradually, he begins worrying less about the money and more about people he is going to save.
Unlike most of the other stories that inspired filmmakers, story of SCHINDLER'S LIST is an excellent opportunity for all those who want to have a broader perspective of the Holocaust, perspective that transcends simple formulas and simple explanations. First of all, screenplay of book by Thomas Keneally and screenplay by Steve Zaillian are evading some popular myths. First of all, Holocaust, although ignited by Nazism, wasn't some unexplainable aberration that came to Europe out of blue; it was a nothing more than a case of old anti-semitism driven to extreme; and it wasn't uniquely Nazi nor German. Second, as some newer examples may show, pure irrational hatred wasn't the sole motive - Holocaust was fine opportunity for many shady characters to fill their pocket. Protagonist of this film, who at beginning, wants to bleed Jews dry of their money, is a fine illustration of that, often overlooked, economic aspect of the Holocaust. What happened to Jews in WW2 Europe was heinous crime, but it was also good business for those who knew to use opportunity.
Perhaps that was the greatest quality of SCHINDLER'S LIST. It evades black-and-white characterisation and gives us a protagonist who is hardly example of virtue. His motives, as well as his moral alignment, gradually changes through time. At first he is nothing more than war profiteer - probably the slimiest category of all people we might see during the armed conflict. But in the same time, Liam Neeson portrays him with irresistible charm - the charm of the same magnitude that saved thousands of innocent people and brightened Schindler's reputation among critical historians. As movie gradually progresses, and Schindler transforms into good Samaritan, we are still left with the mystery - why did that character change. But, in the end, it didn't matter much to the people he had saved and who would always be grateful to him.
The movie doesn't have just a complex protagonist, it has similarly complex and, in a perverse way, seductive villain. Amon Goeth, played by British actor Ralph Fiennes, is in a way similar, but very different than Schindler. He is a sadistic thug, who is seduced by the enormous power given to him by the specific historical circumstances. This movie, like many other, actually tries to explain his villainy by indicating that sadistic and murderous behaviour was motivated by his ulterior weakness. For some, this might look oversimplification of Nazi psychology, but Fiennes, who gained 13 kilograms just for the purpose of this role, plays Goeth as twisted version of Schindler. Like him, Goeth is a hedonist who likes women, alcohol and money, and even has certain charisma of evil, but whenever we are ready to forgive him, he shows again his ultimate dark side. Fiennes was really incredible in this role, and even managed to outshine Neeson.
Actors were, however, outshined by director. Steven Spielberg made this film partially for personal reason, trying to finally come to grips with his own Jewish heritage. But it was also opportunity for him to improve his reputation of film artist, much tarnished with commercially successful, but artistically disappointing JURASSIC PARK. And that opportunity was exploited in almost every regard. Spielberg made film different from everything he had ever made and very few people would recognise his style. First of all, he used black and white photography by Janusz Kaminski, which was good choice. Most people associate Holocaust with black and white photographs, and by being monochromatic, SCHINDLER'S LIST became more realistic and thus more powerful. Another thing that distinguishes SCHINDLER'S LIST from previous Spielberg's work is the use of steadycams and constant movement of cameras that also provided more realism and brought viewer right in the middle of the story. Finally, unlike in all of his earlier films, Spielberg felt unrestricted with his reputation of family entertainer - SCHINDLER'S LIST contains scenes of unimaginable atrocities, random violence and graphic bloodshed, as well as foul language and nudity. Considering the subject matter, such elements were necessary and many critics argued that Spielberg, by refusing to compromise on them, actually matured into real cinema artist.
Unfortunately, Spielberg might have been able to defeat self-censorship, but he wasn't able to defeat himself. There is a very small, but significant difference between very good films and true masterpieces. For almost all of its 197 minutes SCHINDLER'S LIST looks like it belongs in the latter category. But at the very end, Spielberg the Artist surrenders to Spielberg the Entertainer and we are exposed to the now infamous speech by Liam Neeson, speech that revealed Spielberg as unable to resist the urge to fill this film with cheap and unecessary sentimentality. Without that speech, SCHINDLER'S LIST would have been one of the greatest films of all times.
However, even with such flaw, SCHINDLER'S LIST is a very good film, probably one of the best in 1990s. Perhaps it didn't stand the test of time, perhaps it won't be as immemorable as some had predicted. It also probably isn't the ultimate film of the Holocaust (SHOAH was, in the humble opinion of this author better; and Benigni's LIFE IS BEAUTIFUL was at least equally good). It also probably did very little to educate modern generations of the historical evils (it was reported that skinheads in some German cinemas actually cheered during the scenes involving massacres of Jews), and the world probably isn't the better place because of this film.
RATING: 8/10 (+++)
Review written on June 28th 1999
Dragan Antulov a.k.a. Drax Fido: 2:381/100 E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
|
Action Item <#LISTITEMNUM> has been updated.
|
|
Please do not respond to this email. Click the above link to view or respond to this Action Item.
|
| Issue Summary |
| <#ACTIONCOMMENTS> |
| Reference ID |
<#LISTITEMNUM> |
Current Status |
<#ACTIONSTT> |
| Submitted By |
<#FULLNAME ALIAS=A> |
Updated |
<#UPDATETMS ALIAS=A> |
| Priority |
<#ACTIONPRIORITY> |
By |
<#UPDATEUSERCD ALIAS=A> |
| Category |
<#LISTNAME> |
Assigned To |
<#ACTIONASSIGNEDTOCD> |
| Action |
<#ACTIONTYPE> |
Assigned By |
<#ACTIONASSIGNEDBYCD> |
| Assigned Date |
<#ACTIONASSIGNEDDATE> |
Target Delivery Date |
<#ACTIONDATETARGET1> |
Related Documents
| Title |
Description |
Type |
Date |
Uploaded By |
<#FILELIST>
Action Item Message Log
|
<#ACTIONNOTE>
|
|
Please do not respond to this email.
Click the above link to view or respond to this Action Item. |
Click here to view or update this Action Item.
https://www.euclidtechnology.com/support/ActionItem.aspx?cv_ActionItem=<#LISTITEMNUM>
|
|
Euclid Technology
8120 Woodmont Avenue, Suite 710
Bethesda, MD 20814
(301) 657-8089
<EMAIL_ADDRESS>|


Crash closes Highway 1
by Darren HandschuhA serious accident has closed Highway 1 near Chase.
According to DriveBC, there is a multi-vehicle incident between Old Highway and Shuswap-Chase Creek Road west of Chase.
Few details are available, but one person is believed to be critically injured.


The main menu is the entry point for the Text GUI. You may move
up and down through the menu items using the up and down arrow
keys. A menu item may be selected by pressing Enter when the item
is highlighted. Pressing ESC moves up a menu level (or exits the
GUI if you are at the top level). Besides entering the GUI using
F7, submenus of the GUI may be entered by using the key shortcuts show
on the first three menu items.
Floppy Disk Management Menu
The floppy disk management menu allows you to insert and remove floppy
images into the emulated drives, as well as save and load disk sets,
create new disk images, and set emulated disk drive options.
For the first 8 options in the menu, there are three options:
Hitting Enter while the item is selected, will move to the image
selection screen, which is explained below.
Hitting Backspace will remove a disk image if there is one in the
drive.
Hitting Space will toggle the write protect for the drive.
The indicator for write protect is an asterisk "*" in front of the
"Disk" in the menu item.
Save Disk Set
This ote, allows the user to save the names of the disk images that are
currently in the drives to a file, to be loaded later. The file that
the set is save in has an extension of ".set", and it is a human
readable text file, containing the paths of the image files, or a blank line for a drive for a drive that has no disk.
Load Disk Set
This
button allows the user to load a disk set saved earlier with the Save
Disk Set Button. The user is allowed to browse for the set file,
displaying files ending in ".set". The emulator then loads the disk
images specified in the file into the corresponding drives. If a drive
in the set file is a blank line, no changes are made to the drive.
This allows the user to load multiple disk sets sequentially.
When the user presses Enter in on a Drive item in the Floppy Disk
Management screen, the file open menu is displayed. The up and
down arrows may be used to scroll through the list of files.
Pressing Enter on the <..> item will take you to the parent
directory. On Windows, the Drive letters are listed as the last
items in the menu, and you can change drives by pressing Enter on those
items. You may also go to a particular section of the file list
my pressing the first letter of the file name.
In the Floppy Creation screen, you
may choose a format of a disk. It may be created in either the JV1,
JV3, or DMK disk image format (See the Features page
for info on the disk formats).
If the "Insert Created Disk Into This Drive" is set to something besides
none, the created image will be mounted on the specified floppy drive.
Doubler Type:
Specify what type of double
density adaptor to emulate (Model I
mode only). The type may be percom, radioshack (or tandy), both, or
none. The type may be abbreviated to one character. The default is
both, which causes the double density adaptor emulation to respond to
the special commands of both the Percom and Radio Shack cards.
True DAM Emulation:
Turn off the single density data
address mark remapping kludges
described in the "Emulated floppy disks" and "Real floppy disks"
sections above. With this option given, the distinction between
F8 and FA data address marks is strictly observed on both writing and
reading. This option is probably not useful unless you need to deal
with Model I disks that use the distinction as part of a
copy-protection scheme. See also "Common File Formats for
Emulated TRS-80 Floppy Disks", available at http://www.tim-
Finally, the last menu item allows you to set the size of each disk
drive, as either a 5" or 8" drive.
Hard Disk Management Menu
The hard disk management menu allows you to insert and remove floppy
images into the emulated drives, as well as save and load disk sets and create new disk images.
For the first 4 options in the menu, there are three options:
Hitting Enter while the item is selected, will move to the image
selection screen, which is explained above in the floppy disk section.
Hitting Backspace will remove a disk image if there is one in the
drive.
Hitting Space will toggle the write protect for the drive.
The
indicator for write protect is an asterisk "*" in front of the "Disk"
in the menu item.
Save Disk Set
This ote, allows the user to save the names of the disk images that are
currently in the drives to a file, to be loaded later. The file that
the set is save in has an extension of ".set", and it is a human
readable text file, containing the paths of the image files, or a blank line for a drive for a drive that has no disk.
Load Disk Set
This
button allows the user to load a disk set saved earlier with the Save
Disk Set Button. The user is allowed to browse for the set file,
displaying files ending in ".set". The emulator then loads the disk
images specified in the file into the corresponding drives. If a drive
in the set file is a blank line, no changes are made to the drive.
This allows the user to load multiple disk sets sequentially.
In the Create Hard Disk Image window, you
may choose a format of a disk. (See the Features page for info
on the hard disk formats).
If the "Insert Created Disk Into This Drive" is set to something besides
none, the created image will be mounted on the specified hard drive.
Cassette Management Menu
The cassette management menu allows you to insert and remove cassette
images into the emulated drive, as well as create new cassette images.
For the first options in the menu, there are two options:
Hitting Enter while the item is selected, will move to the image
selection screen, which is explained above in the floppy disk section.
Hitting Backspace will remove a cassette image if there is one in
the drive.
The second option allows you to set the position of the cassette
tape by changing
the Position field. Valid values are 0 (fully rewound) through
the number of bytes on the tape (at end of tape).
The final option allows you to create a blank cassette image.
In the Create Cassette Image window, you
may choose a format of a cassette (.cas or .wav).
If the "Insert Created Disk Into This Drive" is set to Yes, the created
image will be mounted on the specified hard drive.
Model Selection Menu
TRS-80 Model
Specifies what TRS-80 model to emulate.
Hi-Res Graphics
In Model III or 4/4P mode select which
hi-res graphics card to emulate, the Micro Labs Grafyx Solution hi-res
graphics card or Radio Shack hi-res
card. In Model I mode, the HRG1B 384x192 hi-res graphics card is
emulated. Note that
the Model III and Model 4/4P cards from Micro Labs are very different
from one another.
Configuration/State
File Management Menu
Save State (alt-S or cmd-S)
This
menu item allows you to save the state of the emulator, so that it may
be loaded later with the Load State command. Disk images inserted into
the computer are stored in the state file. Load State (alt-L or cmd-L)
This
menu item allows you load a state file (.t8s) previous saved with the
Save State command.
Write Configuration (alt-W or cmd-W)
This
menu item allows you to save the configuration of the emulator, so that
it may be loaded later with the Load Configuration command.
Configuration files (.t8c) are discussed further on the Features page.
Read Configuration (alt-R or cmd-R)
This menu item allows you load a Configuration file (.t8c) previous
saved with the Save Configuration command.
Printer Management Menu
The Printer Management menu controls the type of printer emulation that
is used for
outputting to the printer TRS-80.
The are three choices for printer emulation, None, Text Printer, and
Epson FX-80. The Text printer simply sends the printer
output to a text file with optional script processing. The Epson
option is only available on the Macintosh, and it emulates a legacy
printer, and allow the user to save the
printer output in a PDF file.
Close and Reopen Printer Output
File:
Selecting this option will cause the printer output file to be closed,
and the printer command to be executed using the file name.
Print Command: The only option for the text printer type is the command
used to print.
Within the command, %s is used to represent the file name of the
temporary file generated during printing. On Linux, this
defaults to "lpr %s", on Windows "notepad %s", and on the Mac "open
%s". The %s in the printer command will be replaced with the name
of the printer output file. (On the Mac, this is for the text
printer only, not the Epson emulation).
Default Directories Menu
This menu allows the user to specify the default directories used for
loading/saving various types of file used by the emulator. To
choose
the directory, press the Enter when the appropriate entry is
highlighted.  The up and
down arrows may be used to scroll through the list of
directories.
Pressing Enter on the <..> item will take you to the parent
directory. On Windows, the Drive letters are listed as the last
items in the menu, and you can change drives by pressing Enter on those
items. The directory is selected by pressing the Tab key.
ROM Files Menu
This menu allows you to chose the ROM files used in the emulation of
the
Atari. These files are not provided with the emulator. To
select the
file, press Enter when the appropriate item is highlighted, and the
file selection menu will appear. It's operation is explained in
the Floppy Disk section above.
Display Settings Menu
Emulator Colors:
Specifies the foreground and background color
of the sdltrs window. Default is black (0x000000) for foreground
and white (0xFFFFFF) for background.
Fullscreen GUI Colors:
Specifies the foreground and background color
of the fullscreen Text GUI. Default is green (0x008010) for
foreground and white (0xFFFFFF) for background. Character Sets
Select among several sets of
built-in character bitmaps. The three different options allow you
to specify the character set used for each model, should you change
models during sdltrs execution using the GUI. In Model I mode ,
five sets are available.
The default, wider, is a modified Model III set with characters 8
pixels wide; it looks better on a modern computer screen with square
pixels than the real Model I fonts, which were 6 pixels wide. lcmod is
the character set in the replacement character generator that was
supplied with the Radio Shack lower case modification. (It was
reconstructed partly from memory and may have some minor bit errors.)
stock is the character set in the stock character generator supplied
with most upper case only machines. Since sdltrs currently always
emulates the extra bit of display memory needed to support lower case,
this character set gives you the authentic, unpleasant effect that real
Model I users
saw when they tried to do homebrew lower case modifications without
replacing the character generator: lower case letters appear at an
inconsistent height, and if you are using the Level II BASIC ROM
display driver, upper case letters are replaced by meaningless symbols.
early is the same as stock, but with the standard ASCII
characters [, \, ], and ^ in the positions where most Model I's
had directional arrows. This was the default programming in the
Motorola character generator ROM that Radio Shack used, and a
few early machines were actually shipped with this ROM.
Finally, german or genie gives an approximate emulation of the
GENIE, a German Model I clone. Characters are 8
pixels wide, and double width is supported even though later GENIE
models did not include it.
In Model III , 4 and 4P ( modes, three sets are
available:
katakana (the default for Model III) is the original Model III
set with Japanese Katakana characters in the alternate character
positions. This set was also used in early Model 4's. international
(the default for Model 4 and 4P) is a later Model 4
set with accented Roman letters in the alternate positions.
bold is a bold set from a character generator ROM found in
one Model III, origin uncertain.
Window Border Width:
Put a border of width pixels
around the TRS-80 display. The default is 2.
Resize Window on Model 3 Mode Change:
In Model 3 mode,
resize the window whenever the emulated display mode changes
between
64x16 text (or 512x192 graphics) and 80x24 text (or 640x240
graphics).
Resize Window on Model 4 Mode Change:
In Model 4/4P mode,
resize the window whenever the emulated display mode changes
between
64x16 text (or 512x192 graphics) and 80x24 text (or 640x240
graphics).
Disk Leds
This option allows the user to chose if disk activity
indicators are shown in the TRS-80 Emulator window (lower edge).
Joystick Settings Menu
Use Numeric Keypad for Joystick
This item determines if the numeric keypad is used for emulation of a
joystick.
USB Joystick/Gamepad
This item allows the user to select which USB joystick, if any, is used
for emulation of the TRS-80 Joystick. It will bring up a list of the
USB joysticks that SDL is aware of as shown below:
Miscellaneous Settings Menu
Shift Bracket Emulation:
Chose Shift Bracket Emulation on or off. If on, emulate [, \, ],
^, and _ as
shifted keys, and {, |, }, and ~ as
unshifted. This is the default in Model 4 and 4P modes, and it
works well with the keyboard driver in Model 4 TRSDOS/LS-DOS 6. If off,
emulate [, \, ], ^, and _ as
unshifted keys, and {, |, }, and ~
as shifted. This is the default in Model I and III modes, and
it works well with many TRS-80 keyboard drivers. With some keyboard
drivers these keys do not work at all, however.
Turbo Mode/b>:
This will turn Turbo mode on or off. When turbo mode is on, the emulator will run
faster than a normal TRS80, by a factor of Turbo Rate, which is explained below, and also set
on this page. The F11 key may be used to switch Turbo mode on or off while running the emulator.
Turbo Speed:
Set the number of times normal TRS80 speed that the emulator runs when in
"Turbo" mode. Turbo mode can be used to speed compute intensive applications,
compiling source code for example, on the emulator. The default setting is 5x.
Above around 8x you may experience problems with runaway keyboard repeat on the
emulator, so use higher values with caution.
Keystretch Value:
Fine-tune the keyboard behavior.
To prevent keystrokes from being lost, sdltrs "stretches" the intervals
between key transitions, so that the Z-80 program has time to see each
transition before the next one occurs. Whenever the Z-80 program reads
the keyboard matrix and sees an emulated key go up or down, sdltrs
waits cycles Z-80 clock cycles (T-states) before it allows the program
to see another key transition. Key transitions that are received during
the waiting period or when the Z-80 program
is not reading the keyboard are held in a queue. The default stretch
value is 4000 cycles; it should seldom if ever be necessary to change
it.
Emtsafe
Turn on/off ability for emts (Emulation traps) to write to unexpected
places in the host filesystem.
Serial Port Switches:
Set the sense switches on the
Model I serial port card. This
option is meaningful only in Model I mode, and only when the Serial
Port Name is not set to "". The default value is 0x6f,
which Radio Shack software conventionally interprets as 9600 bps, 8
bits/word, no parity, 1 stop bit.
Serial Port Name:
Set the tty device to be used
for I/O to the TRS-80's serial
port. The default is "".
Setting the name to be empty emulates
having no serial port.


{% extends 'website/base.html' %} {% load static %} {% block styles %} {% endblock %} {% block content %} Bad token {% url "account_password_reset" as url %} The password reset link was invalid, possibly because it has already been used. Please request a new password reset. {% endblock %} {% block scripts %} {% endblock %}
The password reset link was invalid, possibly because it has already been used. Please request a new password reset.


| 1 | package fr.sii.ogham.testing.assertion.internal; | |
| 2 | ||
| 3 | import static org.hamcrest.MatcherAssert.assertThat; | |
| 4 | ||
| 5 | import java.util.List; | |
| 6 | import java.util.Set; | |
| 7 | ||
| 8 | import org.apache.commons.lang3.reflect.FieldUtils; | |
| 9 | import org.hamcrest.Matcher; | |
| 10 | ||
| 11 | import fr.sii.ogham.core.resource.resolver.RelativeResolver; | |
| 12 | import fr.sii.ogham.testing.util.HasParent; | |
| 13 | ||
| 14 | /** | |
| 15 | * Make assertions on resource resolution. | |
| 16 | * | |
| 17 | * <pre> | |
| 18 | * {@code | |
| 19 | * .pathPrefix(is("/custom/")) | |
| 20 | * .pathSuffix(is(".html")) | |
| 21 | * } | |
| 22 | * </pre> | |
| 23 | * | |
| 24 | * @author Aurélien Baudet | |
| 25 | * | |
| 26 | * @param <P> | |
| 27 | * the parent type | |
| 28 | */ | |
| 29 | public class RelativeResolutionAssertions<P> extends HasParent<P> { | |
| 30 | private final String name; | |
| 31 | private final Set<RelativeResolver> relativeResolvers; | |
| 32 | ||
| 33 | public RelativeResolutionAssertions(P parent, String name, Set<RelativeResolver> relativeResolvers) { | |
| 34 | super(parent); | |
| 35 | this.name = name; | |
| 36 | this.relativeResolvers = relativeResolvers; | |
| 37 | } | |
| 38 | ||
| 39 | /** | |
| 40 | * Ensures that path prefix is correctly configured. | |
| 41 | * | |
| 42 | * @param matcher | |
| 43 | * the matcher to ensure that path prefix is correct | |
| 44 | * @return this instance for fluent chaining | |
| 45 | */ | |
| 46 | public RelativeResolutionAssertions<P> pathPrefix(Matcher<? super String> matcher) { | |
| 47 | for (RelativeResolver resolver : relativeResolvers) { | |
| 48 |
1
1. pathPrefix : removed call to org/hamcrest/MatcherAssert::assertThat → NO_COVERAGE |
assertThat(name + " prefix", getPrefix(resolver), matcher); |
| 49 | } | |
| 50 |
1
1. pathPrefix : replaced return value with null for fr/sii/ogham/testing/assertion/internal/RelativeResolutionAssertions::pathPrefix → NO_COVERAGE |
return this; |
| 51 | } | |
| 52 | ||
| 53 | /** | |
| 54 | * Ensures that path suffix is correctly configured. | |
| 55 | * | |
| 56 | * @param matcher | |
| 57 | * the matcher to ensure that path suffix is correct | |
| 58 | * @return this instance for fluent chaining | |
| 59 | */ | |
| 60 | public RelativeResolutionAssertions<P> pathSuffix(Matcher<? super String> matcher) { | |
| 61 | for (RelativeResolver resolver : relativeResolvers) { | |
| 62 |
1
1. pathSuffix : removed call to org/hamcrest/MatcherAssert::assertThat → NO_COVERAGE |
assertThat(name + " suffix", getSuffix(resolver), matcher); |
| 63 | } | |
| 64 |
1
1. pathSuffix : replaced return value with null for fr/sii/ogham/testing/assertion/internal/RelativeResolutionAssertions::pathSuffix → NO_COVERAGE |
return this; |
| 65 | } | |
| 66 | ||
| 67 | /** | |
| 68 | * Ensures that lookup prefixes ("classpath:", "file:", ...) are correctly | |
| 69 | * configured. | |
| 70 | * | |
| 71 | * @param matcher | |
| 72 | * the matcher to ensure that lookup prefixes are correct | |
| 73 | * @return this instance for fluent chaining | |
| 74 | */ | |
| 75 | public RelativeResolutionAssertions<P> lookup(Matcher<? super List<String>> matcher) { | |
| 76 | for (RelativeResolver resolver : relativeResolvers) { | |
| 77 |
1
1. lookup : removed call to org/hamcrest/MatcherAssert::assertThat → NO_COVERAGE |
assertThat(name + " lookups", getLookups(resolver), matcher); |
| 78 | } | |
| 79 |
1
1. lookup : replaced return value with null for fr/sii/ogham/testing/assertion/internal/RelativeResolutionAssertions::lookup → NO_COVERAGE |
return this; |
| 80 | } | |
| 81 | ||
| 82 | private static String getPrefix(RelativeResolver resolver) { | |
| 83 | try { | |
| 84 |
1
1. getPrefix : replaced return value with "" for fr/sii/ogham/testing/assertion/internal/RelativeResolutionAssertions::getPrefix → NO_COVERAGE |
return (String) FieldUtils.readField(resolver, "parentPath", true); |
| 85 | } catch (IllegalAccessException e) { | |
| 86 | throw new IllegalStateException("Failed to get 'parentPath' field of RelativeResolver", e); | |
| 87 | } | |
| 88 | } | |
| 89 | ||
| 90 | private static String getSuffix(RelativeResolver resolver) { | |
| 91 | try { | |
| 92 |
1
1. getSuffix : replaced return value with "" for fr/sii/ogham/testing/assertion/internal/RelativeResolutionAssertions::getSuffix → NO_COVERAGE |
return (String) FieldUtils.readField(resolver, "extension", true); |
| 93 | } catch (IllegalAccessException e) { | |
| 94 | throw new IllegalStateException("Failed to get 'extension' field of RelativeResolver", e); | |
| 95 | } | |
| 96 | } | |
| 97 | ||
| 98 | @SuppressWarnings("unchecked") | |
| 99 | private static List<String> getLookups(RelativeResolver resolver) { | |
| 100 | try { | |
| 101 |
1
1. getLookups : replaced return value with Collections.emptyList for fr/sii/ogham/testing/assertion/internal/RelativeResolutionAssertions::getLookups → NO_COVERAGE |
return (List<String>) FieldUtils.readField(resolver.getActualResourceResolver(), "lookups", true); |
| 102 | } catch (IllegalAccessException e) { | |
| 103 | throw new IllegalStateException("Failed to get 'lookups' field of " + resolver.getClass().getSimpleName(), e); | |
| 104 | } | |
| 105 | } | |
| 106 | ||
| 107 | } | |
Mutations | ||
| 48 |
1.1 |
|
| 50 |
1.1 |
|
| 62 |
1.1 |
|
| 64 |
1.1 |
|
| 77 |
1.1 |
|
| 79 |
1.1 |
|
| 84 |
1.1 |
|
| 92 |
1.1 |
|
| 101 |
1.1 |


{{ recipe.name }} Edit
Recipe cook time: {{ recipe.cook_time }}
Recipe description: {{ recipe.description }}


climate air future change extreme Fig. changes mortality pollution events quality ozone China health concentrations current increase deaths regional impacts Appendix, global stagnation studies extremes mean {border-style increases px;} #ffffff;} population atmospheric heat weather Zhang days projected precipitation previous using average haze human years Atmos. areas associated boundary conditions frequency East Environ. Sci. baseline model pollution-related China, Clim. National Wang additional aerosol effects event important quality, results simulations waves wind China. Projected concentration emissions especially estimated layer models planetary public study surface Model RCP. affect analysis daily heavy px; regions risk variables {font-family Asia Chem. China’s Future Global University changing climate-driven climate-induced contribution effect evaluation font-size frequent height likely major mechanism meteorological modeling policy pollutant recent sensitivity severe shown temperature winter Arctic CESM-NCSU Nat. Phys. Science United WRF-CMAQ annual change. d/y decrease disease double; high impact large polluted quality. related shows simulation speed wave year .-related Air CESM/CAM: Chang. Climate Earth Glotfelty However, Impact Thus, assess border-color border-width conducted consistent demographic direct exacerbate exposure fine fraction generally health, intense makers maximum mechanisms multiyear north occur ozone, ozone-related particulate precipitation, premature provided seasonal solid; used {font-style {font-weight (Grant Acad. Adv. CMIP Chinese Foundation Geosci. Health Natl. Proc. RCP.. Table Tsinghua Zhou able advanced anthropogenic based bold burden capture change, changes. climate-chemistry coupled courier; denote determined different downscaled downscaling em; epidemiological estimate estimates evaluate events, events. expected extremes. finding focus given greater high-resolution implications including increased index integrated matter new nonextreme populated potential projections provides pt;} relatively represent respectively, respectively. respiratory result role scenarios use warming water window μg/m


Wunderlist 2.0
Home
Meet the Team
Wunderlist 2.0
The all in one centralized to do list app...Organize your world in a meaningful way
Sign Up!
Get in touch with the Wunderlist team.
Get in touch
This doesn't actually work, please contact us through GitHub or LinkedIn.
Name
Email
Message


They were willing to help in every way, developing a professional and beautiful website which showcases our company very well.
Charles Philips
Fleet Service of Florida
I couldn’t be happier with the work I received from Essential Customer Outreach. The web site has become such a great tool for my business. I am so in love with my branding, I receive compliments everyday.
Alex Bezianis
Casa Salsa
Setting up the site was painless and the staff always responded in a timely manner to any questions we had.


++ Super-Heavy Auxiliary Detachment -3CP (T'au Empire) [17 PL, -1CP, 345pts] ++
+ Configuration +
Detachment Command Cost [-3CP]
Sept Choice: Bork'an Sept
Shared Faction Bonus [2CP]
+ Lord of War +
Stormsurge [17 PL, 345pts]: Cluster Rocket System, Counterfire Defence System, 4x Destroyer Missile, Drone Controller, Multi-tracker, Pulse Blastcannon, 2x Smart Missile System, Target Lock, Thunderous Footfalls, Twin Airbursting Fragmentation Projector
++ Patrol Detachment 0CP (T'au Empire) [65 PL, 10CP, 1,154pts] ++
+ Configuration +
Battle Size [12CP]: 3. Strike Force (101-200 Total PL / 1001-2000 Points)
Detachment Command Cost
Gametype: Matched
Sept Choice: Bork'an Sept
+ Stratagems +
Stratagem: Emergency Dispensation [-1CP]: Additional Relics
+ No Force Org Slot +
Kroot Hounds [1 PL, 24pts]
. 4x Kroot Hound: 4x Ripping Fangs
+ HQ +
Commander in Coldstar Battlesuit [10 PL, 202pts]: 1. Precision of the Hunter, Alternating Fusion Blaster, Fusion Blaster, High-output Burst Cannon, Plasma Rifle, Plasma Rifle, Target Lock, Warlord
. Marker Drone: Markerlight
. Shield Drone: Shield Generator
Ethereal [5 PL, -1CP, 87pts]: 2. Sense of Stone, 5. Exemplar of the Kauyon, 6. Wisdom of the Guides, Honour Blade, Hover Drone, Stratagem: Promising Pupil, The Humble Stave
. Marker Drone: Markerlight
. Shield Drone: Shield Generator
+ Troops +
Kroot Carnivores [3 PL, 60pts]
. 10x Kroot: 10x Kroot Rifle, 10x Quill Grenades
+ Elites +
Crisis Battlesuits [22 PL, 346pts]
. Crisis Shas'ui: Cyclic Ion Blaster, Plasma Rifle, Plasma Rifle, Target Lock
. Crisis Shas'ui: Cyclic Ion Blaster, Plasma Rifle, Plasma Rifle, Target Lock
. Crisis Shas'ui: Cyclic Ion Blaster, Plasma Rifle, Plasma Rifle, Target Lock
. Crisis Shas'ui: Cyclic Ion Blaster, Plasma Rifle, Plasma Rifle, Target Lock
. Crisis Shas'vre: Cyclic Ion Blaster, Iridium battlesuit, Plasma Rifle, Plasma Rifle, Stimm Injectors, Target Lock
. 2x Marker Drone: 2x Markerlight
. 3x Shield Drone: 3x Shield Generator
Stealth Battlesuits [4 PL, 80pts]: Homing Beacon
. 2x Stealth Shas'ui w/ Burst Cannon: 2x Burst Cannon
. Stealth Shas'vre: Burst Cannon
+ Heavy Support +
Broadside Battlesuits [5 PL, 75pts]
. Broadside Shas'vre: Advanced Targeting System, Crushing Bulk, Heavy Rail Rifle, Stabilised Optics
Riptide Battlesuit [15 PL, 280pts]: 2x Plasma Rifle, Ion Accelerator, Multi-tracker, Riptide Fists, Target Lock, Velocity Tracker
. 2x Shielded Missile Drone: 2x Missile Pod, 2x Shield Generator
++ Total: [82 PL, 9CP, 1,499pts] ++
Created with BattleScribe (https://battlescribe.net)