public static final class GtfsRealtime.Alert extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<GtfsRealtime.Alert> implements GtfsRealtime.AlertOrBuilder
An alert, indicating some sort of incident in the public transit network.Protobuf type
transit_realtime.Alert| Modifier and Type | Class and Description |
|---|---|
static class |
GtfsRealtime.Alert.Builder
An alert, indicating some sort of incident in the public transit network.
|
static class |
GtfsRealtime.Alert.Cause
Cause of this alert.
|
static class |
GtfsRealtime.Alert.Effect
What is the effect of this problem on the affected entity.
|
static class |
GtfsRealtime.Alert.SeverityLevel
Severity of this alert.
|
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtensionWritercom.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable| Modifier and Type | Field and Description |
|---|---|
static int |
ACTIVE_PERIOD_FIELD_NUMBER |
static int |
CAUSE_FIELD_NUMBER |
static int |
DESCRIPTION_TEXT_FIELD_NUMBER |
static int |
EFFECT_FIELD_NUMBER |
static int |
HEADER_TEXT_FIELD_NUMBER |
static int |
INFORMED_ENTITY_FIELD_NUMBER |
static com.google.protobuf.Parser<GtfsRealtime.Alert> |
PARSER
Deprecated.
|
static int |
SEVERITY_LEVEL_FIELD_NUMBER |
static int |
TTS_DESCRIPTION_TEXT_FIELD_NUMBER |
static int |
TTS_HEADER_TEXT_FIELD_NUMBER |
static int |
URL_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
GtfsRealtime.TimeRange |
getActivePeriod(int index)
Time when the alert should be shown to the user.
|
int |
getActivePeriodCount()
Time when the alert should be shown to the user.
|
List<GtfsRealtime.TimeRange> |
getActivePeriodList()
Time when the alert should be shown to the user.
|
GtfsRealtime.TimeRangeOrBuilder |
getActivePeriodOrBuilder(int index)
Time when the alert should be shown to the user.
|
List<? extends GtfsRealtime.TimeRangeOrBuilder> |
getActivePeriodOrBuilderList()
Time when the alert should be shown to the user.
|
GtfsRealtime.Alert.Cause |
getCause()
optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE]; |
static GtfsRealtime.Alert |
getDefaultInstance() |
GtfsRealtime.Alert |
getDefaultInstanceForType() |
GtfsRealtime.TranslatedString |
getDescriptionText()
Full description for the alert as plain-text.
|
GtfsRealtime.TranslatedStringOrBuilder |
getDescriptionTextOrBuilder()
Full description for the alert as plain-text.
|
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
GtfsRealtime.Alert.Effect |
getEffect()
optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT]; |
GtfsRealtime.TranslatedString |
getHeaderText()
Alert header.
|
GtfsRealtime.TranslatedStringOrBuilder |
getHeaderTextOrBuilder()
Alert header.
|
GtfsRealtime.EntitySelector |
getInformedEntity(int index)
Entities whose users we should notify of this alert.
|
int |
getInformedEntityCount()
Entities whose users we should notify of this alert.
|
List<GtfsRealtime.EntitySelector> |
getInformedEntityList()
Entities whose users we should notify of this alert.
|
GtfsRealtime.EntitySelectorOrBuilder |
getInformedEntityOrBuilder(int index)
Entities whose users we should notify of this alert.
|
List<? extends GtfsRealtime.EntitySelectorOrBuilder> |
getInformedEntityOrBuilderList()
Entities whose users we should notify of this alert.
|
com.google.protobuf.Parser<GtfsRealtime.Alert> |
getParserForType() |
int |
getSerializedSize() |
GtfsRealtime.Alert.SeverityLevel |
getSeverityLevel()
optional .transit_realtime.Alert.SeverityLevel severity_level = 14 [default = UNKNOWN_SEVERITY]; |
GtfsRealtime.TranslatedString |
getTtsDescriptionText()
Text for full description for the alert to be used in text-to-speech implementations.
|
GtfsRealtime.TranslatedStringOrBuilder |
getTtsDescriptionTextOrBuilder()
Text for full description for the alert to be used in text-to-speech implementations.
|
GtfsRealtime.TranslatedString |
getTtsHeaderText()
Text for alert header to be used in text-to-speech implementations.
|
GtfsRealtime.TranslatedStringOrBuilder |
getTtsHeaderTextOrBuilder()
Text for alert header to be used in text-to-speech implementations.
|
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
GtfsRealtime.TranslatedString |
getUrl()
The URL which provides additional information about the alert.
|
GtfsRealtime.TranslatedStringOrBuilder |
getUrlOrBuilder()
The URL which provides additional information about the alert.
|
boolean |
hasCause()
optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE]; |
boolean |
hasDescriptionText()
Full description for the alert as plain-text.
|
boolean |
hasEffect()
optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT]; |
int |
hashCode() |
boolean |
hasHeaderText()
Alert header.
|
boolean |
hasSeverityLevel()
optional .transit_realtime.Alert.SeverityLevel severity_level = 14 [default = UNKNOWN_SEVERITY]; |
boolean |
hasTtsDescriptionText()
Text for full description for the alert to be used in text-to-speech implementations.
|
boolean |
hasTtsHeaderText()
Text for alert header to be used in text-to-speech implementations.
|
boolean |
hasUrl()
The URL which provides additional information about the alert.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static GtfsRealtime.Alert.Builder |
newBuilder() |
static GtfsRealtime.Alert.Builder |
newBuilder(GtfsRealtime.Alert prototype) |
GtfsRealtime.Alert.Builder |
newBuilderForType() |
protected GtfsRealtime.Alert.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
static GtfsRealtime.Alert |
parseDelimitedFrom(InputStream input) |
static GtfsRealtime.Alert |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static GtfsRealtime.Alert |
parseFrom(byte[] data) |
static GtfsRealtime.Alert |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static GtfsRealtime.Alert |
parseFrom(ByteBuffer data) |
static GtfsRealtime.Alert |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static GtfsRealtime.Alert |
parseFrom(com.google.protobuf.ByteString data) |
static GtfsRealtime.Alert |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static GtfsRealtime.Alert |
parseFrom(com.google.protobuf.CodedInputStream input) |
static GtfsRealtime.Alert |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static GtfsRealtime.Alert |
parseFrom(InputStream input) |
static GtfsRealtime.Alert |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<GtfsRealtime.Alert> |
parser() |
GtfsRealtime.Alert.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
extensionsAreInitialized, extensionsSerializedSize, extensionsSerializedSizeAsMessageSet, getAllFields, getAllFieldsRaw, getExtension, getExtension, getExtension, getExtension, getExtension, getExtension, getExtensionCount, getExtensionCount, getExtensionCount, getExtensionFields, getField, getRepeatedField, getRepeatedFieldCount, hasExtension, hasExtension, hasExtension, hasField, makeExtensionsImmutable, newExtensionWriter, newMessageSetExtensionWriter, parseUnknownField, parseUnknownFieldProto3canUseUnsafe, computeStringSize, computeStringSizeNoTag, getDescriptorForType, getOneofFieldDescriptor, hasOneof, internalGetMapField, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetExtension, getExtension, getExtension, getExtension, getExtension, getExtension, getExtensionCount, getExtensionCount, getExtensionCount, hasExtension, hasExtension, hasExtensionpublic static final int ACTIVE_PERIOD_FIELD_NUMBER
public static final int INFORMED_ENTITY_FIELD_NUMBER
public static final int CAUSE_FIELD_NUMBER
public static final int EFFECT_FIELD_NUMBER
public static final int URL_FIELD_NUMBER
public static final int HEADER_TEXT_FIELD_NUMBER
public static final int DESCRIPTION_TEXT_FIELD_NUMBER
public static final int TTS_HEADER_TEXT_FIELD_NUMBER
public static final int TTS_DESCRIPTION_TEXT_FIELD_NUMBER
public static final int SEVERITY_LEVEL_FIELD_NUMBER
@Deprecated public static final com.google.protobuf.Parser<GtfsRealtime.Alert> PARSER
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public List<GtfsRealtime.TimeRange> getActivePeriodList()
Time when the alert should be shown to the user. If missing, the alert will be shown as long as it appears in the feed. If multiple ranges are given, the alert will be shown during all of them.
repeated .transit_realtime.TimeRange active_period = 1;getActivePeriodList in interface GtfsRealtime.AlertOrBuilderpublic List<? extends GtfsRealtime.TimeRangeOrBuilder> getActivePeriodOrBuilderList()
Time when the alert should be shown to the user. If missing, the alert will be shown as long as it appears in the feed. If multiple ranges are given, the alert will be shown during all of them.
repeated .transit_realtime.TimeRange active_period = 1;getActivePeriodOrBuilderList in interface GtfsRealtime.AlertOrBuilderpublic int getActivePeriodCount()
Time when the alert should be shown to the user. If missing, the alert will be shown as long as it appears in the feed. If multiple ranges are given, the alert will be shown during all of them.
repeated .transit_realtime.TimeRange active_period = 1;getActivePeriodCount in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TimeRange getActivePeriod(int index)
Time when the alert should be shown to the user. If missing, the alert will be shown as long as it appears in the feed. If multiple ranges are given, the alert will be shown during all of them.
repeated .transit_realtime.TimeRange active_period = 1;getActivePeriod in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TimeRangeOrBuilder getActivePeriodOrBuilder(int index)
Time when the alert should be shown to the user. If missing, the alert will be shown as long as it appears in the feed. If multiple ranges are given, the alert will be shown during all of them.
repeated .transit_realtime.TimeRange active_period = 1;getActivePeriodOrBuilder in interface GtfsRealtime.AlertOrBuilderpublic List<GtfsRealtime.EntitySelector> getInformedEntityList()
Entities whose users we should notify of this alert.
repeated .transit_realtime.EntitySelector informed_entity = 5;getInformedEntityList in interface GtfsRealtime.AlertOrBuilderpublic List<? extends GtfsRealtime.EntitySelectorOrBuilder> getInformedEntityOrBuilderList()
Entities whose users we should notify of this alert.
repeated .transit_realtime.EntitySelector informed_entity = 5;getInformedEntityOrBuilderList in interface GtfsRealtime.AlertOrBuilderpublic int getInformedEntityCount()
Entities whose users we should notify of this alert.
repeated .transit_realtime.EntitySelector informed_entity = 5;getInformedEntityCount in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.EntitySelector getInformedEntity(int index)
Entities whose users we should notify of this alert.
repeated .transit_realtime.EntitySelector informed_entity = 5;getInformedEntity in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.EntitySelectorOrBuilder getInformedEntityOrBuilder(int index)
Entities whose users we should notify of this alert.
repeated .transit_realtime.EntitySelector informed_entity = 5;getInformedEntityOrBuilder in interface GtfsRealtime.AlertOrBuilderpublic boolean hasCause()
optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];hasCause in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.Alert.Cause getCause()
optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];getCause in interface GtfsRealtime.AlertOrBuilderpublic boolean hasEffect()
optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];hasEffect in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.Alert.Effect getEffect()
optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];getEffect in interface GtfsRealtime.AlertOrBuilderpublic boolean hasUrl()
The URL which provides additional information about the alert.
optional .transit_realtime.TranslatedString url = 8;hasUrl in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedString getUrl()
The URL which provides additional information about the alert.
optional .transit_realtime.TranslatedString url = 8;getUrl in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedStringOrBuilder getUrlOrBuilder()
The URL which provides additional information about the alert.
optional .transit_realtime.TranslatedString url = 8;getUrlOrBuilder in interface GtfsRealtime.AlertOrBuilderpublic boolean hasHeaderText()
Alert header. Contains a short summary of the alert text as plain-text.
optional .transit_realtime.TranslatedString header_text = 10;hasHeaderText in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedString getHeaderText()
Alert header. Contains a short summary of the alert text as plain-text.
optional .transit_realtime.TranslatedString header_text = 10;getHeaderText in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedStringOrBuilder getHeaderTextOrBuilder()
Alert header. Contains a short summary of the alert text as plain-text.
optional .transit_realtime.TranslatedString header_text = 10;getHeaderTextOrBuilder in interface GtfsRealtime.AlertOrBuilderpublic boolean hasDescriptionText()
Full description for the alert as plain-text. The information in the description should add to the information of the header.
optional .transit_realtime.TranslatedString description_text = 11;hasDescriptionText in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedString getDescriptionText()
Full description for the alert as plain-text. The information in the description should add to the information of the header.
optional .transit_realtime.TranslatedString description_text = 11;getDescriptionText in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedStringOrBuilder getDescriptionTextOrBuilder()
Full description for the alert as plain-text. The information in the description should add to the information of the header.
optional .transit_realtime.TranslatedString description_text = 11;getDescriptionTextOrBuilder in interface GtfsRealtime.AlertOrBuilderpublic boolean hasTtsHeaderText()
Text for alert header to be used in text-to-speech implementations. This field is the text-to-speech version of header_text. This field is still experimental, and subject to change. It may be formally adopted in the future.
optional .transit_realtime.TranslatedString tts_header_text = 12;hasTtsHeaderText in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedString getTtsHeaderText()
Text for alert header to be used in text-to-speech implementations. This field is the text-to-speech version of header_text. This field is still experimental, and subject to change. It may be formally adopted in the future.
optional .transit_realtime.TranslatedString tts_header_text = 12;getTtsHeaderText in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedStringOrBuilder getTtsHeaderTextOrBuilder()
Text for alert header to be used in text-to-speech implementations. This field is the text-to-speech version of header_text. This field is still experimental, and subject to change. It may be formally adopted in the future.
optional .transit_realtime.TranslatedString tts_header_text = 12;getTtsHeaderTextOrBuilder in interface GtfsRealtime.AlertOrBuilderpublic boolean hasTtsDescriptionText()
Text for full description for the alert to be used in text-to-speech implementations. This field is the text-to-speech version of description_text. This field is still experimental, and subject to change. It may be formally adopted in the future.
optional .transit_realtime.TranslatedString tts_description_text = 13;hasTtsDescriptionText in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedString getTtsDescriptionText()
Text for full description for the alert to be used in text-to-speech implementations. This field is the text-to-speech version of description_text. This field is still experimental, and subject to change. It may be formally adopted in the future.
optional .transit_realtime.TranslatedString tts_description_text = 13;getTtsDescriptionText in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.TranslatedStringOrBuilder getTtsDescriptionTextOrBuilder()
Text for full description for the alert to be used in text-to-speech implementations. This field is the text-to-speech version of description_text. This field is still experimental, and subject to change. It may be formally adopted in the future.
optional .transit_realtime.TranslatedString tts_description_text = 13;getTtsDescriptionTextOrBuilder in interface GtfsRealtime.AlertOrBuilderpublic boolean hasSeverityLevel()
optional .transit_realtime.Alert.SeverityLevel severity_level = 14 [default = UNKNOWN_SEVERITY];hasSeverityLevel in interface GtfsRealtime.AlertOrBuilderpublic GtfsRealtime.Alert.SeverityLevel getSeverityLevel()
optional .transit_realtime.Alert.SeverityLevel severity_level = 14 [default = UNKNOWN_SEVERITY];getSeverityLevel in interface GtfsRealtime.AlertOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.ExtendableMessage<GtfsRealtime.Alert>public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static GtfsRealtime.Alert parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static GtfsRealtime.Alert parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static GtfsRealtime.Alert parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static GtfsRealtime.Alert parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static GtfsRealtime.Alert parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static GtfsRealtime.Alert parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static GtfsRealtime.Alert parseFrom(InputStream input) throws IOException
IOExceptionpublic static GtfsRealtime.Alert parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static GtfsRealtime.Alert parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static GtfsRealtime.Alert parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static GtfsRealtime.Alert parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static GtfsRealtime.Alert parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic GtfsRealtime.Alert.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static GtfsRealtime.Alert.Builder newBuilder()
public static GtfsRealtime.Alert.Builder newBuilder(GtfsRealtime.Alert prototype)
public GtfsRealtime.Alert.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected GtfsRealtime.Alert.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static GtfsRealtime.Alert getDefaultInstance()
public static com.google.protobuf.Parser<GtfsRealtime.Alert> parser()
public com.google.protobuf.Parser<GtfsRealtime.Alert> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public GtfsRealtime.Alert getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<GtfsRealtime.Alert>getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2019. All rights reserved.