Analog Devices, Inc. (“ADI”)
Object Code Software License Agreement
20160115-LWOC-CTSLA
DOWNLOADING, REPRODUCING, DISTRIBUTING OR OTHERWISE USING THE SOFTWARE
CONSTITUTES ACCEPTANCE OF THIS LICENSE.  THE SOFTWARE MAY NOT BE USED EXCEPT AS
EXPRESSLY AUTHORIZED UNDER THIS LICENSE.

The software is protected by copyright law and international copyright
treaties.

1. License:  Subject to the terms and conditions of this license, the software
may be reproduced and distributed in object code form only.

2. Conditions:
(a) The software that is distributed shall be subject to the terms and
conditions of this license.
(b) The software may not be combined or merged with other software in any
manner that would cause the software to become subject to terms and conditions
which differ from those of this license.
(c) The software is licensed solely and exclusively as integrated into
Licensee’s products for use with amplifiers manufactured by or for ADI.
(d) Licensee shall not use the name or any trademark of ADI (including those of
its licensors) or any contributor to endorse or promote products without prior
written consent of the owner of the name or trademark.  The term
“contributor” means any person or entity that distributes the software.
(g) Use of the software may or may not infringe patent rights of one or more
patent holders.  This license does not alleviate the obligation to obtain
separate licenses from patent holders to use the software.
(h) All rights not expressly granted hereunder are reserved.
(i) This license shall be governed by the laws of Massachusetts, without regard
to its conflict of laws rules.  The software shall only be used in compliance
with all applicable laws and regulations, including without limitation export
control laws.

3. WARRANTY DISCLAIMER: THE SOFTWARE AND ANY RELATED INFORMATION AND/OR ADVICE
IS PROVIDED ON AN “AS IS” BASIS, WITHOUT REPRESENTATIONS, GUARANTEES OR
WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, ORAL OR WRITTEN, INCLUDING WITHOUT
LIMITATION, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
TITLE AND NON-INFRINGEMENT. There is no obligation to provide software support
or updates.  The Software is not fault-tolerant and is not intended for use in
high risk applications, including without limitation in the operation of
nuclear facilities, aircraft navigation or control systems, air traffic
control, life support machines, weapons systems or any other application in
which the failure of the software could lead to death, personal injury, or
severe physical or environmental damages.  The software is not authorized to be
used under such circumstances.

4. LIMITATION OF LIABILITY: TO THE MAXIMUM EXTENT PERMITTED BY LAW ADI
(INCLUDING ITS LICENSORS) AND CONTRIBUTORS SHALL NOT BE LIABLE FOR ANY DAMAGES
ARISING FROM OR RELATED TO THE SOFTWARE, ITS USE OR ANY RELATED INFORMATION
AND/OR SERVICES, INCLUDING BUT NOT LIMITED TO ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, PUNITIVE, EXEMPLARY, CONSEQUENTIAL OR ANALOGOUS DAMAGES (INCLUDING
WITHOUT LIMITATION ANY DAMAGES RESULTING FROM LOSS OF USE, DATA, REVENUE,
PROFITS, OR SAVINGS, COMPUTER DAMAGE OR ANY OTHER CAUSE), UNDER ANY LEGAL
THEORY (INCLUDING WITHOUT LIMITATION CONTRACT, WARRANTY, TORT, NEGLIGENCE,
STRICT OR PRODUCT LIABILITY), EVEN IF IT HAS BEEN INFORMED OF THE POSSIBILITY
OF SUCH DAMAGES.  Some jurisdictions do not permit the exclusion or limitation
of liability for consequential, incidental or other damages, and, as such, some
portion of the above limitation may not apply.  In such jurisdictions,
liability is limited to the greatest extent permitted by law.
5.  Third Party Software:  The software may be accompanied by or include
software made available by one or more third parties (“Third Party
Software”).  Each portion of Third Party Software is subject to its own
separate software license terms and conditions (“Third Party Licenses”).
The Third Party Licenses for Third Party Software delivered with the software
are set forth or identified (by url or otherwise) in (i) Appendix A to this
license (if any), (ii) the applicable software header or footer text, (iii) a
text file located in the directory of the applicable Third Party Software
component and/or (iv) such other location customarily used for licensing terms.
The use of each portion of Third Party Software is subject to the Third Party
Licenses, and you agree that your use of any Third Party Software is bound by
the applicable Third Party License.  You agree to review and comply with all
applicable Third Party Licenses prior to any use or distribution of any Third
Party Software.  Third Party Software is provided on an “as is” basis
without any representation, warranty or liability of any kind.  ADI (including
its licensors) and contributors shall have no liability or responsibility for
the operation or performance of the Third Party Software and shall not be
liable for any damages, costs, or expenses, direct or indirect, arising out of
the performance or failure to perform of the Third Party Software.  ADI
(including its licensors) and contributors shall be entitled to the benefit of
any and all limitations of liability and disclaimers of warranties contained in
the Third Party Licenses. For the avoidance of doubt, this license does not
alter, limit or expand the terms and conditions of, or rights granted to you
pursuant to, Third Party Licenses.

20120511-LWSC-CTSLA	Page 2 of 2
