summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/bwlp/thrift/iface/ImagePermissions.java
diff options
context:
space:
mode:
authorSimon Rettberg2015-06-09 18:57:14 +0200
committerSimon Rettberg2015-06-09 18:57:14 +0200
commitc121d65bb33a42c324b746f6dc5300aee68487dd (patch)
treefd72496dcf56338af387ff0345636e2d77b6ff86 /src/main/java/org/openslx/bwlp/thrift/iface/ImagePermissions.java
parentChanges for Dozmod v1.1 (diff)
downloadmaster-sync-shared-c121d65bb33a42c324b746f6dc5300aee68487dd.tar.gz
master-sync-shared-c121d65bb33a42c324b746f6dc5300aee68487dd.tar.xz
master-sync-shared-c121d65bb33a42c324b746f6dc5300aee68487dd.zip
Unified thrift definitions for master and satellite
Diffstat (limited to 'src/main/java/org/openslx/bwlp/thrift/iface/ImagePermissions.java')
-rw-r--r--src/main/java/org/openslx/bwlp/thrift/iface/ImagePermissions.java668
1 files changed, 668 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/bwlp/thrift/iface/ImagePermissions.java b/src/main/java/org/openslx/bwlp/thrift/iface/ImagePermissions.java
new file mode 100644
index 0000000..95fdaac
--- /dev/null
+++ b/src/main/java/org/openslx/bwlp/thrift/iface/ImagePermissions.java
@@ -0,0 +1,668 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.openslx.bwlp.thrift.iface;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ImagePermissions implements org.apache.thrift.TBase<ImagePermissions, ImagePermissions._Fields>, java.io.Serializable, Cloneable, Comparable<ImagePermissions> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ImagePermissions");
+
+ private static final org.apache.thrift.protocol.TField LINK_FIELD_DESC = new org.apache.thrift.protocol.TField("link", org.apache.thrift.protocol.TType.BOOL, (short)1);
+ private static final org.apache.thrift.protocol.TField DOWNLOAD_FIELD_DESC = new org.apache.thrift.protocol.TField("download", org.apache.thrift.protocol.TType.BOOL, (short)2);
+ private static final org.apache.thrift.protocol.TField EDIT_FIELD_DESC = new org.apache.thrift.protocol.TField("edit", org.apache.thrift.protocol.TType.BOOL, (short)3);
+ private static final org.apache.thrift.protocol.TField ADMIN_FIELD_DESC = new org.apache.thrift.protocol.TField("admin", org.apache.thrift.protocol.TType.BOOL, (short)4);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new ImagePermissionsStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new ImagePermissionsTupleSchemeFactory());
+ }
+
+ public boolean link; // required
+ public boolean download; // required
+ public boolean edit; // required
+ public boolean admin; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ LINK((short)1, "link"),
+ DOWNLOAD((short)2, "download"),
+ EDIT((short)3, "edit"),
+ ADMIN((short)4, "admin");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // LINK
+ return LINK;
+ case 2: // DOWNLOAD
+ return DOWNLOAD;
+ case 3: // EDIT
+ return EDIT;
+ case 4: // ADMIN
+ return ADMIN;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __LINK_ISSET_ID = 0;
+ private static final int __DOWNLOAD_ISSET_ID = 1;
+ private static final int __EDIT_ISSET_ID = 2;
+ private static final int __ADMIN_ISSET_ID = 3;
+ private byte __isset_bitfield = 0;
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.LINK, new org.apache.thrift.meta_data.FieldMetaData("link", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ tmpMap.put(_Fields.DOWNLOAD, new org.apache.thrift.meta_data.FieldMetaData("download", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ tmpMap.put(_Fields.EDIT, new org.apache.thrift.meta_data.FieldMetaData("edit", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ tmpMap.put(_Fields.ADMIN, new org.apache.thrift.meta_data.FieldMetaData("admin", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ImagePermissions.class, metaDataMap);
+ }
+
+ public ImagePermissions() {
+ }
+
+ public ImagePermissions(
+ boolean link,
+ boolean download,
+ boolean edit,
+ boolean admin)
+ {
+ this();
+ this.link = link;
+ setLinkIsSet(true);
+ this.download = download;
+ setDownloadIsSet(true);
+ this.edit = edit;
+ setEditIsSet(true);
+ this.admin = admin;
+ setAdminIsSet(true);
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public ImagePermissions(ImagePermissions other) {
+ __isset_bitfield = other.__isset_bitfield;
+ this.link = other.link;
+ this.download = other.download;
+ this.edit = other.edit;
+ this.admin = other.admin;
+ }
+
+ public ImagePermissions deepCopy() {
+ return new ImagePermissions(this);
+ }
+
+ @Override
+ public void clear() {
+ setLinkIsSet(false);
+ this.link = false;
+ setDownloadIsSet(false);
+ this.download = false;
+ setEditIsSet(false);
+ this.edit = false;
+ setAdminIsSet(false);
+ this.admin = false;
+ }
+
+ public boolean isLink() {
+ return this.link;
+ }
+
+ public ImagePermissions setLink(boolean link) {
+ this.link = link;
+ setLinkIsSet(true);
+ return this;
+ }
+
+ public void unsetLink() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LINK_ISSET_ID);
+ }
+
+ /** Returns true if field link is set (has been assigned a value) and false otherwise */
+ public boolean isSetLink() {
+ return EncodingUtils.testBit(__isset_bitfield, __LINK_ISSET_ID);
+ }
+
+ public void setLinkIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LINK_ISSET_ID, value);
+ }
+
+ public boolean isDownload() {
+ return this.download;
+ }
+
+ public ImagePermissions setDownload(boolean download) {
+ this.download = download;
+ setDownloadIsSet(true);
+ return this;
+ }
+
+ public void unsetDownload() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DOWNLOAD_ISSET_ID);
+ }
+
+ /** Returns true if field download is set (has been assigned a value) and false otherwise */
+ public boolean isSetDownload() {
+ return EncodingUtils.testBit(__isset_bitfield, __DOWNLOAD_ISSET_ID);
+ }
+
+ public void setDownloadIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DOWNLOAD_ISSET_ID, value);
+ }
+
+ public boolean isEdit() {
+ return this.edit;
+ }
+
+ public ImagePermissions setEdit(boolean edit) {
+ this.edit = edit;
+ setEditIsSet(true);
+ return this;
+ }
+
+ public void unsetEdit() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __EDIT_ISSET_ID);
+ }
+
+ /** Returns true if field edit is set (has been assigned a value) and false otherwise */
+ public boolean isSetEdit() {
+ return EncodingUtils.testBit(__isset_bitfield, __EDIT_ISSET_ID);
+ }
+
+ public void setEditIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __EDIT_ISSET_ID, value);
+ }
+
+ public boolean isAdmin() {
+ return this.admin;
+ }
+
+ public ImagePermissions setAdmin(boolean admin) {
+ this.admin = admin;
+ setAdminIsSet(true);
+ return this;
+ }
+
+ public void unsetAdmin() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ADMIN_ISSET_ID);
+ }
+
+ /** Returns true if field admin is set (has been assigned a value) and false otherwise */
+ public boolean isSetAdmin() {
+ return EncodingUtils.testBit(__isset_bitfield, __ADMIN_ISSET_ID);
+ }
+
+ public void setAdminIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ADMIN_ISSET_ID, value);
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case LINK:
+ if (value == null) {
+ unsetLink();
+ } else {
+ setLink((Boolean)value);
+ }
+ break;
+
+ case DOWNLOAD:
+ if (value == null) {
+ unsetDownload();
+ } else {
+ setDownload((Boolean)value);
+ }
+ break;
+
+ case EDIT:
+ if (value == null) {
+ unsetEdit();
+ } else {
+ setEdit((Boolean)value);
+ }
+ break;
+
+ case ADMIN:
+ if (value == null) {
+ unsetAdmin();
+ } else {
+ setAdmin((Boolean)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case LINK:
+ return Boolean.valueOf(isLink());
+
+ case DOWNLOAD:
+ return Boolean.valueOf(isDownload());
+
+ case EDIT:
+ return Boolean.valueOf(isEdit());
+
+ case ADMIN:
+ return Boolean.valueOf(isAdmin());
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case LINK:
+ return isSetLink();
+ case DOWNLOAD:
+ return isSetDownload();
+ case EDIT:
+ return isSetEdit();
+ case ADMIN:
+ return isSetAdmin();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ImagePermissions)
+ return this.equals((ImagePermissions)that);
+ return false;
+ }
+
+ public boolean equals(ImagePermissions that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_link = true;
+ boolean that_present_link = true;
+ if (this_present_link || that_present_link) {
+ if (!(this_present_link && that_present_link))
+ return false;
+ if (this.link != that.link)
+ return false;
+ }
+
+ boolean this_present_download = true;
+ boolean that_present_download = true;
+ if (this_present_download || that_present_download) {
+ if (!(this_present_download && that_present_download))
+ return false;
+ if (this.download != that.download)
+ return false;
+ }
+
+ boolean this_present_edit = true;
+ boolean that_present_edit = true;
+ if (this_present_edit || that_present_edit) {
+ if (!(this_present_edit && that_present_edit))
+ return false;
+ if (this.edit != that.edit)
+ return false;
+ }
+
+ boolean this_present_admin = true;
+ boolean that_present_admin = true;
+ if (this_present_admin || that_present_admin) {
+ if (!(this_present_admin && that_present_admin))
+ return false;
+ if (this.admin != that.admin)
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return 0;
+ }
+
+ @Override
+ public int compareTo(ImagePermissions other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetLink()).compareTo(other.isSetLink());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetLink()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.link, other.link);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetDownload()).compareTo(other.isSetDownload());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetDownload()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.download, other.download);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetEdit()).compareTo(other.isSetEdit());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetEdit()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.edit, other.edit);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetAdmin()).compareTo(other.isSetAdmin());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetAdmin()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.admin, other.admin);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("ImagePermissions(");
+ boolean first = true;
+
+ sb.append("link:");
+ sb.append(this.link);
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("download:");
+ sb.append(this.download);
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("edit:");
+ sb.append(this.edit);
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("admin:");
+ sb.append(this.admin);
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ImagePermissionsStandardSchemeFactory implements SchemeFactory {
+ public ImagePermissionsStandardScheme getScheme() {
+ return new ImagePermissionsStandardScheme();
+ }
+ }
+
+ private static class ImagePermissionsStandardScheme extends StandardScheme<ImagePermissions> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ImagePermissions struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // LINK
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.link = iprot.readBool();
+ struct.setLinkIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // DOWNLOAD
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.download = iprot.readBool();
+ struct.setDownloadIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // EDIT
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.edit = iprot.readBool();
+ struct.setEditIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // ADMIN
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.admin = iprot.readBool();
+ struct.setAdminIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, ImagePermissions struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldBegin(LINK_FIELD_DESC);
+ oprot.writeBool(struct.link);
+ oprot.writeFieldEnd();
+ oprot.writeFieldBegin(DOWNLOAD_FIELD_DESC);
+ oprot.writeBool(struct.download);
+ oprot.writeFieldEnd();
+ oprot.writeFieldBegin(EDIT_FIELD_DESC);
+ oprot.writeBool(struct.edit);
+ oprot.writeFieldEnd();
+ oprot.writeFieldBegin(ADMIN_FIELD_DESC);
+ oprot.writeBool(struct.admin);
+ oprot.writeFieldEnd();
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ImagePermissionsTupleSchemeFactory implements SchemeFactory {
+ public ImagePermissionsTupleScheme getScheme() {
+ return new ImagePermissionsTupleScheme();
+ }
+ }
+
+ private static class ImagePermissionsTupleScheme extends TupleScheme<ImagePermissions> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ImagePermissions struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ BitSet optionals = new BitSet();
+ if (struct.isSetLink()) {
+ optionals.set(0);
+ }
+ if (struct.isSetDownload()) {
+ optionals.set(1);
+ }
+ if (struct.isSetEdit()) {
+ optionals.set(2);
+ }
+ if (struct.isSetAdmin()) {
+ optionals.set(3);
+ }
+ oprot.writeBitSet(optionals, 4);
+ if (struct.isSetLink()) {
+ oprot.writeBool(struct.link);
+ }
+ if (struct.isSetDownload()) {
+ oprot.writeBool(struct.download);
+ }
+ if (struct.isSetEdit()) {
+ oprot.writeBool(struct.edit);
+ }
+ if (struct.isSetAdmin()) {
+ oprot.writeBool(struct.admin);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ImagePermissions struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ BitSet incoming = iprot.readBitSet(4);
+ if (incoming.get(0)) {
+ struct.link = iprot.readBool();
+ struct.setLinkIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.download = iprot.readBool();
+ struct.setDownloadIsSet(true);
+ }
+ if (incoming.get(2)) {
+ struct.edit = iprot.readBool();
+ struct.setEditIsSet(true);
+ }
+ if (incoming.get(3)) {
+ struct.admin = iprot.readBool();
+ struct.setAdminIsSet(true);
+ }
+ }
+ }
+
+}
+